Аутентификация#
Панель Аутентификация (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://ac.example.com", "displayname": "Automation Controller cluster", "name": "ac-cluster" }, "ru-RU": { "url": "https://ac.example.com", "displayname": "Кластер Automation Controller", "name": "ac-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#
Важно
Эта часть документации находится в стадии разработки.