GitLab — это платформа для хостинга и управления проектами с открытым исходным кодом, которая предоставляет ряд функций, таких как хостинг кода, CI/CD, отслеживание проблем и т. д. GitLab поддерживает несколько методов аутентификации, включая LDAP, OAuth, CAS и т. д. В этой статье рассказывается, как интегрировать вход в систему управления доменом AD в GitLab.
шаг:
Сначала вам необходимо установить GitLab на сервере GitLab и включить аутентификацию управления доменом AD. Конкретные шаги заключаются в следующем:
а. Установите GitLab.
Для установки вы можете обратиться к официальной документации GitLab. В процессе установки вам необходимо задать имя пользователя и пароль администратора GitLab.
б. Включите аутентификацию управления доменом AD.
В файле конфигурации GitLab вы можете установить параметры аутентификации управления доменом AD. В файл /etc/gitlab/gitlab.rb добавьте следующую конфигурацию:
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['adfs']
gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'adfs'
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_auto_link_ldap_user'] = true
gitlab_rails['omniauth_providers'] = [
{
'name' => 'adfs',
'args' => {
'assertion_consumer_service_url' => 'https://gitlab.example.com/users/auth/adfs/callback',
'idp_cert_fingerprint' => 'xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx',
'issuer' => 'https://adfs.example.com/adfs/services/trust',
'idp_sso_target_url' => 'https://adfs.example.com/adfs/ls/',
'name_identifier_format' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
'uid_attribute' => 'sAMAccountName',
'label' => 'Active Directory',
},
},
]
Среди них Assertion_consumer_service_url — это адрес обратного вызова GitLab, idp_cert_fingerprint — отпечаток сертификата контроллера домена AD, эмитент — имя контроллера домена AD, idp_sso_target_url — адрес входа в контроллер домена AD, а uid_attribute — уникальный идентификатор пользователя.
На сервере управления доменом AD необходимо настроить некоторые параметры, чтобы GitLab мог получить доступ к управлению доменом AD. Конкретные шаги заключаются в следующем:
а. Создайте приложение.
На сервере управления доменом AD откройте диспетчер AD FS и создайте новое приложение. В процессе создания вам необходимо задать имя приложения, адрес обратного вызова и т. д.
б. Настройте свойства приложения.
В свойствах приложения необходимо задать некоторые параметры, включая идентификатор приложения, адрес обратного вызова, ключ шифрования и т. д.
c. Настройте сертификат для подписи токена.
На сервере управления доменом AD вам необходимо сгенерировать сертификат для подписи токена и экспортировать его в формат PEM. Затем добавьте отпечаток сертификата в параметр idp_cert_fingerprint в файле конфигурации GitLab.
d. Настройте поставщика удостоверений.
На сервере управления доменом AD необходимо создать поставщика удостоверений. В процессе создания вам необходимо указать имя провайдера удостоверений, адрес для входа и т. д.
e. Настройте доверительные отношения.
На сервере управления доменом AD необходимо создать доверительные отношения, чтобы GitLab мог получить доступ к управлению доменом AD. В процессе создания вам необходимо указать имя доверительного отношения, поставщика удостоверений и т. д.
После выполнения вышеуказанных шагов вы можете попробовать использовать управление доменом AD для входа в GitLab. Конкретные шаги заключаются в следующем:
а. Посетите страницу входа в GitLab.
Посетите страницу входа в GitLab в браузере и выберите вход с использованием управления доменом AD.
б. Введите пароль учетной записи управления доменом AD.
На всплывающей странице входа введите учетную запись и пароль управления доменом AD и нажмите кнопку входа.
в. Завершить вход.
Если все настроено правильно, процесс входа в систему должен пройти успешно и перейти на главную страницу GitLab.