Синхронизация команд

Завершено

Если ваша компания использует платформу идентификации 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.

Включение синхронизации команд

  1. Включите SAML, единый вход (SSO) и SCIM в вашем поставщике удостоверений.
  2. Сопоставление команд GitHub с группами idP с помощью пользовательского интерфейса или API GitHub.
  3. Изменения в составе групп автоматически синхронизируются с GitHub.

Поддерживаемые поставщики удостоверений:

  • Идентификатор Microsoft Entra: требуются разрешения для чтения профилей и доступа к каталогу.
  • Okta: требуется SAML SSO, SCIM, URL-адрес клиента и токен SSWS для единого входа с доступом администратора только для чтения.

Отключение синхронизации команд

Чтобы отключить:

  1. Перейдите в раздел "Параметры>Безопасность организации"
  2. Нажмите кнопку "Отключить синхронизацию групп"

Снимок экрана: параметр организации для отключения синхронизации группы.

Замечание

Отключение синхронизации удаляет пользователей из команд, если они были добавлены через сопоставление с поставщиком удостоверений (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

Превышение этих значений может привести к проблемам с производительностью или сбоям синхронизации.