Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise была прекращена 2023-03-15. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Использование протокола LDAP

Если для централизации доступа между приложениями используется протокол LDAP, можно интегрировать GitHub Enterprise Server, настроив проверку подлинности LDAP для своего экземпляра.

Сведения о проверке подлинности LDAP для GitHub Enterprise Server

LDAP — это популярный протокол приложений для доступа к информационным службам каталога и его обслуживания. Это один из наиболее распространенных протоколов, применяемых для интеграции стороннего программного обеспечения с пользовательскими каталогами крупных компаний. Дополнительные сведения см. в разделе Упрощенный протокол доступа к каталогам в Википедии.

Если вы используете каталог LDAP для централизованной проверки подлинности, можно настроить проверку подлинности LDAP для пользователей, использующих экземпляр GitHub Enterprise Server.

Примечание: Вы можете использовать либо SAML, либо LDAP, но не оба.

Если вы хотите разрешить проверку подлинности для некоторых пользователей, у которых нет учетной записи во внешнем поставщике проверки подлинности, можно разрешить резервную проверку подлинности для локальных учетных записей в экземпляр GitHub Enterprise Server. Дополнительные сведения см. в разделе Разрешение встроенной проверки подлинности для пользователей за пределами поставщика.

Поддерживаемые службы LDAP

GitHub Enterprise Server интегрируется со следующими службами LDAP:

  • Active Directory
  • FreeIPA
  • Oracle Directory Server Enterprise Edition
  • OpenLDAP
  • Open Directory
  • 389-ds

Рекомендации по использованию имен пользователей в LDAP

GitHub Enterprise Server нормализует значение из внешний поставщик проверки подлинности для определения имени пользователя для каждой новой личной учетной записи на экземпляр GitHub Enterprise Server. Дополнительные сведения см. в разделе Рекомендации по использованию имени пользователя для внешней проверки подлинности.

Настройка LDAP с помощью экземпляр GitHub Enterprise Server

После настройки протокола LDAP пользователи смогут входить в ваш экземпляр с помощью своих учетных данных LDAP. При первом входе пользователей имена их профилей, адреса электронной почты и ключи SSH будут заданы с помощью атрибутов LDAP из вашего каталога.

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

Предупреждение: Перед настройкой LDAP в экземпляр GitHub Enterprise Server убедитесь, что служба LDAP поддерживает результаты со страницами.

  1. В учетной записи администратора GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта. 1. На боковой панели Администратор сайта щелкните Консоль управления. 1. На боковой панели "Параметры" щелкните Проверка подлинности.
  3. В разделе "Проверка подлинности" выберите LDAP.
  4. При необходимости для того, чтобы разрешить пользователям без учетной записи во внешней системе проверки подлинности вход с помощью встроенной проверки подлинности, выберите Разрешить встроенную проверку подлинности. Дополнительные сведения см. в разделе Разрешение встроенной проверки подлинности для пользователей за пределами поставщика.
  5. Добавьте параметры конфигурации.

Атрибуты LDAP

Используйте эти атрибуты, чтобы завершить настройку LDAP для экземпляр GitHub Enterprise Server.

