Аутентификация LDAP
В дополнение к внутренней модели управления доступом на основе ролей, Тarantool Cluster Manager может использовать внешний сервер каталогов LDAP (Lightweight Directory Access Protocol) для аутентификации и авторизации пользователей.
Когда аутентификация LDAP включена, TCM использует подключенный сервер каталогов LDAP для аутентификации пользователей, отправляющих форму входа. TCM формирует запросы к серверам в соответствии с параметрами конфигурации, описанными на этой странице. Права пользователей LDAP в TCM определяются сопоставлением групп LDAP.
Поддерживаются протоколы LDAP и защищенный LDAPS (LDAP поверх TLS).
Аутентификацию LDAP можно включить одним из двух способов:
-
Включение через CLI - добавьте
ldapв параметрsecurity.authв YAML-конфигурации TCM или укажите как флаг CLI. -
Включение через веб-интерфейс - начиная с версии 1.4.0 аутентификацию LDAP можно включить интерактивно в веб-интерфейсе TCM.
Чтобы разрешить аутентификацию пользователей LDAP в TCM, перед запуском
включите метод аутентификации ldap в параметре конфигурации
security.auth:
- В YAML-конфигурации TCM:
security:auth:
-
ldap
-
В командной строке:
$ tcm --security.auth="ldap"
Чтобы включить аутентификацию LDAP через веб-интерфейс TCM:
- Нажмите на значок пользователя в правом верхнем углу экрана.
- Выберите Настройки в выпадающем меню.
- Перейдите на вкладку Методы аутентификации.
- Установите флажок рядом с LDAP.
- Сохраните изменения.
Чтобы разрешить доступ пользователей LDAP к TCM, создайте конфигурацию LDAP, которая подключает TCM к серверу LDAP, хранящему данные пользователей. Конфигурация LDAP определяет, как TCM подключается к серверу и запрашивает данные пользователей. Чтобы создать конфигурацию LDAP, перейдите на страницу LDAP в группе Настройки и нажмите Добавить.
Чтобы изменить конфигурацию LDAP, выберите Изменить в меню Действия соответствующей строки.
Чтобы удалить конфигурацию LDAP, выберите Удалить в меню Действия соответствующей строки.
Задайте общие параметры конфигурации:
-
Enabled. Определяет, используется ли конфигурация. Выключите переключатель, чтобы перестать использовать конфигурацию.
-
Автоматически добавлять несуществующих пользователей. По умолчанию TCM автоматически сохраняет информацию о пользователях LDAP в своём хранилище бэкенда при их первом входе. Выключите переключатель, если не нужно сохранять пользователей с этого сервера LDAP. Если параметр отключен, пользователя необходимо добавить вручную в TCM на вкладке Пользователи, а метод аутентификации должен быть установлен в значение LDAP.
Введите параметры подключения к серверу LDAP:
- Endpoints. URL-адреса сервера LDAP. Пример:
127.0.0.1:5056. - Request timeout. Время ожидания запросов TCM к серверу LDAP в секундах.
- Enabled TLS. Если сервер использует LDAPS, включите этот переключатель и укажите параметры TLS-подключения, такие как сертификат и файл ключа.
Чтобы настроить способ запроса TCM к серверу LDAP для аутентификации и авторизации пользователей, заполните поля на шаге Queries:
-
(Необязательные поля) Query user и Query password. Учётные данные пользователя LDAP, от имени которого выполняются все запросы LDAP: различительное имя (DN) и пароль. Пример DN:
cn=admin,cn=users,dc=tarantool,dc=io -
Base DN. DN каталога, который служит корнем для выполнения всех запросов LDAP. Пример:
dc=tarantool,dc=io. -
Username regex. Регулярное выражение, определяющее шаблон имени пользователя для этой конфигурации LDAP. Когда пользователь вводит своё имя на странице входа, TCM сопоставляет его с регулярными выражениями для имени пользователя во всех включенных конфигурациях LDAP и выбирает ту, которая будет использоваться для аутентификации этого пользователя.
Пример: регулярное выражение для сопоставления адресов электронной почты сотрудников в указанном домене.
^([\w-\.]+)@tarantool.io$ -
(Необязательный) Template DN. Шаблон для формирования DN, отправляемого в запросе привязки аутентификации. Используйте числа в фигурных скобках как плейсхолдеры для замены частями регулярного выражения имени пользователя:
{0},{1}и так далее.Пример:
cn={0},cn=users,dc=tarantool,dc=ioПри использовании с Username regex, показанным выше,
{0}заменяется частью имени пользователя из адреса электронной почты (до@), введённого в форму входа. Например, имя пользователяuser1@tarantool.ioформирует следующий DN для запроса привязки:cn=user1,cn=users,dc=tarantool,dc=io -
(Необязательный) Template query. Шаблон для запроса DN к серверу LDAP. Этот способ используется, если Template DN не задан.
-
(Необязательный) Group query template. Шаблон для запроса групп, в которые входит пользователь, для целей авторизации. Подробнее см. Права пользователей LDAP. Пример:
(&(objectCategory=person)(objectClass=user)(cn={0}))
Права пользователей LDAP в TCM определяются группами, в которые они входят. Можно сопоставить административные и кластерные права TCM с группами LDAP на шаге Groups при создании конфигурации.
Чтобы назначить права группе LDAP, нажмите Добавить группу. В
открывшемся диалоговом окне введите имя группы, например
CN=Admins,CN=Builtin,DC=tarantool,DC=io. Затем выберите
административные права, которые нужно предоставить этой группе, в списке
Permissions.
Чтобы предоставить кластерные права, нажмите Добавить кластер. Выберите кластер и кластерные права, которые нужно предоставить группе. Сохраните группу.
Каждый пользователь обладает правами всех групп LDAP, в которые он входит.
Чтобы перестать использовать конфигурацию LDAP, откройте страницу Изменить для этой конфигурации и выключите переключатель Enabled.