Настройка доступа по технологии единого входа (SSO)
Настройка сервера
Для настройки сервера выполните следующие шаги:
-
Создайте техническую учетную запись в службе каталогов Эллес через:
-
При создании учитывайте, что:
-
Логин UPN вводится с указанием протокола, по которому будет выполняться подключение, и названием домена, например
HTTP/dsm.srv.innotech.lan. -
В контексте SSO Логин UPN является доменным именем, и при создании следует учитывать ограничения (см. RFC 952 и RFC 1123).
-
Обязательно задайте пароль для технической учетной записи.
-
Для данной учетной записи должны быть добавлены следующие параметры:
-
установлена Защита от случайного удаления;
-
Действия учетной записи — Бессрочно;
-
Параметры пароля — неограниченный срок действия пароля;
-
Параметры шифрования — Шифрование AES с поддержкой 256-разрядного шифрования.
-
-
-
Привяжите SPN к технической учетной записи.
SPN (Service Principal Name) — уникальный идентификатор экземпляра сервиса. SPN используется аутентификацией Kerberos для сопоставления экземпляра сервиса с учетной записью сервиса (service logon account). Это позволяет клиентским приложением аутентифицироваться в роли сервиса, даже не зная имени пользователя. Для привязки SPN используйте утилиту samba-tool на сервере, где установлена служба каталогов Эллес.
Например, командой:
samba-tool spn add HTTP/dsm.srv.innotech.lan dsm.srv
Где:
dsm.srv— это значение поля Логин SAM, указанное в технической учетной записи. -
Создайте файл keytab.
Keytab-файл — это файл, содержащий пары Kerberos принципалов и их ключей (полученных с использованием Kerberos пароля). Эти файлы используются для аутентификации в системах, использующих Kerberos, без ввода пароля. Если пароль принципала изменится, то keytab-файл необходимо будет сгенерировать заново. Для создания keytab-файла используйте утилиту samba-tool на сервере, где установлена служба каталогов Эллес.
Например, выполните команду:
samba-tool domain exportkeytab /tmp/http.keytab --principal=HTTP/dsm.srv.innotech.lan
-
Переместите keytab-файл на сервер, где запущен пользовательский интерфейс службы каталогов Эллес.
-
В конфигурационный файл application.yml добавьте следующие строки:
-
для Kerberos:
authentication: kerberos: kdc-address: ast-dc1.dsmreview.lan service-principal: HTTP/dsm.srv.innotech.lan keytab-location: <keytab path>Где:
-
kdc-address: ast-dc1.dsmreview.lan— адрес центра распространения ключей; -
service-principal— логин UPN, созданные ранее; -
keytab-location— путь до keytab-файла.
-
-
добавить путь до тикета kerberos технической учетной записи (
krb-tgt-path), от имени которой будут выполняться операции, после авторизации по SSO (подсекцияsso) в секциюldap, например:ldap: connection: host: 172.28.15.48 port: 389 pool-size: 5 sso: krb-tgt-path: /tmp/krb5cc_1000
-
-
После редактирования application.yml выполните перезапуск командой:
sudo systemctl restart dsm.service
-
Убедитесь, что на серверной части выполнена настройка Kerberos (см. «Настройка аутентификации Kerberos»).
Настройка клиента
Доступна настройка для Windows и Linux.
-
Добавьте запись с SPN в файл C:\Windows\System32\drivers\etc\hosts
Пример формата записи:
127.0.0.1 dsm.srv.innotech.lan
-
В панели управления нажмите на свойства браузера.
-
Выберите вкладку Безопасность.
Рис. 1. Пример вкладки Безопасность -
Нажмите на иконку Надежные сайты, а затем на кнопку Сайты.
-
В открывшемся окне введите адрес (указанный ранее Логин UPN:
http://dsm.srv.innotech.lan) в соответствующее поле и нажмите на кнопку Добавить. -
Также для автоматического входа, находясь на вкладке Безопасность, нажмите на кнопку Другой… и в секции «Проверка подлинности пользователя» выберите пункт «Автоматический вход в сеть с текущим именем пользователя и паролем».
После выполнения настройки выполнить вход в менеджер службы каталогов через созданный SPN.
Например: http://dsm.srv.innotech.lan:8080.
-
Добавьте запись с SPN в файл etc/hosts.
Пример формата записи:
127.0.0.1 dsm.srv.innotech.lan
-
Добавьте записи в файл etc/krb5.conf.
Пример записей:
[libdefaults] dns_lookup_realm = false dns_lookup_kdc = true default_realm = INNOTECH.LAN udp_preference_limit = 0 default_ccache_name = FILE:/home/%{username}/krb5cc default_tgs_enctypes = AES256-SHA1 default_tkt_enctypes = AES256-SHA1 permitted_enctypes = AES256-SHA1 [domain_realm] testad.vnfhome.com = INNOTECH.LAN .testad.vnfhome.com = INNOTECH.LAN -
Добавьте SPN в список доверенных сайтов в настройках браузера.
Например, для браузера Chrome добавьте записи в файл /etc/opt/chrome/policies/managed/kerb.json.
Пример записей:
{ "AuthServerAllowlist": "*.innotech.lan", "AuthSchemes": "negotiate" }
После завершения настройки выполните вход в менеджер службы каталогов с помощью созданного SPN.
Например: http://dsm.srv.innotech.lan:8080.