Имя атрибутаОбязательноОписание
HostУзел LDAP, например ldap.example.com или 10.0.0.30. Если имя узла доступно только из внутренней сети, может потребоваться сначала настроить DNS экземпляр GitHub Enterprise Server, чтобы оно решилось с помощью внутренних серверов доменных имен.
PortПорт, в котором прослушиваются службы LDAP узла. Примеры: 389 и 636 (для LDAPS).
EncryptionМетод шифрования, используемый для защиты взаимодействия с сервером LDAP. Примеры: обычный (без шифрования), SSL/LDAPS (шифрование с самого начала) и StartTLS (обновление до зашифрованного взаимодействия после подключения).
Domain search userПользователь LDAP, который ищет других пользователей, входящих в систему, чтобы разрешить проверку подлинности. Обычно это учетная запись службы, созданная специально для интеграции сторонних пользователей. Используйте полное имя, такое как cn=Administrator,cn=Users,dc=Example,dc=com. В Active Directory можно также использовать синтаксис [DOMAIN]\[USERNAME] (например WINDOWS\Administrator) для пользователя поиска домена в Active Directory.
Domain search passwordПароль для пользователя поиска домена.
Administrators groupУровень пользователей в этой группе повышается до администраторов сайта при входе на ваше устройство. Если вы не настроите группу администраторов LDAP, до администратора сайта будет повышен уровень первой учетной записи пользователя LDAP, вошедшей на устройство.
Domain baseПолное Distinguished Name (DN) поддерева LDAP, в котором требуется выполнить поиск пользователей и групп. Можно добавить сколько угодно имен, однако каждая группа должна быть определена в той же доменной базе, что и пользователи, которые к ней относятся. Если вы указываете ограниченные группы пользователей, то будут охвачены только пользователи, принадлежащие этим группам. Рекомендуется указать верхний уровень дерева каталогов LDAP в качестве доменной базы и использовать ограниченные группы пользователей для управления доступом.
Restricted user groupsЕсли эти группы указаны, вход будет разрешен только пользователям в этих группах. Указывать следует только общие имена (CN) групп, и можно добавить сколько угодно групп. Если группы не указаны, все пользователи в пределах указанной доменной базы смогут входить в ваш экземпляр GitHub Enterprise Server.
User IDАтрибут LDAP, определяющий пользователя LDAP, который пытается пройти проверку подлинности. После установки сопоставления пользователи могут изменить свои имена пользователей GitHub Enterprise Server. Для большинства установок Active Directory это поле будет иметь значение sAMAccountName, но для других решений LDAP, например OpenLDAP, это может быть значение uid. Значение по умолчанию — uid.
Profile nameИмя, которое будет отображаться на странице профиля пользователя GitHub Enterprise Server. Если синхронизация LDAP не включена, пользователи могут изменять свои имена профилей.
EmailsАдреса электронной почты для учетной записи пользователя GitHub Enterprise Server.
SSH keysОткрытые ключи SSH, подключенные к учетной записи пользователя GitHub Enterprise Server. Ключи должны быть в формате OpenSSH.
GPG keysКлючи GPG, подключенные к учетной записи пользователя GitHub Enterprise Server.
Disable LDAP authentication for Git operationsЕсли выбрать этот атрибут, для пользователей будет отключена возможность проверки подлинности операций Git с помощью паролей LDAP.
Enable LDAP certificate verificationЕсли выбрать этот атрибут, будет включена проверка сертификатов LDAP.
SynchronizationЕсли выбрать этот атрибут, будет включена синхронизация LDAP.

Отключение проверки паролей для операций Git

Чтобы принудительно использовать personal access token s или ключи SSH для доступа Git, которые помогут предотвратить перегрузку сервера запросами проверки подлинности LDAP, можно отключить проверку подлинности паролем для операций Git.

Рекомендуется использовать этот параметр, так как сервер LDAP отличается довольно медленным откликом, и в сочетании с большим количеством запросов из-за опроса часто является источником проблем с производительностью и сбоев.

Чтобы отключить проверку подлинности паролем для операций Git, выберите Отключить проверку подлинности имени пользователя и пароля для операций Git в параметрах LDAP.

Если этот флажок установлен, то при попытке использования пароля для операций Git в командной строе пользователь получит следующее сообщение об ошибке: Password authentication is not allowed for Git operations. You must use a personal access token.

Включение проверки сертификата LDAP

Вы можете проверить сертификат сервера LDAP, используемый с TLS, включив проверку сертификата LDAP.

Чтобы включить проверку сертификата LDAP, выберите Включить проверку сертификата LDAP в параметрах LDAP.

Если этот флажок установлен, выполняются следующие проверки сертификата.

  • Если сертификат содержит хотя бы одно альтернативное имя субъекта (SAN), проверяется, соответствует ли одно из имен SAN имени узла LDAP. В противном случае проверяется соответствие общего имени (CN) имени узла LDAP.
  • Сертификат является действительным на текущую дату.
  • Сертификат подписан доверенным центром сертификации (ЦС).

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

Примечание. В командах, использующих синхронизацию LDAP, может быть не более 1499 членов.

Вы можете установить управление доступом на основе ролей для пользователей с сервера LDAP, синхронизируя пользователей и участников группы GitHub Enterprise Server с установленными группами LDAP. Дополнительные сведения см. в разделе Создание групп.

