Настройка Центра Авторизации — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Новая страница: «Для настройки Центра авторизации необходимо открыть файл serenity.cfg.json в корне Serenity. Файл в…»)
 
 
(не показано 16 промежуточных версий этого же участника)
Строка 1: Строка 1:
Для настройки Центра авторизации необходимо открыть файл serenity.cfg.json в корне Serenity.
+
Для настройки Центра Авторизации необходимо открыть файл 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 и получать информацию по ним через Центр Авторизации.  
  "ticketsProvider": {
+
 
    "providers": {   
+
"KerberosAuth": {
      "TestAuth": {
+
  "class": "authentication.kerberos_auth.tickets_provider.KerberosTicketsProvider",
        "class": "serenityImpl.SerenityTicketsProvider",
+
  "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password=",
        "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",  
      "CertAuth": {
+
  "keytab_source": "serenity-app.keytab",
        "class": "clientLoginCertAuthImpl.ClientLoginCertAuthTicketsProvider"
+
  "ad_realm": "INTEGRA-DOMAIN.RU",
      },
+
  "kerberos_service": "HTTP",
      "DigestAuth": {
+
  "auto_synch_users": true,
        "class": "authentication.digest_auth.tickets_provider.DigestTicketsProvider",
+
  "synch_groups": ["integras"],
        "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
+
  "synch_interval": 60
      },
+
},
      "LdapAuth": {
+
 
        "class": "authentication.ldap_auth.tickets_provider.LDAPTicketsProvider",
+
'''class''' - класс, к которому следует обращаться
        "ldap_conn_string": "ldap://192.168.10.27:389/"
+
 
      },
+
'''db_conn_string''' - строка подключения к базе данных для получения пользователей, где dbname - название базы данных, host - ip адрес сервера, port - порт базы данных, user - логин администратора базы данных, password - пароль администратора базы данных
      "KerberosAuth": {
+
 
        "class": "authentication.kerberos_auth.tickets_provider.KerberosTicketsProvider",
+
'''ldap_conn_string''' - адрес сервера Ldap для получения из Active Directory списка пользователей и групп
        "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password=",
+
 
        "ldap_conn_string": "ldap://192.168.10.179:389",
+
'''ldap_admin''' - пользователь, от которого происходит подключение к Ldap
        "ldap_admin": "username password",
+
 
        "keytab_source": "serenity-app.keytab",
+
'''keytab_source''' - путь до файла keytab, если Serenity развернуто на операционной системе Linux. Стоит учесть, что при любом изменении Active Directory, например, добавление пользователей, keytab необходимо пересобрать.
        "ad_realm": "INTEGRA-DOMAIN.RU",
+
 
        "kerberos_service": "HTTP",
+
'''ad_realm''' - имя домена Active Directory
        "auto_synch_users": true,
+
 
        "synch_groups": ["integras"],
+
'''kerberos_service''' - сервис протокола kerberos (по умолчанию HTTP)
        "synch_interval": 60
+
 
      },
+
'''auto_synch_users''' - автоматическая синхронизация пользователей из Active Directory в Центр Авторизации. При синхронизации пользователи из указанных ниже групп ('''synch_groups''') будут перенесены в Центр Авторизации со следующими полями:
      "Generic":{
+
#фио
        "class": "generic.GenericProvider"
+
#логин
      }
+
#пароль (по умолчанию как логин)
    }
+
#телефон. По приоритету типы телефонов располагаются следующим образом: рабочий, домашний, мобильный. То есть если, указаны все 3, то будет указан рабочий. Если определены домашний и мобильный телефоны, то - домашний и т.п.
  },
+
#электронная почта.
  "settingsProvider": {
+
 
 +
''Примечание: информация о фио считается неизменяемой. Следовательно, изменения фио в Active Directory не повлечет за собой изменения фио на Центре Авторизации. Также если фио будет изменено в Центре Авторизации, то эти данные не изменятся в Active Directory. Однако изменения контактной информации (телефон, электронная почта) влечет за собой изменения в Центре Авторизации.'' 
 +
 
 +
'''synch_groups''' - список групп, из которых проводится синхронизация пользователей. Новый пользователь автоматически добавляется в Центр Авторизации.
 +
 
 +
'''synch_interval''' - интервал опроса изменений в Active Directory в секундах
 +
 
 +
''Примечание: В случае если необходимо использовать Kerberos аутентификацю, сервер должен быть запущен от пользователя администратора домена.''
 +
 
 +
Следующие строки описывают доступ к провайдеру настроек.
 +
"settingsProvider": {
 
       "class": "serenityImpl.SerenitySettingsProvider",
 
       "class": "serenityImpl.SerenitySettingsProvider",
 
       "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
 
       "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
 
   },
 
   },
  "logger":{
+
 
 +
Далее указывается база для хранения системной информации.
 +
"logger":{
 
       "class": "logger.Logger",
 
       "class": "logger.Logger",
 
       "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
 
       "db_conn_string": "dbname= host=127.0.0.1 port=5430 user= password="
  },
+
},
  "deploymentSettings": {
+
 
     "use_ssl": false,
+
Следующие строки предназначены для настройки запуска сервера.
     "deployment_port": 8888,
+
"deploymentSettings": {
     "ticket_ttl": 24
+
     "use_ssl": false,//использовать SSL-сертификат или нет
 +
     "deployment_port": 8888,//порт, на котором запускается сервер
 +
     "ticket_ttl": 24//время жизни тикета в часах, при необходимости использовать бесконечный тикет (0)
 
   }
 
   }
}
 

Текущая версия на 15:00, 13 сентября 2018

Для настройки Центра Авторизации необходимо открыть файл 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)
 }