Аутентификация
Поддерживатся:
- локальная аутентификация
- LDAP
- SSO/SAML
Локальная аутентификация действует по умолчанию и работает всегда во всех редакциях. В редакции "Бесплатная" это единственный поддерживаемый тип аутентификации.
Тип аутентификации указывается в разделе authentication, параметр provider.
Возможные значения параметра provider:
- local
- ldap
- saml
LDAP
Настройки подключения к LDAP серверу расположены в разделе ldap.
Пользователи регулярно синхронизируются с LDAP сервером с частой указанной в параметре sync_period.
Для аутентификации требуется пользователь с правами на чтение LDAP-каталога.
| Параметр | Тип | Описание |
|---|---|---|
| host | строка | ip-адрес или dns-имя LDAP-сервера. |
| port | число | Порт, на котором отвечает LDAP сервер. |
| use_ssl | булевый | Использовать ли для подключения LDAPS. |
| verify_cert | булевый | При подключении по LDAPS проверять ли сертификат LDAP-сервера. Если значение false, то это позволяет использовать самоподписанный сертификат. |
| search_base | строка | Контейнер для поиска учетных записей. |
| search_filter | строка | LDAP-фильтр, позволяющий отфильтровать пользователей по заданным критериям. Например, можно с помощью фильтра ограничить список пользователей только определенной группой. См. пример ниже. |
| bind_dn | строка | Пользователь, используемый для подключения к LDAP серверу. |
| password | строка | Пароль пользователя. |
| sync_period | строка | Период синхронизации пользователей. Указывается в минутах или часах. Например: "90m", "4h" |
SSO/SAML
Настройки аутентификации с помощью SSO/SAML находятся в разделе saml.
| Параметр | Тип | Описание |
|---|---|---|
| service_provider_host | строка | |
| signin_page_url | строка | |
| signout_page_url | строка | |
| identity_provider_issuer | строка | URL |
| identity_provider_certificate | строка | Сертификат в формате base64 |
Пример
authentication:
provider: ldap
ldap:
# данный раздел игнорируется, если параметр provider равен local или saml
host: 192.168.0.27
port: 389
use_ssl: false
verify_cert: false
# search_base: "ou=company-users,dc=acme2019-1,dc=test"
search_base: "dc=example,dc=com"
search_filter: "(&(sAMAccountName=%s)(objectCategory=Person)(memberOf=cn=AlmetibinUsers,ou=Groups,dc=example,dc=com))"
bind_dn: "cn=almetibin-user,ou=service-accounts,dc=example,dc=com"
password: "12345890!"
sync_period: 4h #m - минуты, h - часы.
saml:
# данный раздел игнорируется, если параметр provider равен local или ldap
service_provider_host: "https://adfs.example.com/"
# используется HTTP-POST variant для отправки запросов к Identity Provider
signin_page_url: "https://adfs.example.com/adfs/ls/"
signout_page_url: "https://adfs.example.com/adfs/ls/?wa=wsignout1.0"
identity_provider_issuer: "http://adfs.example.com/adfs/services/trust"
# base64
identity_provider_certificate: "MIIC2DCCAcCgAwIBAgIQK2Q47+wINZpJo3QZsbNVhzANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDEx1BREZTIFNpZ25pbmcgLSBhZGZzLmFjbWUudGVzdDAeFw0yMTA4MTcyMTI0MzhaFw0yMjA4MTcyMTI0MzhaMCgxJjAkBgNVBAMTHUFERlMgU2lnbmluZyAtIGFkZnMuYWNtZS50ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzuyflU1j37IeiuRxlOxkWthSsTkoqN1/zWQcI+b6adHgqbDe/okkGd1EQ1ngRDTx1ULTKBmsXU12SjD2DauMXMLlnEBdwIikxQZePPuNdlMjp/qMP84lh9MV4hTRqzloNIQJ/iIldJBws3vKOuDjj2YBObY/t77MED4C0j/6ooK3dcdXGSRzOD31VDevhayPOxFzK4SKyw8Qb7c3hFnomrC6aSwyATXuOgetMlI3uw63t4LLv3RhgzXf4iMvRlUb3KNwwYp81XJlHA7t9enUjeXv+7B4Igw4zX8SHqJHvCkWwDPUdinvJCprkVOpmanzZkaoeJ/0g5KVUzNgeoN3BQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBEErv3cCAEMfaPlwLawnM/kMTLI8KzEzZZw444xkJ/eTRee8uUDrZXBzX1lI/t76anEAL1XCxfX5s7QRTcxywqnKyfvuIkjEdOYseCmwrRMso3wswOyUqNPAV9WDbfh69a+z+rOIZDhdBz4yAKRzYMnIc5nEqg6j3XkfSil1Vc659NiHAXBxgSqLLbiQQfD0M0UnVDYyGkmB4J/4lf4qN3rUOsWNkCNFAwcew+KCH/YO9i51mnrfg1e+0hS0DI19f9I1tXyliVu+oB0j5VPM1Gm5jaZOWVt9Do1DivzNTSlqEO3ZsO3shDrFwzAxZpYvenTwdFyDbsYG1YSdDq8I8J"