О миграции с LDAP на SAML и SCIM
Если ваш экземпляр GitHub Enterprise Server в настоящее время использует LDAP-аутентификацию, вы можете перейти на SAML single sign-on (SSO) с SCIM-провизацией для улучшения возможностей управления жизненным циклом пользователя. Эта миграция позволяет автоматически предоставлять, обновлять и удалить учетные записи пользователей у вашего провайдера идентификации (IdP).
Примечание.
Можно использовать SAML или LDAP, но не оба.
**Необходимые условия**:
- Вы должны быть администратором сайта GitHub Enterprise Server.
- У вас должен быть административный доступ к вашему провайдеру идентификации SAML.
- Ваш IDP должен поддерживать протоколы SAML 2.0 и SCIM 2.0.
- Перед началом миграции следует сделать резервную копию вашего экземпляра.
Подготовка SCIM требует аутентификации SAML как предварительного требования, поэтому эта миграция включает четыре отдельных этапа:
-
**Миграция на аутентификацию SAML**: замените LDAP на SAML SSO. -
**Проверьте и проверьте SAML**: убедитесь, что аутентификация работает и пользователи правильно связываются. -
**Включите SCIM-провизию**: Добавьте автоматизированные возможности управления пользователями. -
**Проверьте и проверьте SCIM**: подтвердите выделение идентификационных связей с существующими аккаунтами.
Этот документ предполагает знакомство с SAML-аутентификацией и SCIM-провизией. Для получения дополнительной информации по этим темам, пожалуйста, смотрите АВТОЗАГОЛОВКИ и АВТОЗАГОЛОВКИ.
1. Понимание шаблонов создания пользователей LDAP и SCIM
Перед началом миграции важно понять ключевые различия в том, как LDAP и SCIM управляют пользователями на GitHub Enterprise Server.
| Свойство | LDAP | SCIM (Система управления идентификацией в междоменной среде) |
|---|---|---|
| Конфигурация приборов | Вы настраиваете атрибут user ID (по умолчанию uid) и другие настройки LDAP в консоли управления. Эта конфигурация определяет, как отображать между пользователями LDAP и пользователями GitHub. Для получения дополнительной информации о настройке LDAP см. Использование протокола LDAP. | Сначала включите SAML-аутентификацию, затем настройте SCIM-провизию с токеном аутентификации. |
| Время создания пользователя | Just-in-time: Пользователи создаются при первом входе после успешной LDAP-аутентификации. | Предварительная аутентификация: Пользователи должны быть прописаны через SCIM перед аутентификациями. |
| Исходный источник имени пользователя | Имя пользователя GitHub основано на нормализованном идентификаторе LDAP, настроенном при установке. | GitHub имя пользователя основано на нормализованном значении SCIM userName из вашего IDP. |
| Управление именами пользователей | Гибкие: администраторы могут менять имена пользователей GitHub независимо от LDAP. Имена пользователей могут со временем переходить от идентификаторов LDAP, сохраняя при этом аутентификацию через LDAP-отображения. См . раздел AUTOTITLE. | Строго: GitHub имена пользователей всегда соответствуют нормализованному SCIM userName от вашего IDP. Изменения имён пользователей на стороне GitHub запрещены. |
| Контроль пользовательских атрибутов | Гибрид: Некоторые атрибуты управляются с помощью LDAP, другие могут управляться на устройстве. | Полный контроль IdP: Все атрибуты пользователя управляются через обновления SCIM от вашего IdP. |
| Поток проверки подлинности | GitHub Enterprise Server аутентифицируется через ваш LDAP-сервер и ищет существующее отображение LDAP, чтобы найти пользователя. | Во время SAML SSO выполняется внешний поиск идентификации для поиска назначенного пользователя для аутентификации. |
| Ключевая характеристика | Гибридная система, в которой пользовательские данные GitHub (особенно имена пользователей) могут частично управляться на устройстве независимо от LDAP-сервера. | Полный контроль поставщика идентичности: состояние пользователей GitHub полностью зависит от того, что IDP отправляет через SCIM, и имена пользователей не могут уходить из исходной системы. |
Нормализация и совместимость имён пользователя
GitHub Enterprise Server нормализует имена пользователей в соответствии с определёнными правилами, которые последовательно применяются в LDAP, SAML и SCIM. Понимание этих правил крайне важно для успешной миграции.
Для получения дополнительной информации о нормализации имён пользователя см. Рекомендации по использованию имени пользователя для внешней проверки подлинности.
2. Планируйте свою миграцию
Перед началом миграции нужно разобраться в текущей конфигурации, подготовить провайдера идентификации и установить способы доступа к резервным копиям. Этап планирования критически важен для обеспечения плавного перехода.
Подготовка к отображению от LDAP к SCIM
Критическая задача миграции — это преодоление подходов к управлению пользователями LDAP и SCIM:
**Пользователи LDAP (существующее состояние):**
-
Имейте имена пользователей на GitHub, которые могли измениться с момента создания
-
Сохранять возможность аутентификации через LDAP-отображения независимо от изменения имени пользователя
**Пользователи SCIM (целевое состояние):** -
Необходимо продать перед аутентификацией
-
Обязательно иметь GitHub имя пользователей, соответствующие их нормализованным значениям SCIM
userName -
Можно связать с внешней идентичностью с существующей учетной записью GitHub во время настройки пользователя SCIM, но только если нормализованный SCIM
userNameсовпадает с их существующим именем пользователя GitHub
Требования к отображению миграции
Чтобы успешно связать идентичности SCIM с существующими пользователями LDAP, вам нужно зафиксировать текущее состояние пользователей на вашем экземпляре:
-
**Экспортировать существующие имя пользователей GitHub**: Используйте интерфейс администратора сайта, API или CLI, чтобы получить полный список текущих GitHub имён пользователей на вашем экземпляре. Для получения дополнительной информации о API пользователя см. [AUTOTITLE](/rest/users/users?apiVersion=2022-11-28#list-users). Для получения дополнительной информации о командной строке для экспорта пользователей см. [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-user-csv). -
**Сопоставьте GitHub имена пользователей с реальными пользователями в вашем IdP**: Определите, какие идентичности соответствуют каждому GitHub именю пользователя в вашем бизнесе. -
**Настройте атрибут SCIM `userName`**: Убедитесь, что ваш IdP предоставляет пользователям SCIM значения `userName`, соответствующие существующим именам пользователей GitHub, которые вы хотите ссылать. **Important**: Цель для сопоставления всегда — это **текущее GitHub имя пользователя** на вашем экземпляре, а не исходный LDAP User ID или какой-либо другой идентификатор.
Ключевые аспекты планирования
**Важные вопросы:**
- Требуется простой: Для этой миграции требуется простой во время окна обслуживания для изменения настроек аутентификации.
- Влияние пользователя: после миграции пользователям нужно будет аутентифицироваться через ваш SAML IDP вместо LDAP-учетных данных.
- Членство в команде: синхронизация команд LDAP будет заменена групповой установкой SCIM, если ваш IDP поддерживается. Команды с отображением LDAP должны быть обновлены соответствующей группой SCIM, где это применимо.
Зафиксируйте состояние вашей конфигурации LDAP
Запишите вашу текущую настройку LDAP, чтобы планировать эквивалентные сопоставления SAML/SCIM:
- В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .
- Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
- На боковой панели " "Администратор сайта" щелкните Консоль управления.
- На боковой панели "Параметры" щелкните "Проверка подлинности".
- Документируйте следующие настройки LDAP:
- База доменов и ограниченные пользовательские группы
- атрибут User ID (он использовался для создания GitHub имён пользователей)
- Имя профиля, электронная почта и другие сопоставления атрибутов
- Конфигурация группы администраторов
- Настройки синхронизации команд
- Убедитесь, что у вас есть список существующих пользователей на вашем экземпляре, которые вы будете связывать с идентификацией SCIM.
3. Перейти на SAML и SCIM
После завершения планирования можно начать миграцию с LDAP на SAML аутентификацию. Это включает в себя настройку SAML как для вашего идентификатора, так и на GitHub Enterprise Server, а затем тщательное тестирование конфигурации перед переходом к SCIM.
**Важно**: при настройке SAML включите «Разрешить создание аккаунтов с встроенной аутентификацией», чтобы сократить количество шагов, необходимых при включении SCIM.
Включение аутентификации SAML
Для подробных шагов настройки SAML см. Настройка единого входа SAML для предприятия.
После включения SAML протестируйте систему аутентификации перед переходом к SCIM. Если любая учётная запись IDP, назначенная SAML-приложению, настроена против вашего экземпляра, убедитесь, что вы успешно выполните вход в SSO.
**Не переходите к SCIM, пока аутентификация SAML не начнёт работать корректно.**
Включить провизию SCIM
После подтверждения корректности аутентификации SAML можно включить SCIM для автоматического управления пользователями. SCIM должен быть настроен как на GitHub Enterprise Server, так и на вашем идентификаторе.
Подробные шаги по включению SCIM см. Настройка подготовки SCIM для управления пользователями.
Провизия SCIM для тестов
Проверьте провизию SCIM, чтобы убедиться, что пользователи с SCIM корректно связаны с существующими учетными записями.
Для пользователей, у которых уже есть аккаунты с миграции LDAP/SAML:
-
**Назначьте пользователя SCIM-приложению** в вашем IdP. -
**Проверьте автоматическую связь**: Проверьте, что SCIM автоматически связывается с существующим аккаунтом:- Пользователи сохраняют одно и то же имя пользователя и данные аккаунта
- Дублирующих аккаунтов не создаются
- Идентификация SCIM отображается как связана в корпоративных настройках и интерфейсах администратора сайта. Дополнительные сведения см. в разделе Просмотр сведений о SAML-доступе пользователей к предприятию и управление ими.
-
**Просмотр журналов аудита**: Ищите `external_identity.scim_api_success` события, `external_identity.provision` показывающие успешные ссылки на существующих пользователей.
Для новых пользователей, которые раньше не были в вашем инстансе:
-
**Проверьте создание пользователя**: Проверьте, что пользователь отображается в GitHub Enterprise Server с правильными атрибутами. -
**Проверка аутентификации**: Подтвердите, что новый пользователь может пройти аутентификацию через SAML. -
**Проверьте обновления атрибутов**: обновите пользовательскую информацию в IdP и подтвердите синхронизацию изменений. -
**Тестирование деprovisioning**: Удалите доступ пользователя и подтвердите, что он приостановлен.
Внедрить SCIM для всех пользователей
Для всех оставшихся пользователей, которые ещё не получили доступ к SCIM:
-
**Постепенно назначайте пользователей** приложению GitHub Enterprise Server в вашем IdP. -
**Мониторинг процесса ссылок**: Следите за успешным автоматическим ссыланием на основе совпадения имён пользователя. -
**Отслеживайте прогресс**: используйте журналы аудита для мониторинга `external_identity` событий и связывания прогресса. -
**Устраняйте любые конфликты**: решайте конфликты имён пользователей или проблемы с сопоставлением по мере их возникновения.
4. Обновить состав команды и организации
После миграции, если вы раньше использовали синхронизацию групп LDAP для управления членством в командах, вы можете заменить эти командные отметки на SCIM-группы. Если использовать уже существующую команду повторно, вам нужно будет удалить всех членов команды до того, как вы связываете группу IdP.
Дополнительные сведения см. в разделе Управление членством в группах поставщиков удостоверений.