Создание Service Principal Name (SPN) и keytab-файла для сервисной учетной записи
Перед началом работы задайте в произвольной форме следующие значения:
-
имена хостов отдельно для каждого из модулей; например:
-
«Кабинет администратора» —
web-admin.example.com; -
«Магазин приложений» —
app-shop.example.com;
-
-
имя домена; например:
LCM.TERRA.INNO.TECH; -
имя сервисной учетной записи; например:
lcm_backend_svc.
При создании Service Principal Name (SPN) и keytab-файла модулей «Кабинет администратора» и «Магазин приложений» используется единый принцип.
Ниже приведен пример создания SPN (Service Principal Name) и keytab-файла модуля «Кабинет администратора» для сервисной учетной записи в домене под управлением Samba.
Создание Service Principal Name (SPN)
-
Создайте SPN с полным доменным именем, выполнив команду:
samba-tool spn add HTTP/<host-name>@<domain-name> <service-account>
Пример команды:
samba-tool spn add HTTP/web-admin.example.com@LCM.TERRA.INNO.TECH lcm_backend_svc
-
Создайте SPN с коротким именем, выполнив команду:
$ samba-tool spn add HTTP/<host-name> <service-account>
Пример команды:
$ samba-tool spn add HTTP/web-admin.example.com lcm_backend_svc
-
Выполните проверку созданных SPN, выполнив команду:
$ samba-tool spn list <service-account>
Пример команды:
$ samba-tool spn list lcm_backend_svc
Пример вывода:
User CN=lcm_backend_svc,CN=Users,DC=lcm,DC=terra,DC=inno,DC=tech has the following servicePrincipalName: HTTP/web-admin.example.com@LCM.TERRA.INNO.TECH HTTP/web-admin.example.com
-
Выполните проверку атрибутов сервисной учетной записи, выполнив команду:
$ samba-tool user show <service-account>
Пример команды:
$ samba-tool user show lcm_backend_svc
Пример вывода со значимыми параметрами:
cn: lcm_backend_svc name: lcm_backend_svc sAMAccountName: lcm_backend_svc userPrincipalName: lcm_backend_svc@lcm.terra.inno.tech objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=lcm,DC=terra,DC=inno,DC=tech msDS-SupportedEncryptionTypes: 24 accountExpires: 0 servicePrincipalName: HTTP/web-admin.example.com@LCM.TERRA.INNO.TECH servicePrincipalName: HTTP/web-admin.example.com distinguishedName: CN=lcm_backend_svc,CN=Users,DC=lcm,DC=terra,DC=inno,DC=tech
Создание keytab-файла
Чтобы создать keytab-файл, выполните команду:
$ sudo samba-tool domain exportkeytab ./lcm-user.keytab --principal=<service-account>
Пример команды:
$ sudo samba-tool domain exportkeytab ./lcm-user.keytab --principal=lcm_backend_svc
Чтобы просмотреть созданный файл, выполните команду:
$ sudo klist -e -k ./lcm-user.keytab
Пример файла:
Keytab name: FILE:./lcm-user.keytab KVNO Principal ---- -------------------------------------------------------------------------- 7 web-admin.example.com@LCM.TERRA.INNO.TECH (aes256-cts-hmac-sha1-96) 7 web-admin.example.com@LCM.TERRA.INNO.TECH (aes128-cts-hmac-sha1-96) 7 web-admin.example.com@LCM.TERRA.INNO.TECH(DEPRECATED:arcfour-hmac)
| Сохраните файл на сервере, на который будет устанавливаться бэкенд продукта. Путь к файлу необходимо будет указать на этапе его настройки. |