Buff Development

Безопасность и приватность

Изоляция, доступ, публикация и то, что добавляют интеграции в вашей сети.

Автономность не отменяет контроль. Ключевые принципы:

  • Двухфакторный вход по коду на email — или единый вход через ваш корпоративный провайдер (OIDC / SAML 2.0): пароли сотрудников остаются у вас, аккаунты создаются при первом входе, вход по паролю участникам можно закрыть. См. Единый вход.
  • Журнал аудита — кто, когда, откуда и что сделал в организации, включая отказы; записи не редактируются и не удаляются, каждая связана с предыдущей хэшем. Владелец читает и выгружает его сам, без запроса в поддержку. См. Журнал аудита.
  • Изоляция по организациям — отдельное пространство на каждую организацию; данные и трафик не пересекаются.
  • Доступ по ролям — вы решаете, кто и что может делать в проекте.
  • Ничего не публикуется без одобрения — изменения попадают в ваш репозиторий только после решения «одобрить» на ревью.
  • Токены на запись — ключи доступа к вашим репозиториям хранятся только на запись и не читаются обратно.
  • Коннектор — вместо передачи токенов. Если git не должен быть доступен нам вовсе, запустите агент у себя: токен останется в вашей сети.

Что добавляют интеграции

Интеграция — это код, который выполняется на вашей машине, поэтому вопрос «что именно расширяет поверхность» законный. Расширяют три вещи, и у каждой есть граница:

Что добавляетсяЧем ограничено
Чужой код на вашей машинекомплект подписан нашим ключом; открытый ключ вшит в агент, подпись проверяется до распаковки. Версия отзывается через подписанный список отзывов
Доступ к вашему трекеруучётной записью, которую вы завели боту, и списком репозиториев/проектов в подключении — он работает в обе стороны и пустым означает «нигде»
Исходящие запросыправилом из манифеста: хост берётся из вашего же поля в форме, плюс разрешённые методы и префиксы путей. Link-local адреса (метаданные облаков) запрещены всегда

Механика — по пунктам, включая права на каталоги, пользователей ОС и то, чего изоляция не даёт: «Изоляция и границы доступа».

Два свойства, которые стоит знать заранее:

  • Интеграция не видит секретов. Исходящий запрос собирает коннектор и подставляет учётные данные сам; заголовок авторизации, выставленный интеграцией, вычёркивается.
  • Модели не отдаётся ни один пишущий инструмент — ни на одной стадии. Ответ в тикет пишет коннектор по команде платформы, а не модель (почему так).

Если интеграций нет, ничего из этого не появляется: коннектор без установленных плагинов — это git-мост и ничего больше.

Хранение и удаление данных

Импортированный код лежит в изолированном пространстве вашей организации. Удаление копии по письменному запросу владельца организации — в течение 30 дней, из резервных копий — в течение 90.

On this page