Синхронизация команд
Если ваша компания использует платформу идентификации Microsoft Entra или Okta в качестве поставщика удостоверений (IdP), вы можете управлять членством команды GitHub через синхронизацию команд. При включении синхронизация команд автоматически отражает изменения в группах провайдера удостоверений на GitHub, уменьшая необходимость в обновлениях вручную или пользовательских скриптах. Этот централизованный подход упрощает подключение, управление разрешениями и отзыв доступа.
| Функция | Описание |
|---|---|
| Синхронизация пользователей | Сохранение соответствия GitHub Teams с членством в группах idP (например, Active Directory) |
| Синхронизация в новой команде | Автоматическое заполнение команд при создании |
| Настраиваемое сопоставление команд | Используйте syncmap.yml для определения пользовательских сопоставлений между обозначениями команд и именами групп |
| Динамическая конфигурация | Используйте файл settings для получения параметров синхронизации из структуры каталогов |
Варианты использования синхронизации команд
Синхронизация команд идеально подходит для предприятий, желающих упростить управление членством в организациях GitHub. Администраторы могут сопоставлять команды GitHub с группами idP и автоматически управлять членством. Это полезно для:
- Подключение новых сотрудников
- Настройка доступа по мере перемещения пользователей между командами
- Удаление пользователей, которые покидают организацию
⚠️ Чтобы использовать командную синхронизацию, администратор ПУ (поставщика удостоверений) должен включить единый вход SAML и SCIM.
Корпоративные управляемые пользователи и корпоративный сервер GitHub Enterprise Server
Синхронизация команд также доступна для организаций и корпоративных учетных записей, использующих GitHub Enterprise Cloud или GitHub Enterprise Server (GHE.com), что является предпочтительным решением в регионах, где оно доступно или требуется по соображениям соответствия требованиям.
Корпоративные управляемые пользователи (EMUS) — это функция GitHub Enterprise Cloud, которая обеспечивает предприятиям полный контроль над удостоверениями пользователей и жизненным циклом учетной записи. При использовании emus учетные записи GitHub полностью управляются поставщиком удостоверений предприятия (IdP). Это означает, что пользователи не регистрируется в GitHub вручную— все пользовательские подготовки, доступа и отключения автоматически выполняются с помощью таких средств, как Идентификатор Microsoft Entra или Okta.
ЭмУ идеально подходят для организаций с строгими требованиями к соответствию, аудиту или управлению пользователями. Они помогают обеспечить следующее:
- Все учетные записи принадлежат предприятиям
- Доступ автоматически предоставляется или удаляется на основе членства поставщика удостоверений
- Внешняя совместная работа не выполняется непреднамеренно
При использовании EMUS:
- Управляемые пользователи не могут отправлять код в репозитории или вилки за пределами предприятия.
- Они могут взаимодействовать только с другими пользователями и ресурсами внутри предприятия
Вы можете управлять организацией на основе EMU и членством в команде с помощью групп в поставщика удостоверений и при необходимости интегрировать синхронизацию групп для автоматизации сопоставления групп между группами.
Для организаций с требованиями к самостоятельному размещению или определенным региональным нормативным требованиям GitHub Enterprise Server (GHE.com) предлагает локальное решение, которое позволяет обеспечить полный контроль над средой GitHub.
Дополнительные сведения см. в статье "Начало работы с облаком GitHub Enterprise" и "О GitHub Enterprise Server".
Синхронизация команд и SCIM для GHES
В GitHub Enterprise Server (GHES) управление доступом пользователей и членством в команде можно достичь с помощью различных методов, включая синхронизацию команд и систему для управления междоменной идентификацией (SCIM). Понимание этих методов важно для эффективного администрирования.
Синхронизация команд в GHES
Синхронизация команд позволяет связать команды GitHub с группами в провайдере идентификации (IdP). Эта интеграция обеспечивает, что любые изменения в группе поставщика удостоверений, такие как добавление или удаление участников, автоматически отражаются в соответствующей команде GitHub. Такой подход упрощает управление командами путем централизованного управления доступом пользователей в рамках поставщика удостоверений.
Однако важно отметить, что синхронизация команд не является службой предоставления пользователей и в большинстве случаев не приглашает не-участников присоединиться к организациям. Таким образом, пользователь будет успешно добавлен в команду, если он уже является членом организации.
Рассмотрим следующий сценарий, чтобы понять, как работает синхронизация команд на практике:
- Когда группа Azure AD "DevOps Engineers" сопоставляется с командой GitHub "DevOps"
- Когда Алису добавляют в группу IdP, её автоматически добавляют в команду GitHub.
- Когда она покидает группу, → автоматически удалена из команды
Замечание
Группа синхронизации в GHES не подготавливает учетные записи. Пользователи должны быть участниками организации GitHub.
Включение синхронизации команд
- Включите SAML, единый вход (SSO) и SCIM в вашем поставщике удостоверений.
- Сопоставление команд GitHub с группами idP с помощью пользовательского интерфейса или API GitHub.
- Изменения в составе групп автоматически синхронизируются с GitHub.
Поддерживаемые поставщики удостоверений:
- Идентификатор Microsoft Entra: требуются разрешения для чтения профилей и доступа к каталогу.
- Okta: требуется SAML SSO, SCIM, URL-адрес клиента и токен SSWS для единого входа с доступом администратора только для чтения.
Отключение синхронизации команд
Чтобы отключить:
- Перейдите в раздел "Параметры>Безопасность организации"
- Нажмите кнопку "Отключить синхронизацию групп"
Замечание
Отключение синхронизации удаляет пользователей из команд, если они были добавлены через сопоставление с поставщиком удостоверений (IdP).
SCIM в GHES
SCIM — это открытый стандартный протокол, предназначенный для автоматизации обмена данными об удостоверениях пользователей между доменами удостоверений и ИТ-системами. В контексте GHES SCIM позволяет администраторам подготавливать, обновлять и отменять учетные записи пользователей непосредственно через API GitHub. Это означает, что вы можете создавать, обновлять и удалять учетные записи пользователей, а также синхронизировать сведения о группах для сопоставления членства в группах GitHub.
SCIM полезна для управления жизненным циклом пользователей в масштабе, обеспечивая согласованность данных пользователей в системах.
Рассмотрим следующий сценарий, чтобы понять, как работает SCIM на практике:
- Интеграция с Okta SCIM автоматически предоставляет пользователей GitHub.
- Боб добавлен в Okta → учетная запись GitHub подготовлена
- Боб изменяет роли – обновление доступа и команд
- Боб уходит → учетная запись отключается
Ключевое преимущество: Полная автоматизация управления жизненным циклом учетных записей.
Team Sync vs. Group SCIM
GitHub поддерживает два основных подхода к интеграции удостоверений:
- Синхронизация групп: ориентирована на синхронизацию членства в группах GitHub
- Группа SCIM: ориентирована на полное управление жизненным циклом пользователей и групп
Различия между синхронизацией команд и группой SCIM
| Функция | Синхронизация команды | Группа SCIM |
|---|---|---|
| Фокус | Сопоставление на уровне команды | Подготовка пользователей и групп |
| Настройка | Ручное сопоставление групп с командами | Автоматизация через настройку SCIM IdP |
| Уровень автоматизации | Синхронизирует только членство в группах | Полная автоматизация жизненного цикла |
| Идеальный вариант использования | Управление командами GitHub | Крупные организации с высоким оборотом пользователей |
| Депровизирование | Зависимый вручную или от группы удостоверений системы IdP | Полностью автоматизировано |
| Модель идентификации | Классическое | Управляемые пользователи |
Выбор правильного подхода
Выбор между Team Sync и GROUP SCIM зависит от потребностей организации, размера и существующей инфраструктуры управления удостоверениями:
| Вариант использования | Рекомендуемое решение |
|---|---|
| Управление доступом к репозиторию командами | Синхронизация команды |
| Автоматизация жизненного цикла пользователя | Группа SCIM |
| Требуется полное управление на основе удостоверяющего центра | Группа SCIM |
| GitHub Teams является ключевым элементом рабочего процесса | Синхронизация команды |
Ограничения использования
При использовании синхронизации команд обратите внимание на следующие ограничения:
- Максимальное количество участников в каждой команде: 5000
- Максимальное число участников для каждой организации: 10 000
- Максимальное число команд на организацию: 1500
Превышение этих значений может привести к проблемам с производительностью или сбоям синхронизации.