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

Материал из Integra-S Wiki
Перейти к: навигация, поиск
 
(не показано 12 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
Для настройки Центра Авторизации необходимо открыть файл serenity.cfg.json в корне Serenity.
 
Для настройки Центра Авторизации необходимо открыть файл serenity.cfg.json в корне Serenity.
  
Строки, представленные ниже, описывают типы аутентификации, для каждого из которых указывается класс, наименование базы данных, хост, логин и пароль. Для Ldap аутентификации указывается адрес, откуда также передается логин и пароль пользователя.
+
Строки, представленные ниже, описывают типы аутентификации, для каждого из которых указывается класс, наименование базы данных, хост, логин и пароль. Для Ldap аутентификации указывается адрес сервера, через который будет происходить аутентификация.
 
   
 
   
 
  "TestAuth": { //Вasic Authentication
 
  "TestAuth": { //Вasic Authentication
Строка 19: Строка 19:
 
  },
 
  },
  
 +
Далее следуют настройки для SSO (Технология единого входа) по протоколу Kerberos. Преимущественно используется для операционных систем Windows, основан на работе с Active Directory и Ldap серверами. Протокол Kerberos необходим для авторизации в системе, в частности на Центр Авторизации (получать тикет) через пользователей в операционной системе. Это позволяет хранить настройки для определенных пользователей Active Directory и получать информацию по ним через Центр Авторизации.
  
      "KerberosAuth": {
+
"KerberosAuth": {
        "class": "authentication.kerberos_auth.tickets_provider.KerberosTicketsProvider",
+
  "class": "authentication.kerberos_auth.tickets_provider.KerberosTicketsProvider",
        "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_conn_string": "ldap://192.168.10.179:389",  
        "ldap_admin": "username password",
+
  "ldap_admin": "username password",  
        "keytab_source": "serenity-app.keytab",
+
  "keytab_source": "serenity-app.keytab",
        "ad_realm": "INTEGRA-DOMAIN.RU",
+
  "ad_realm": "INTEGRA-DOMAIN.RU",
        "kerberos_service": "HTTP",
+
  "kerberos_service": "HTTP",
        "auto_synch_users": true,
+
  "auto_synch_users": true,
        "synch_groups": ["integras"],
+
  "synch_groups": ["integras"],
        "synch_interval": 60
+
  "synch_interval": 60
      },
+
},
      "Generic":{
+
 
        "class": "generic.GenericProvider"
+
'''class''' - класс, к которому следует обращаться
      }
+
 
    }
+
'''db_conn_string''' - строка подключения к базе данных для получения пользователей, где dbname - название базы данных, host - ip адрес сервера, port - порт базы данных, user - логин администратора базы данных, password - пароль администратора базы данных
  },
+
 
  "settingsProvider": {
+
'''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''') будут перенесены в Центр Авторизации со следующими полями:
 +
#фио
 +
#логин
 +
#пароль (по умолчанию как логин)
 +
#телефон. По приоритету типы телефонов располагаются следующим образом: рабочий, домашний, мобильный. То есть если, указаны все 3, то будет указан рабочий. Если определены домашний и мобильный телефоны, то - домашний и т.п.
 +
#электронная почта.
 +
 
 +
''Примечание: информация о фио считается неизменяемой. Следовательно, изменения фио в 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)
 }