Вход и токены
Как сотрудники входят в Баунс и чем аутентифицируется всё остальное: персональные токены, токены демона и токены задачи.
Сотрудники входят в Баунс по почте, всё остальное — по токену. Ниже обе половины: как устроен вход и чем аутентифицируются CLI, скрипты, REST API, демоны и работающие агенты.
Вход в аккаунт
Паролей нет. Вы вводите адрес почты, получаете шестизначный код и подтверждаете им вход.
- Код действует 10 минут. Если он не пришёл или истёк, его можно запросить повторно — кнопка становится активной через небольшую паузу.
- Аккаунт создаётся при первом входе — заранее регистрироваться не нужно. Приглашённому коллеге достаточно открыть ссылку из письма.
- Вход через Google доступен, если администратор включил его на вашем сервере.
- Десктопное приложение входит через тот же браузерный вход и передаёт сессию себе.
Кто может войти
В корпоративном контуре администратор ограничивает вход на уровне сервера:
- Список разрешённых доменов или адресов — войти смогут только сотрудники с почтой из этого списка.
- Отключённая регистрация — новые сотрудники попадают внутрь только по приглашению в рабочее пространство.
Токены
Всё, что работает без браузера, аутентифицируется токеном. Видов три, и они не взаимозаменяемы.
| Токен | Префикс | Где появляется | До чего дотягивается |
|---|---|---|---|
| Персональный (PAT) | bnp_ | Настройки → API-токены или bounc login | Всё, что можете вы, во всех ваших рабочих пространствах |
| Демона | bnd_ | Выпускается при регистрации рантайма | Одно рабочее пространство, операции демона |
| Пропуск хода | bnt_ | Выпускается на каждый ход агента, отзывается по его концу | Один ход в одном рабочем пространстве |
На сервере хранится только SHA-256-хеш токена, поэтому полное значение показывается ровно один раз — при создании.
Персональный токен
PAT представляет вас целиком: он дотягивается до каждого рабочего пространства, где вы состоите, и может всё, что можете вы. Это учётные данные для CLI, скриптов и прямых вызовов REST.
- Создание — в Настройках → API-токены: имя и срок действия (30 дней, 90 дней, год или
«Бессрочный» последним, с предупреждением). Если срок в запросе не указан, токен живёт 90 дней;
бессрочный просят по имени (
never_expiresв API,--never-expiresвbounc auth token create), и он попадает в журнал организации.bounc loginвыпускает такой токен сам. - Использование в REST — заголовком
Authorization: Bearer bnp_…. - Отзыв — там же, по кнопке. Отзыв необратим и мгновенно ломает всё, что этим токеном пользовалось.
- Учёт — в списке видны префикс, дата создания, дата последнего использования и срок.
Продление
Токен со сроком не продлевается сам по себе от того, что им пользуются. Продление — отдельная операция, и её делает демон: если до истечения PAT его оператора осталось меньше 7 дней, демон продлевает токен ещё на 90 дней. Так долгоживущая машина не отваливается посреди ночи.
Бессрочный токен не истекает никогда и в продлении не нуждается. Продлевать можно только персональные токены — у токенов демона и задачи свой жизненный цикл.
Полное значение PAT показывается один раз. Сервер хранит только хеш и не может восстановить оригинал — скопируйте токен сразу, а при утере отзовите и создайте новый.
Токен демона
Выдаётся, когда демон регистрирует машину, и привязан к одному рабочему пространству. Умеет ровно то, что нужно демону: забирать запуски из очереди и сообщать результаты. По другим вашим пространствам, в отличие от PAT, он не ходит.
Управлять им вручную не нужно — демон выпускает и обновляет его сам в рамках регистрации. Подставлять вместо него персональный токен не следует: это дало бы процессу на машине куда больше прав, чем ему требуется.
Пропуск хода
Выпускается на каждый ход агента и отзывается, когда ход кончается. Он не покидает песочницу хода, и любое действие агента с ним приписывается агенту в этом ходе: сообщения, смену статуса и правки видно как действия агента, а не человека.
Агент — не тот человек, на которого он работает. Пропуск несёт идентификатор ответственного за ход, но права проверяются по самому агенту: он не получает доступ к тому, что доступно этому человеку. Поэтому приватного агента другого участника нельзя «одолжить» через агента своего.
Что выбрать
- CLI, скрипт, интеграция по REST — персональный токен. В CI выпускайте отдельный токен со сроком, а не переиспользуйте свой рабочий.
- Машина с демоном — ничего не выбирайте: демон выпустит собственный токен при регистрации.
- Внутри запуска агента — токен уже в окружении, трогать его вручную незачем.
Далее
- Справочник CLI — как CLI аутентифицируется и где живут профили.
- API — тот же токен поверх HTTP.
- Компьютеры и машины — откуда берётся токен демона.