В этом руководстве я покажу вам, как настроить сервер GitLab для аутентификации пользователей на сервере FreeIPA.
FreeIPA – это система управления идентификацией с открытым исходным кодом, спонсируемая Red Hat.
С другой стороны, GitLab – это полнофункциональная платформа для ускоренной разработки программного обеспечения.
Он предоставляет до нуля такие функции, как интегрированный CI / CD, Auto DevOps, интеграция с Kubernetes, GitLab Container Registry и т.д.
Используя расширенные функции управления пользователями FreeIPA, становится легко управлять доступом пользователей к вашему серверу GitlLab.
Вам не нужно создавать пользователей вручную на GitLab Server, что может быть утомительно для крупных компаний.
Настройка аутентификации GitLab FreeIPA – предварительные условия
Предварительные условия для этой настройки:
- Запущенный GitLab Server
- Запущенный FreeIPA Serve
Шаг 1. Создание привязанного пользователя LDAP на FreeIPA
Нам потребуется пользователь для привязки к FreeIPA Server.
Войдите на свой сервер FreeIPA и создайте пользователя с именем gitlab
Перейдите Identity > Users > Add
Заполните необходимые данные и нажмите «add»
Шаг 2: Настройка сервера GitLab
Если у вас нет доменного имени для сервера FreeIPA, настроенного на DNS, добавьте строку в файл /etc/hosts.
echo "192.168.3.10 ipa.example.com" | sudo tee -a /etc/hosts
Отредактируйте /etc/gitlab/gitlab.rb и включите LDAP
gitlab_rails['ldap_enabled'] = true
Затем укажите путь к файлу с настройками LDAP для FreeIPA.
gitlab_rails['ldap_servers'] = YAML.load_file('/etc/gitlab/freeipa_settings.yml')
Наконец, создайте файл YAML для хранения настроек подключения IPA.
$ sudo vim /etc/gitlab/freeipa_settings.yml
Настройте как показано ниже:
main: label: 'FreeIPA' host: 'ipa.example.com' port: 389 uid: 'uid' method: 'tls' bind_dn: 'uid=gitlab,cn=users,cn=accounts,dc=example,dc=com' password: 'gitlabuserpassword' encryption: 'plain' base: 'cn=accounts,dc=example,dc=com' verify_certificates: false attributes: username: ['uid'] email: ['mail'] name: 'displayName' first_name: 'givenName' last_name: 'sn'
Замените:
- ipa.example.com с именем хоста сервера FreeIPA
- Все example и com домена сервера FreeIPA.
- gitlabuserpassword вашим паролем пользователя gitlab IPA.
Сохраните файл и перенастройте GitLab:
sudo gitlab-ctl reconfigure
Шаг 2: Войдите в GitLab через FreeIPA
Теперь вы можете войти на свой сервер GitLab, используя учетные данные пользователя на сервере FreeIPA.
Нажмите «Sing in», чтобы войти на сервер GitLab с указанным именем пользователя.
Подскажите пожалуйста как разрешить вход в гитлаб только членом определенной группы?
Группы AD?
здравствуйте! успешно получилось с помощью вашей инструкции синхронизировать гитлаб и фриипу, вопрос тоже такой же как у человека сверху)
как условно можно расшарить группы? в фриипе есть группа Admins, как сделать так чтобы в гитлабе она тоже появилась типа ? думаю вы поняли про что я
Приветствую, смапить группы admins в админы гитлаба?
Верно)
И как можно синхронизировать юзеров фриипа и гитлаб? чтобы не создавались новые, а просто произошло слияние