Чтобы включить синхронизацию LDAP, в параметрах LDAP выберите Синхронизировать электронную почту, Синхронизировать ключи SSH или Синхронизировать ключи GPG.

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

  • Если вы разрешили встроенную проверку подлинности для пользователей за пределами вашего поставщика удостоверений, и пользователь использует встроенную проверку подлинности, задание синхронизации переходит к следующему пользователю.
  • Если для пользователя не существует сопоставления LDAP, выполняется попытка сопоставить пользователя с записью LDAP в каталоге. Если пользователя не удается сопоставить с записью LDAP, задание синхронизации блокирует этого пользователя и переходит к следующему пользователю.
  • Если в каталоге отсутствует и сопоставление LDAP, и соответствующая запись LDAP, этот пользователь блокируется и выполняется переход к следующему пользователю.
  • Если соответствующая запись LDAP помечена как отключенная, а пользователь еще не заблокирован, этот пользователь блокируется и выполняется переход к следующему пользователю.
  • Если соответствующая запись LDAP не помечена как отключенная, а пользователь заблокирован, и при этом в Центре администрирования включена повторная активация заблокированных пользователей, этот пользователь разблокируется.
  • Если в экземпляре настроена одна или несколько ограниченных групп пользователей, а соответствующая запись LDAP не входит в одну из этих групп, пользователь блокируется.
  • Если в экземпляре настроена одна или несколько ограниченных групп пользователей, соответствующая запись LDAP находится в одной из этих групп, и в Центре администрирования включена повторная активация заблокированных пользователей, пользователь разблокируется.
  • Если соответствующая запись LDAP содержит атрибут name, имя профиля пользователя обновляется.
  • Если соответствующая запись LDAP находится в группе "Администраторы", уровень пользователя повышается до администратора сайта.
  • Если соответствующая запись LDAP отсутствует в группе Администраторы, понижайте пользователя до обычной учетной записи, если учетная запись не приостановлена. Приостановленные администраторы не будут понижены и останутся в списке на страницах "Администраторы сайта" и "Владельцы предприятий".
  • Если для электронной почты определено поле "Пользователь LDAP", параметры электронной почты пользователя синхронизируются с записью LDAP. Первая запись LDAP mail устанавливается в качестве основного адреса электронной почты.
  • Если для открытых ключей SSH определено поле "Пользователь LDAP", открытые ключи SSH пользователя синхронизируются с записью LDAP.
  • Если для ключей GPG определено поле "Пользователь LDAP", ключи GPG пользователя синхронизируются с записью LDAP.

Примечание. Записи LDAP можно пометить как отключенные, только если вы используете Active Directory, и атрибут userAccountControl присутствует и помечен как ACCOUNTDISABLE. Некоторые варианты Active Directory, например AD LDS и ADAM, не поддерживают атрибут userAccountControl.

Задание синхронизации также будет запускаться в указанный интервал времени, чтобы в каждой команде, сопоставленной с группой LDAP, выполнить следующие операции.

  • Если соответствующая группа LDAP команды удалена, из команды удаляются все участники.

  • Если записи членов LDAP удалены из группы LDAP, соответствующие пользователи удаляются из команды. Если пользователь больше не является членом какой-либо команды в организации и не является владельцем организации, удалите его из организации. Если пользователь в результате теряет доступ к любым репозиториям, удаляются все частные вилки репозиториев, которые есть у этого пользователя.

    Примечание: Синхронизация LDAP не удаляет пользователя из организации, если пользователь является владельцем этой организации. Вместо этого другому владельцу организации потребуется вручную удалить пользователя.

  • Если записи членов LDAP добавлены в группу LDAP, соответствующие пользователи добавляются в команду. Если в результате пользователь восстанавливает доступ к каким-либо репозиториям, восстанавливаются все частные вилки репозиториев, удаленные из-за потери пользователем доступа за последние 90 дней.

    В рамках конфигурации оптимизации синхронизация LDAP не переносит вложенную структуру команды. Чтобы создать связи дочерних и родительских команд, необходимо вручную повторно создать структуру вложенной команды и синхронизировать ее с соответствующей группой LDAP. Дополнительные сведения см. в разделе "AUTOTITLE"

