Интеграция Gitea и Active Directory

Оцените статью

Продолжаем разбираться с функционалом Gitea и на данный момент у меня задача настроить авторизацию пользователей Active Directory в Gitea с разделением по группам.

Я уже рассказывал как настроить авторизацию пользователей FreeIPA в Gitea.

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

Подготовка среды

Для начала убедитесь, что у вас есть доступ к серверу Gitea и установленным компонентам:

  • Сервер Gitea версии не ниже 1.18.x;
  • Доступ к вашему контроллеру домена Windows Server или аналогичному LDAP-сервису;
  • Учетная запись администратора домена с правами на чтение атрибутов каталога;
  • Права на создание/изменение группы в каталоге Active Directory.

Также создайте две группы пользователей:

  • gitea-admins — группа администраторов Gitea;
  • gitea-users — обычная пользовательская группа.

Добавьте несколько учетных записей пользователей в эти группы для тестирования.

Настройка подключения Gitea к контроллеру домена Active Directory

Есть два варианта как можно настроить интеграцию. Первый это использование конфигурационного файла, а второй настройка с использованием Web-интерфейса.

Создание конфигурационного файла для подключения к LDAP-серверу

Откройте файл конфигурации вашего сервера Gitea (app.ini), который в моем случае находится в /opt/gitea/custom/conf/app.ini.

Найдите секцию [ldap]. Если она отсутствует, добавьте её вручную следующим образом:

[ldap]
ENABLED = true
HOST = ldap://<адрес_вашего_ldap>:389
USERNAME = <учетка_для_чтения>
PASSWORD = <пароль_учетки>
SECURITY_PROTOCOL = none # Измените при необходимости на tls или starttls
SEARCH_BASE_DN = DC=example,DC=com # Базовый DN вашей структуры AD
FILTER = (&(objectClass=user)(sAMAccountName=%s))
ATTRIBUTE_USERNAME = sAMAccountName
ATTRIBUTE_EMAIL = mail
ATTRIBUTE_FULL_NAME = displayName
ATTRIBUTE_UID = objectGUID
GROUP_SEARCH_FILTER = memberOf
GROUP_ADMIN_FILTER = CN=gitea-admins,OU=Groups,DC=example,DC=com
GROUP_USER_FILTER = CN=gitea-users,OU=Groups,DC=example,DC=com

Здесь важно правильно указать:

  • Адрес и порт LDAP-сервера (обычно это 389);
  • Имя и пароль учетной записи для чтения данных из AD;
  • Структуру поиска внутри каталога AD;
  • Фильтры для определения принадлежащих пользователю групп.

После внесения изменений перезапустите службу Gitea командой:

# systemctl restart gitea.service

Настройка подключения с использованием Web-интерфейса

Фактически нам понадобится учетная запись администратора Gitea.

Панель управления Gitea

Переходим в панель управления и выбираем «Идентификация и доступ» -> «Аутентификация».

Аутентификация Gitea

Добавляем новый источник типа LDAP (via BindDN). Данные заполняем аналогично настройке из консоли.

Настройка интеграции AD и Gitea

Таким образом, интеграция Gitea с Active Directory позволяет эффективно разграничивать доступ к системным ресурсам на основании ролей и групп пользователей, обеспечивая безопасность и контроль над инфраструктурой.

Похожие записи

Интересные и курьезные факты из сферы информационных технологий

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

Настройка окружения для работы с контейнеризацией в РЕД ОС/Centos

Давайте рассмотрим настройку окружения для контеризации приложений в RedOS 8 и Centos 8. Что подразуумеватся под окружением? Я вкладываю в это понятие набор графических и консолных утилит для удобной работы…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Интересные и курьезные факты из сферы информационных технологий

Интересные и курьезные факты из сферы информационных технологий

Настройка окружения для работы с контейнеризацией в РЕД ОС/Centos

Настройка окружения для работы с контейнеризацией в РЕД ОС/Centos

Добавление резервного контроллера домена РЕД АДМ

Добавление резервного контроллера домена РЕД АДМ

Установка и настройка Keycloak в CentOS 8

Установка и настройка Keycloak в CentOS 8

Интеграция Gitea и Active Directory

Интеграция Gitea и Active Directory

Назначение операций на дополнительные кнопки мыши (Linux Wayland)

Назначение операций на дополнительные кнопки мыши (Linux Wayland)