GitHub Copilot разрешил сервисам работать от имени организации

GitHub Copilot разрешил сервисам работать от имени организации
Содержание статьи

27 октября GitHub представил серверную авторизацию для Copilot в режиме public preview. Сервисы и агенты на Copilot SDK могут отправлять запросы от имени организации через установленное GitHub App. Личная учётная запись вошедшего пользователя для этого не требуется. На Mentoring.digital объясняем устройство нового доступа и ограничения, которые важно проверить до подключения.

Доступ принадлежит приложению

Для внешнего сервиса нужно GitHub App с организационным разрешением Copilot Requests уровня Read-only. Приложение устанавливают в организацию, затем передают SDK короткоживущий installation access token. Организация должна поддерживать запросы Copilot от установленных приложений.

Такой токен действует один час. Длительно работающему сервису нужен предусмотренный механизм обновления токена. Это не означает выдачу приложению любых прав на репозитории: доступ к Copilot и разрешения для других операций следует рассматривать отдельно.

Расходы и контроль остаются у организации

Использование относится к организации, которой принадлежит установка, и оплачивается ею. Действуют её политики моделей, бюджеты и ограничения расходов. В CSV-отчёте об использовании ИИ приложение можно отличить по app_client_id.

Владелец организации может проверить доступ приложений и остановить его, приостановив или удалив установку. Перед пилотом полезно определить ответственного за приложение, предел расходов и способ отзыва доступа. Это редакционная рекомендация для эксплуатации, а не результат проведённого нами внедрения.

У GitHub Actions свой сценарий

Документация отдельно описывает работу внутри GitHub Actions: для репозитория организации используется штатный GITHUB_TOKEN с разрешением copilot-requests: write. Для этого должна быть включена организационная политика использования Copilot CLI с оплатой организацией. В этом сценарии отдельное GitHub App и сохранённый секрет авторизации не нужны.

Для внешнего SDK параметр useLoggedInUser: false отключает автоматический поиск пользовательских учётных данных, включая токены из переменных окружения. Тогда токен передают явно в соответствующий параметр SDK. Начать проверку лучше с отдельного тестового задания, обработки истечения токена и сверки отчёта расходов. Разобрать такую интеграцию можно с ментором по автоматизации инфраструктуры.

Похожие статьи по данной теме