Предупреждение системы безопасности.

Если синхронизация LDAP включена, администраторы сайта и владельцы организации могут искать в каталоге LDAP группы для сопоставления команд.

Это может привести к раскрытию подрядчикам или другим непривилегированным пользователям конфиденциальной организационной информации, включая следующее:

  • существование определенных групп LDAP, видимых пользователю поиска домена;
  • членов группы LDAP, имеющих учетные записи пользователей GitHub Enterprise Server, которые раскрываются при создании группы, синхронизированной с этой группой LDAP.

Если раскрытие таких сведений нежелательно, ваша компания или организация должна ограничить разрешения настроенного пользователя поиска домена в консоли администрирования. Если такое ограничение невозможно, обратитесь в Поддержка GitHub Enterprise.

Поддерживаемые классы объектов групп LDAP

GitHub Enterprise Server поддерживает следующие классы объектов групп LDAP. Группы могут быть вложенными.

  • group
  • groupOfNames
  • groupOfUniqueNames
  • posixGroup

Просмотр и создание пользователей LDAP

Вы можете просматривать полный список пользователей LDAP, имеющих доступ к вашему экземпляру, и подготавливать к работе новых пользователей.

  1. Войдите в экземпляр GitHub Enterprise Server по адресу http(s)://HOSTNAME/login. 1. В учетной записи администратора GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
  3. В левой боковой панели выберите Пользователи LDAP. Вкладка "Пользователи LDAP"
  4. Чтобы найти пользователя, введите полное или частичное имя пользователя и нажмите Поиск. Существующие пользователи появятся в результатах поиска. Если пользователь не существует, нажмите Создать, чтобы подготовить к работе новую учетную запись пользователя. Поиск LDAP

Обновление учетных записей LDAP

Пока не включена синхронизация LDAP, автоматическая синхронизация изменений учетных записей LDAP с GitHub Enterprise Server не выполняется.

Синхронизация учетных записей LDAP вручную

  1. Войдите в экземпляр GitHub Enterprise Server по адресу http(s)://HOSTNAME/login. 1. В учетной записи администратора GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта. 1. В разделе "Поиск пользователей, организаций, команд, репозиториев, gist и приложений" введите имя пользователя в текстовом поле.
  3. Справа от текстового поля нажмите кнопку Поиск. Снимок экрана: страница "Поиск" параметров "Администратор сайта". Кнопка для поиска пользователей с меткой "Поиск" выделена оранжевым контуром.
    • Если точное совпадение имени учетной записи не найдено, в разделе "Результаты поиска — учетные записи" в разделе "Нечеткие совпадения" щелкните имя пользователя, которым вы хотите управлять. Снимок экрана: результаты поиска в параметрах "Администратор сайта". В разделе "Нечеткие совпадения" пример имени пользователя выделяется оранжевым контуром. 1. Просмотрите сведения о пользователе на странице администрирования сайта, чтобы убедиться, что вы определили правильного пользователя. Снимок экрана: страница обзора учетной записи администратора сайта. 1. В правом верхнем углу страницы щелкните Администратор.  Снимок экрана: заголовок страницы "Администратор сайта" для пользователя или репозитория. Вкладка "Администратор" выделена оранжевым контуром. 1. На левой боковой панели щелкните Администратор.  Снимок экрана: левая боковая панель страницы "Администратор сайта". Параметр меню "Администратор" выделен оранжевым контуром.
  4. В разделе "LDAP" нажмите Синхронизировать сейчас, чтобы вручную обновить учетную запись с помощью данных с вашего сервера LDAP. Кнопка немедленной синхронизации LDAP

Вы также можете использовать API для активации синхронизации вручную.

Отзыв доступа к экземпляр GitHub Enterprise Server

Если синхронизация LDAP включена, удаление учетных данных LDAP пользователя заблокирует его учетную запись после следующего запуска синхронизации.

Если синхронизация LDAP не включена, необходимо вручную заблокировать учетную запись GitHub Enterprise Server после удаления учетных данных LDAP. Дополнительные сведения см. в разделе Приостановка и возобновление работы пользователей.