Аутентификация#
Панель Аутентификация (Authentication) содержит ссылки на страницы настроек внешних провайдеров аутентификации.
Azure AD#
Окно Azure AD используется для настройки аутентификации с помощью провайдера Microsoft Azure Active Directory.
Форма Редактировать (Edit) содержит следующие поля:
Ключ Azure AD OAuth2 (Azure AD OAuth2 Key) – код авторизации приложения в Azure AD.
Секрет Azure AD OAuth2 (Azure AD OAuth2 Secret) – секретный ключ авторизации приложения в Azure AD.
Ассоциация организаций в контроллере с Azure AD с помощью OAuth2 (Azure AD OAuth2 Organization Map) – настройки ассоциации пользователей Azure AD с организациями контроллера.
Пример
Пусть настройки ассоциации пользователей Azure AD с организациями контроллера заданы следующим образом:
В список пользователей организации «Jupiter» будут добавлены все пользователи Azure AD, названия учетных записей которых заканчиваются на
@jupiter.example.com
. В администраторы организации «Juputer» будут добавлены только те пользователи Azure AD, названия учетных записей которых начинаются сadmin_
и заканчиваются на@jupiter.example.com
. Все пользователи Azure AD, не удовлетворяющие указанным условиям, будут удалены из списка администраторов организации «Jupiter» и списка ее участников.Аналогичные настройки используются для организации «Saturn», с той лишь разницей, что названия учетных записей пользователей этой организации должны заканчиваться на
@saturn.example.com
.Ассоциация команд в контроллере с Azure AD с помощью OAuth2 (Azure AD OAuth2 Team Map) – настройки ассоциации пользователей Azure AD с командами контроллера.
Пример
Пусть настройки ассоциации пользователей Azure AD с командами контроллера заданы следующим образом:
Если организация «Jupiter» не существует, она будет создана.
Если в организации «Jupiter» не существует команда «DevOps Team», она будет создана.
В список участников команды «DevOps Team» будут добавлены все пользователи Azure AD, названия учетных записей которых заканчиваются на
@jupiter.example.ru
. Все пользователи Azure AD, не удовлетворяющие указанным условиям, будут удалены из списка участников команды «DevOps Team».Подробности об ассоциации пользователей Azure AD с командами контроллера см. в секции Ассоциация с командами.
GitHub#
Важно
Эта часть документации находится в стадии разработки.
Google OAuth 2#
Важно
Эта часть документации находится в стадии разработки.
LDAP#
Окно LDAP используется для настройки аутентификации с помощью провайдера LDAP.
Оно состоит из вкладки По умолчанию (Default), содержащей настройки для сервера аутентификации LDAP по умолчанию, и пяти вкладок для настройки дополнительных серверов аутентификации LDAP.
Все вкладки содержат одинаковые наборы настроек.
Форма Редактировать (Edit) содержит следующие поля:
URI сервера LDAP (LDAP Server URI) – URI сервера LDAP в следующем формате:
<protocol>://<domain>:<port>
где:
<protocol> – тип протокола для подключения, одно из значений:
ldap
– подключение без защиты;ldaps
– защита подключения с помощью TLS.
<domain> – FQDN сервера LDAP.
<port> – порт для подключения. Как правило, порт
389
используется для подключения по протоколуldap
, а порт636
–ldaps
.
Если необходимо ввести URI нескольких серверов, используйте символы пробела или запятой в качестве разделителя.
Пустое значение в этом поле отключает аутентификацию через LDAP.
Пароль привязки к LDAP (LDAP Bind Password) – пароль для подключения к серверу LDAP.
Тип группы LDAP (LDAP Group Type) – тип обработчика, используемого для групп LDAP.
Может принимать одно из следующих значений:
ActiveDirectoryGroupType
;GroupOfNamesType
;GroupOfUniqueNamesType
;MemberDNGroupType
;NestedActiveDirectoryGroupType
;NestedGroupOfNamesType
;NestedGroupOfUniqueNamesType
;NestedMemberDNGroupType
;NestedOrganizationalRoleGroupType
;OrganizationalRoleGroupType
;PosixGroupType
;PosixUIDGroupType
.
Подробное описание каждого типа см. в документации библиотеки
django-auth-ldap
.Значение по умолчанию –
MemberDNGroupType
.Запуск LDAP с TLS (LDAP Start TLS) – использование TLS для подключения к серверу LDAP по протоколу
ldap
(без защиты соединения).Значение по умолчанию –
Выкл
(Off).LDAP Bind DN – отличительное наименование пользователя (Distinguished Name) для привязки ко всем поисковым запросам, например:
CN=users,DC=example,DC=com
Шаблон уникального наименования (DN) пользователя в LDAP (LDAP User DN Template) – если все пользователи в LDAP имеют одно и то же отличительное наименование, укажите в этом поле шаблон для более эффективного поиска.
Важно
Указанное в этом поле значение используется вместо значения, заданного в поле LDAP Bind DN.
Обязательная группа LDAP (LDAP Require Group) – отличительное наименование группы LDAP, в которую должны входить пользователи. Если пользователь не является членом указанной группы, его аутентификация в контроллере невозможна.
Если поле не заполнено, все пользователи LDAP, соответствующие поисковому запросу, смогут аутентифицироваться в контроллере.
Поддерживается только одна обязательная группа.
Запрещенная группа LDAP (LDAP Deny Group) – отличительное наименование группы LDAP, членам который запрещено аутентифицироваться в контроллере.
Поддерживается только одна запрещенная группа.
LDAP-запрос по поиску пользователей (LDAP User Search) – параметры запроса, используемого для поиска пользователей в LDAP, например:
[ "DC=example,DC=com", "SCOPE_SUBTREE", "(cn=%(user)s)" ]
Здесь:
DC=example,DC=com
– поиск в доменеexample.com
;SCOPE_SUBTREE
– ограничение поиска доменами, дочерними по отношению кexample.com
;(CN=%(user)s)
– фильтрация найденных пользователей по свойствуCN
, равному значению параметраuser
.
Поддерживается использование LDAPSearchUnion для создания сложных запросов.
Подробности см. в RFC 4517.
Групповой поиск по LDAP (LDAP Group Search) – настройки поиска групп в LDAP, например:
[ "DC=example,DC=com", "SCOPE_SUBTREE", "(ObjectClass=group)" ]
Здесь:
DC=example,DC=com
– поиск в доменеexample.com
;SCOPE_SUBTREE
– ограничение поиска доменами, дочерними по отношению кexample.com
;(ObjectClass=group)
– поиск только объектов классаgroup
.
Использование LDAPSearchUnion в этом поле не поддерживается.
Подробности см. в RFC 4517.
Ассоциация пользовательских атрибутов с LDAP (LDAP User Attribute Map) – правила ассоциирования данных пользователя в LDAP с данными пользователя в контроллере, например:
{ "first_name", "givenName", "last_name", "sn", "email": "mail" }
По умолчанию используются настройки для работы с Microsoft Active Directory.
Параметры типа группы LDAP (LDAP Group Type Parameters) – дополнительные параметры типа группы LDAP.
Список поддерживаемых параметров зависит от значения, выбранного в поле Тип группы LDAP (LDAP Group Type). Подробности см. в документации библиотеки
django-auth-ldap
.Значение по умолчанию:
{ "member_attr": "member", "name_attr": "cn" }
Пользовательские флаги LDAP по группам (LDAP User Flags By Group) – критерии, при выполнении которых пользователям LDAP в контроллере будут автоматически присваиваться типы «Системный администратор» (System Administrator) и «Системный аудитор» (System Auditor), например:
{ "is_superuser": "cn=superusers,ou=groups,db=example,dc=com", "is_system_auditor": "cn=auditors,ou=groups,dc=example,dc=com" }
Ассоциация организации с LDAP (LDAP Organization Map) – параметры ассоциации организаций LDAP с организациями контроллера.
Пример
Пусть настройки ассоциации пользователей LDAP с организациями контроллера заданы следующим образом:
Если организации «Jupiter» и «Saturn» не существуют, они будут созданы.
В список администраторов организации «Jupiter» будут добавлены все пользователи LDAP, которые удовлетворяют следующим условиям:
состоят в группе LDAP
admins
;имеют учетную запись в домене
jupiter.example.com
.
Все пользователи LDAP, не удовлетворяющие указанным условиям, будут удалены из списка администраторов организации «Jupiter».
В список участников организации «Jupiter» будут добавлены все пользователи LDAP, которые удовлетворяют следующим условиям:
состоят в группах LDAP
devops
илиtesters
;имеют учетную запись в домене
jupiter.example.com
.
Все пользователи LDAP, не удовлетворяющие указанным условиям, будут удалены из списка участников организации «Jupiter».
В список администраторов организации «Saturn» будут добавлены все пользователи LDAP, которые удовлетворяют следующим условиям:
состоят в группе LDAP
admins
;имеют учетную запись в домене
saturn.example.ru
.
Все пользователи LDAP, не удовлетворяющие указанным условиям, будут удалены из списка администраторов организации «Saturn».
Участниками организации «Saturn» являются любые пользователи, найденные в LDAP.
Участники организации «Saturn», не найденные в LDAP, не будут удалены из контроллера.
Подробности об ассоциации внешних пользователей с организациями контроллера см. в секции Ассоциация с организациями.
Ассоциация группы с LDAP (LDAP Team Map) – параметры ассоциации групп LDAP с командами контроллера.
Пример
Пусть настройки ассоциации пользователей LDAP с командами контроллера заданы следующим образом:
Если организация «Jupiter» не существует, она будет создана.
Если в организации «Jupiter» не существует команда «DevOps Team», она будет создана.
В список участников команды «DevOps Team» будут добавлены все пользователи LDAP, которые удовлетворяют следующим условиям:
входят в группу LDAP
devops
;имеют учетную запись в домене
jupiter.example.com
.
Все пользователи LDAP, не удовлетворяющие указанным условиям, будут удалены из списка участников команды «DevOps Team».
Подробности об ассоциации внешних пользователей с командами контроллера см. в секции Ассоциация с командами.
RADIUS#
Важно
Эта часть документации находится в стадии разработки.
SAML#
Окно SAML используется для настройки аутентификации с помощью поставщиков услуг аутентификации SAML.
Форма Редактировать (Edit) содержит следующие поля:
Уникальный идентификатор объекта поставщика услуг SAML (SAML Service Provider Entity ID) – как правило, в качестве идентификатора объекта поставщика услуг аутентификации SAML используется базовый URL контроллера. Его значение указывается в общих системных настройках контроллера.
Если для доступа к контроллеру используется балансировщик нагрузки, укажите его URL.
Автоматически создавать группы и организации при подключении к SAML (Automatically Create Organizations and Teams on SAML Login) – при успешной аутентификации пользователей SAML необходимые организации и команды создаются автоматически.
Открытый сертификат поставщика услуг SAML (SAML Service Provider Public Certificate) – открытый сертификат поставщика услуг SAML, например:
-----BEGIN CERTIFICATE---- AAAA231jfdsalfkjkl........ ----END CERTIFICATE-----
Закрытый ключ поставщика услуг SAML (SAML Service Provider Private Key) – закрытый ключ поставщика услуг SAML, например:
-----BEGIN PRIVATE KEY----- PPPPP2183910das0921........ -----END PRIVATE KEY-----
Информация об организации поставщика услуг SAML (SAML Service Provider Organization Info) – словарь с информацией об организации поставщика услуг SAML, например:
{ "en-US": { "url": "https://aac.example.com", "displayname": "Automation Controller cluster", "name": "aac-cluster" }, "ru-RU": { "url": "https://aac.example.com", "displayname": "Кластер Automation Controller", "name": "aac-cluster" } }
Контакт инженера поставщика SAML (SAML Service Provider Technical Contact) – словарь с информацией о службе технической поддержки поставщика услуг SAML, например:
{ "givenName": "SAML Technical Support", "emailAddress": "tech-support@saml.example.com" }
Контакт службы поддержки поставщика SAML (SAML Service Provider Support Contact) – словарь с информацией о службе поддержки пользователей поставщика услуг SAML, например:
{ "givenName": "SAML User Support", "emailAddress": "user-support@saml.example.com" }
Разрешить использование провайдеров контроля идентичности через SAML (SAML Enabled Identity Providers) – словарь с настройками отдельных поставщиков услуг SAML.
Пример
Пусть словарь настроек содержит следующие данные о поставщиках услуг SAML:
{ "keycloak": { "entity_id": "https://saml.example.com/keycloak/b2912kdsjkl1k", "url": "https://saml.example.com/keycloak/sso/", "x509cert": "MIID0DCCAj12309jklwqW...3123jklfdsajkl213", "attr_user_permanent_id": "user_id", "attr_username": "Email", "attr_email": "Email", "attr_first_name": "FirstName", "attr_last_name": "LastName" } }
Здесь:
keycloak
– идентификатор поставщика услуг аутентификации SAML.entity_id
– идентификатор профиля, предоставленный поставщиком услуг аутентификации SAML.url
– URL, на который Automation Controller должен перенаправлять пользователей для аутентификации через SAML.x509cert
– сертификат провайдера идентификации (IdP) SAML.При заполнении этого поля необходимо убрать из сертификата маркеры начала (
-----BEGIN CERTIFICATE-----
) и конца (-----END CERITIFICATE-----
), а оставшиеся строки объединить в одну.attr_user_permanent_id
– название атрибута пользователя SAML, в котором хранится его уникальный идентификатор.attr_username
– название атрибута SAML, в котором хранится название учетной записи пользователя. В данном случае в качестве названия учетной записи пользователя Automation Controller используется адрес электронной почты пользователя SAML, поэтому в значении ключаattr_username
указано значениеEmail
.attr_email
– название атрибута SAML, в котором хранится адрес электронной почты пользователя.attr_first_name
– название атрибута пользователя SAML, в котором хранится имя пользователя.attr_last_name
– название атрибута пользователя SAML, в котором хранится фамилия пользователя.
Ассоциация организаций с помощью SAML (SAML Organization Map) – правила назначения пользователям SAML ролей «Администратор» и «Участник» на уровне организаций.
Пример
Пусть настройки ассоциации пользователей SAML с организациями контроллера заданы следующим образом:
{ "Jupiter": { "admins": "admin@jupiter.example.com", "users": [ "/.*?@users\.example\.com$/i", "/.*?devops\.example\.com$/i" ], "remove_admins": true, "remove_users": true } }
Если организация «Jupiter» не существует, она будет создана.
В список администраторов организации «Jupiter» будет добавлен пользователь SAML с названием учетной записи
admin@jupiter.example.com
. Все пользователи SAML, не удовлетворяющие указанному условию, будут удалены из списка администраторов организации «Jupiter».В список участников организации «Jupiter» будут добавлены все пользователи SAML, названия учетных записей которых заканчиваются на
@users.example.com
и@devops.example.com
(без учета регистра). Все пользователи SAML, не удовлетворяющие указанным условиям, будут удалены из списка участников организации «Jupiter».Подробности см. в секции Ассоциация с организациями.
Ассоциация атрибутов организаций с помощью SAML (SAML Organization Attribute Mapping) – словарь с названиями атрибутов, которыми должен обладать пользователь SAML для назначения ему ролей «Администратор» и «Участник» на уровне организаций.
Пример
Пусть настройки ассоциации атрибутов организаций заданы следующим образом:
{ "saml_attr": "is-member", "saml_admin_attr": "is-admin", "remove": true, "remove_admins": true }
Если в данных пользователя SAML есть атрибут
is-member
, ему назначается роль «Участник» на уровне соответствующих организаций контроллера.Если в данных пользователя SAML есть атрибут
is-admin
, ему назначается роль «Администратор» на уровне соответствующих организаций контроллера.У пользователей SAML, не имеющих указанных атрибутов, роли «Администратор» и «Участник» на уровне организаций отзываются автоматически.
Подробности см. в секции Ассоциация атрибутов организаций.
Ассоциация команд с помощью SAML (SAML Team Map) – правила назначения пользователям SAML ролей «Администратор» и «Участник» на уровне команд.
Пример
Пусть настройки ассоциации пользователей SAML с командами контроллера заданы следующим образом:
{ "DevOps Team": { "organization": "Jupiter", "users": "/.*?@jupiter\.example\.com$/", "remove": true } }
Если организация «Jupiter» не существует, она будет создана.
Если в организации «Jupiter» не существует команда «DevOps Team», она будет создана.
Пользователям SAML, название учетной записи которых заканчивается на
@jupiter.example.com
, автоматически назначается роль «Участник» на уровне команды «DevOps Team». Пользователи SAML, не удовлетворяющие этому условию, автоматически удаляются из списка участников команды «DevOps Team».Подробности см. в секции Ассоциация с командами.
Ассоциация атрибутов команд с помощью SAML (SAML Team Attribute Mapping) – словарь с названиями атрибутов, которыми должен обладать пользователь SAML для назначения ему ролей «Администратор» и «Участник» на уровне команд.
Пример
Пусть настройки ассоциации атрибутов команд заданы следующим образом:
{ "saml_attr": "team", "remove": true, "team_org_map": [{ "team": "data:team:devOps", "team_alias": "DevOps Team", "organization": "org.jptr" }, { "team": "data:team:auditors", "team_alias": "Auditors Team", "organization": "org.jptr" }] }
Если в контроллере не существует организация
org.jptr
, она будет создана.Если в организации
org.jptr
не существуют команды «DevOps Team» и «Auditors Team», они будут созданы.Пользователям SAML, имеющим атрибут
team
, значение которого равноdata:team:devOps
, назначается роль «Участник» в команде «DevOps Team». Из списка участников команды «DevOps Team» автоматически удаляются пользователи, которые:не имеют атрибута
team
, либоимеют атрибут
team
, но его значение не равноdata:team:devOps
.
Пользователям SAML, имеющим атрибут
team
, значение которого равноdata:team:auditors
, назначается роль «Участник» в команде «Auditors Team». Из списка участников команды «Auditors Team» автоматически удаляются пользователи, которые:не имеют атрибута
team
, либоимеют атрибут
team
, но его значение не равноdata:team:auditors
.
Подробности см. в секции Ассоциация атрибутов команд.
Ассоциация атрибутов пользователей SAML (SAML User Flags Attribute Mapping) – настройки назначения пользователям SAML ролей «Системный администратор» и «Системный аудитор».
Пример
Пусть настройки ассоциации атрибутов пользователей SAML заданы следующим образом:
{ "is_superuser_role": [ "admin", "root" ], "is_superuser_attr": "groups", "is_superuser_value": [ "admin", "root", "astra-admin" ], "is_system_auditor_role": "auditor", "is_system_auditor_attr": "groups", "is_system_auditor_value": ["auditor"] }
Роль «Системный администратор» назначается пользователям SAML, удовлетворяющим хотя бы одному из указанных условий:
наличие атрибута
groups
, хотя бы одно из значений которого равноadmin
,root
илиastra-admin
;наличие роли
admin
илиroot
.
У пользователей SAML, не удовлетворяющих указанным условиям, роль «Системный администратор» автоматически отзывается.
Роль «Системный аудитор» назначается пользователям SAML, удовлетворяющим хотя бы одному из указанных условий:
наличие атрибута
groups
, хотя бы одно из значений которого равноauditor
;наличие роли
auditor
.
У пользователей SAML, не удовлетворяющим указанным условиям, роль «Системный аудитор» автоматически отзывается.
Подробности см. в секции Атрибуты пользователей.
Конфигурация безопасности SAML (SAML Security Config) – настройки безопасности поставщика услуг аутентификации SAML.
Значение по умолчанию:
{ "requestedAuthnContext": false }
Подробное описание доступных настроек см. в документации библиотеки python-saml.
Дополнительные данные настройки сервиса идентификации SAML (SAML Service Provider extra configuration data) – дополнительные настройки поставщика услуг аутентификации SAML.
Подробное описание доступных настроек см. в документации библиотеки python-saml.
Ассоциация SAML IDP с атрибутами extra_data (SAML IDP to extra_data attribute mapping) – список кортежей с названиями атрибутов поставщика услуг идентификации (IdP), преобразуемых в атрибуты
extra_data
, например:[ ('attribute_name', 'extra_data_name_for_attribute'), ('department', 'department'), ('user_first_name', 'first_name') ]
Подробное описание доступных настроек см. в документации библиотеки python-social-auth.
TACACS+#
Важно
Эта часть документации находится в стадии разработки.
Общий OIDC#
Важно
Эта часть документации находится в стадии разработки.