Как настроить аутентификацию GitLab FreeIPA |

Как настроить аутентификацию GitLab FreeIPA

Мануал

В этом руководстве я покажу вам, как настроить сервер 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 с указанным именем пользователя.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий для Алексей Отменить ответ

  1. Алексей

    Подскажите пожалуйста как разрешить вход в гитлаб только членом определенной группы?

    Ответить
    1. cryptoparty автор

      Группы AD?

      Ответить
      1. Артем

        здравствуйте! успешно получилось с помощью вашей инструкции синхронизировать гитлаб и фриипу, вопрос тоже такой же как у человека сверху)
        как условно можно расшарить группы? в фриипе есть группа Admins, как сделать так чтобы в гитлабе она тоже появилась типа ? думаю вы поняли про что я

        Ответить
        1. cryptoparty автор

          Приветствую, смапить группы admins в админы гитлаба?

          Ответить
          1. Артем

            Верно)
            И как можно синхронизировать юзеров фриипа и гитлаб? чтобы не создавались новые, а просто произошло слияние