Сведения о подготовке пользователей для GitHub Enterprise Server
Если вы используете единый вход SAML для ваш экземпляр GitHub Enterprise Server, вы можете настроить SCIM для автоматического создания или приостановки учетных записей пользователей и предоставления доступа к экземпляру при назначении или отмене назначения приложения на поставщике удостоверений. Дополнительные сведения о SCIM можно найти на странице System for Cross-domain Identity Management: протокол (RFC 7644) на веб-сайте IETF.
Если вы не настраиваете подготовку пользователей с помощью SCIM, ваш идентификатор не будет взаимодействовать с GitHub Enterprise Server автоматически при назначении или отмене назначения приложения пользователю. Без SCIM GitHub Enterprise Server создает учетную запись пользователя с помощью JIT-подготовки SAML при первом переходе к GitHub Enterprise Server и войдите, выполнив проверку подлинности через поставщик удостоверений.
Чтобы настроить подготовку для вашей организации, необходимо включить подготовку на GitHub Enterprise Server, а затем установить и настроить приложение подготовки для поставщика удостоверений или настроить подготовку SCIM вручную с помощью конечных точек REST API GitHubREST API для SCIM.
Поддерживаемые поставщики удостоверений
GitHub сотрудничает с некоторыми разработчиками систем управления удостоверениями, чтобы обеспечить интеграцию "проложенный путь" с GitHub Enterprise Server. Чтобы упростить конфигурацию и обеспечить полную поддержку, используйте единый идентификатор партнера для проверки подлинности и подготовки.
Поставщики удостоверений партнеров
Следующие поставщики удостоверений — это поставщики удостоверений партнеров. Они предлагают приложение, которое можно использовать для настройки проверки подлинности SAML и подготовки SCIM.
- Microsoft Entra ID
- Okta
- PingFederate (public preview)
При использовании единого поставщика удостоверений для проверки подлинности и подготовки GitHub обеспечивает поддержку приложения для поставщика удостоверений и интеграции поставщика удостоверений с GitHub. Одно и то же приложение должно использоваться как для SAML-аутентификации, так и для предоставления SCIM. Поддержка PingFederate находится в public preview.
У нас нет поддерживаемого партнёрского приложения при использовании Entra ID для Azure Government.
Другие системы управления удостоверениями
Если для проверки подлинности и подготовки нельзя использовать единый партнер idP, можно использовать другую систему управления удостоверениями или комбинацию систем. Система должна:
- Соблюдайте правила интеграции GitHub.
- Предоставление проверки подлинности с помощью SAML, привязывание к спецификации SAML 2.0
- Предоставьте управление жизненным циклом пользователей с помощью SCIM, придерживаясь спецификации SCIM 2.0 и взаимодействуя с GitHubREST API (см . AUTOTITLE)
Как управлять жизненным циклом пользователей с помощью SCIM?
С помощью SCIM вы управляете жизненным циклом учетных записей пользователей из поставщика удостоверений:
- При подготовке нового пользователя idP предложит ваш экземпляр GitHub Enterprise Server создать учетную запись и отправить пользователю сообщение электронной почты. Если вы назначаете приложению группу в идентификаторе поставщика удостоверений, ваш идентификатор будет подготавливать учетные записи для всех участников группы.
- При обновлении сведений, связанных с удостоверением пользователя в идентификаторе поставщика удостоверений, ваш idP обновит учетную запись пользователя на GitHub.
- Если вы отменяете назначение пользователя из приложения IdP или деактивируете учетную запись пользователя в idP, ваш идентификатор будет взаимодействовать с GitHub для отмены сеансов и отключения учетной записи участника. Сведения об отключенной учетной записи сохраняются, а имя пользователя изменяется на хэш исходного имени пользователя.
- Если вы переназначите пользователя приложению IdP или повторно активируете свою учетную запись в идентификаторе поставщика удостоверений, учетная запись пользователя будет повторно активирована, а имя пользователя будет восстановлено.
Чтобы настроить членство в команде и организации, доступ к репозиторию и разрешения, можно использовать группы для поставщика удостоверений. Дополнительные сведения см. в разделе Управление членством в группах поставщиков удостоверений.
Если scIM включен, вы больше не сможете удалять, приостанавливать или продвигать пользователей, подготовленных SCIM, непосредственно на GitHub Enterprise Server. Эти процессы необходимо управлять из поставщика удостоверений. Если возникла проблема с идентификатором поставщика удостоверений и вам нужно напрямую управлять пользователем, вам потребуется использовать REST API SCIM для управления удостоверениями пользователей на устройстве (см . AUTOTITLE).
Чтобы просмотреть приостановленные члены, перейдите на вкладку "Приостановленные члены" параметров предприятия. Эта страница будет присутствовать при включении SCIM в GitHub Enterprise Server.
- В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
- В левой части страницы на боковой панели учетной записи предприятия щелкните People.
- Нажмите кнопку "Приостановленные члены".
Что происходит при включении SCIM?
Если вы используете единый вход SAML и включите SCIM, следует знать, что происходит с существующими учетными записями пользователей на GitHub Enterprise Server после включения SCIM.
- Существующие пользователи с сопоставлениями SAML не смогут войти, пока их удостоверения не были подготовлены SCIM.
- Существующие пользователи, созданные с помощью встроенной проверки подлинности, смогут войти только в том случае, если встроенная проверка подлинности по-прежнему включена.
- GitHub Enterprise Server больше не будет хранить сопоставления SAML для пользователей. Вместо этого удостоверения SCIM будут храниться для пользователей при подготовке пользователя.
- Вы больше не увидите раздел "Проверка подлинности SAML" на
https://HOSTNAME/users/USER/securityстранице администратора сайта для пользователей. Невозможно просмотреть или обновить сопоставления SAML NameID, которые ранее были видимы в этом разделе, так как эти сохраненные сопоставления SAML больше не оцениваются во время проверки подлинности SAML при включении SCIM. - Когда экземпляр получает запрос SCIM, удостоверения SCIM сопоставляются с существующими пользователями, сравнивая значение атрибута SCIM
userNameс именем пользователя GitHub Enterprise Server. Это означает, что существующая учетная запись пользователя GitHub Enterprise Server независимо от того, была ли она создана в качестве локальной учетной записи пользователя или с помощью JIT-подготовки SAML, можно преобразовать в учетную запись пользователя, связанную с SCIM, если эти два значения совпадают.- Если учетная запись пользователя с соответствующим именем пользователя существует, GitHub Enterprise Server связывает удостоверение SCIM с этой учетной записью пользователя.
- Если учетная запись пользователя с соответствующим именем пользователя не существует, GitHub Enterprise Server создает новую учетную запись пользователя и связывает ее с этим удостоверением SCIM.
- Если GitHub успешно соответствует пользователю, который выполняет проверку подлинности с помощью SAML с существующей учетной записью пользователя, но сведения об учетной записи, такие как адрес электронной почты, имя или фамилия не совпадают, экземпляр перезаписывает сведения со значениями из поставщика удостоверений. Все адреса электронной почты, отличные от основной электронной почты, подготовленной SCIM, также будут удалены из учетной записи пользователя.
- Корпоративные администраторы с доступом CLI могут экспортировать полный CSV-файл подготовленных удостоверений пользователей SCIM с помощью средства ghe-scim-identities-csv .
Что происходит при проверке подлинности SAML?
После того как администратор поставщика удостоверений предоставляет пользователю доступ к ваш экземпляр GitHub Enterprise Server, пользователь может пройти проверку подлинности с помощью поставщика удостоверений для доступа к GitHub Enterprise Server с помощью единого входа SAML.
- Когда пользователь проходит проверку подлинности через SAML, чтобы связать пользователя с удостоверением SAML, GitHub сравнивает нормализованное
NameIDутверждение от поставщика удостоверений (или другое значение, настроенное) с именем пользователя учетной записи. Дополнительные сведения о нормализации см. в разделе Рекомендации по использованию имени пользователя для внешней проверки подлинности. - Если в экземпляре нет учетной записи с соответствующим именем пользователя, пользователь не сможет войти.
- Для этого GitHub Enterprise Server сравнивает утверждение SAML
NameIdиз поставщика удостоверений с атрибутом SCIM для каждой учетной записи пользователя, подготовленной SCIMuserNameв экземпляре. - Кроме того, для идентификатора Записи GitHub Enterprise Server сравнивает идентификатор объекта из запроса SAML с существующим внешним идентификатором SCIM.
- Для этого GitHub Enterprise Server сравнивает утверждение SAML
- Если среда не используется
NameIDдля уникальной идентификации пользователей, администратор сайта может настроить настраиваемые атрибуты пользователя для экземпляра. GitHub Enterprise Server будет учитывать это сопоставление при настройке SCIM. Дополнительные сведения о сопоставлении атрибутов пользователя см. в разделе Настройка единого входа SAML для предприятия.
Как отключено SCIM?
Дополнительные сведения о различных способах отключения SCIM см. в разделе Отключение подготовки SCIM для пользователей.
Начало работы
Чтобы приступить к работе с SCIM, выполните следующие действия.
- Завершите начальную настройку, требуемую независимо от того, какой идентификатор будет использоваться, в Настройка подготовки SCIM для управления пользователями.
- Настройте параметры в идентификаторе поставщика удостоверений.
- Если вы используете поставщика удостоверений партнера для проверки подлинности и подготовки, следуйте руководству по идентификатору поставщика удостоверений.
- В противном случае вы настроите интеграцию SCIM с REST API, как описано в Подготовка пользователей и групп с помощью SCIM с помощью REST API.