Настройка Центра Авторизации

Материал из Integra-S Wiki
Перейти к: навигация, поиск

Для настройки Центра Авторизации необходимо открыть файл serenity.cfg.json в корне Serenity.

Строки, представленные ниже, описывают типы аутентификации, для каждого из которых указывается класс, наименование базы данных, хост, логин и пароль. Для Ldap аутентификации указывается адрес сервера, через который будет происходить аутентификация.

"TestAuth": { //Вasic Authentication
  "class": "serenityImpl.SerenityTicketsProvider",
  "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
},
"CertAuth": {
  "class": "clientLoginCertAuthImpl.ClientLoginCertAuthTicketsProvider"
  },
"DigestAuth": {
  "class": "authentication.digest_auth.tickets_provider.DigestTicketsProvider",
  "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
},
"LdapAuth": {
  "class": "authentication.ldap_auth.tickets_provider.LDAPTicketsProvider",
  "ldap_conn_string": "ldap://192.168.10.27:389/"
},

Далее следуют настройки для SSO (Технология единого входа) по протоколу Kerberos. Преимущественно используется для операционных систем Windows, основан на работе с Active Directory и Ldap серверами. Протокол Kerberos необходим для авторизации в системе, в частности на Центр Авторизации (получать тикет) через пользователей в операционной системе. Это позволяет хранить настройки для определенных пользователей Active Directory и получать информацию по ним через Центр Авторизации.

"KerberosAuth": {
  "class": "authentication.kerberos_auth.tickets_provider.KerberosTicketsProvider",
  "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password=",
  "ldap_conn_string": "ldap://192.168.10.179:389", 
  "ldap_admin": "username password", 
  "keytab_source": "serenity-app.keytab",
  "ad_realm": "INTEGRA-DOMAIN.RU",
  "kerberos_service": "HTTP",
  "auto_synch_users": true,
  "synch_groups": ["integras"],
  "synch_interval": 60
},

class - класс, к которому следует обращаться

db_conn_string - строка подключения к базе данных для получения пользователей, где dbname - название базы данных, host - ip адрес сервера, port - порт базы данных, user - логин администратора базы данных, password - пароль администратора базы данных

ldap_conn_string - адрес сервера Ldap для получения из Active Directory списка пользователей и групп

ldap_admin - пользователь, от которого происходит подключение к Ldap

keytab_source - путь до файла keytab, если Serenity развернуто на операционной системе Linux. Стоит учесть, что при любом изменении Active Directory, например, добавление пользователей, keytab необходимо пересобрать.

ad_realm - имя домена Active Directory

kerberos_service - сервис протокола kerberos (по умолчанию HTTP)

auto_synch_users - автоматическая синхронизация пользователей из Active Directory в Центр Авторизации. При синхронизации пользователи из указанных ниже групп (synch_groups) будут перенесены в Центр Авторизации со следующими полями:

  1. фио
  2. логин
  3. пароль (по умолчанию как логин)
  4. телефон. По приоритету типы телефонов располагаются следующим образом: рабочий, домашний, мобильный. То есть если, указаны все 3, то будет указан рабочий. Если определены домашний и мобильный телефоны, то - домашний и т.п.
  5. электронная почта.

Примечание: информация о фио считается неизменяемой. Следовательно, изменения фио в Active Directory не повлечет за собой изменения фио на Центре Авторизации. Также если фио будет изменено в Центре Авторизации, то эти данные не изменятся в Active Directory. Однако изменения контактной информации (телефон, электронная почта) влечет за собой изменения в Центре Авторизации.

synch_groups - список групп, из которых проводится синхронизация пользователей. Новый пользователь автоматически добавляется в Центр Авторизации.

synch_interval - интервал опроса изменений в Active Directory в секундах

Примечание: В случае если необходимо использовать Kerberos аутентификацю, сервер должен быть запущен от пользователя администратора домена.

Следующие строки описывают доступ к провайдеру настроек.

"settingsProvider": {
     "class": "serenityImpl.SerenitySettingsProvider",
     "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
 },

Далее указывается база для хранения системной информации.

"logger":{
     "class": "logger.Logger",
     "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
},

Следующие строки предназначены для настройки запуска сервера.

"deploymentSettings": {
   "use_ssl": false,//использовать SSL-сертификат или нет
   "deployment_port": 8888,//порт, на котором запускается сервер
   "ticket_ttl": 24//время жизни тикета в часах, при необходимости использовать бесконечный тикет (0)
 }