Провайдеры аутентификации#
Astra Automation Controller поддерживает использование внешних провайдеров аутентификации (в алфавитном порядке):
Azure AD;
GitHub;
Google OAuth2;
LDAP;
OIDC;
RADIUS;
SAML;
TACACS+.
Предупреждение
Провайдеры RADIUS и TACACS+ считаются устаревшими и не поддерживаются. В одной из следующий версий Astra Automation Controller эти провайдеры станут недоступными для применения.
Поддерживается автоматическая ассоциация пользователей из внешней системы аутентификации с организациями и командами контроллера.
Ассоциация с организациями#
Настройки ассоциации внешних пользователей с организациями контроллера задаются в виде словаря, где ключ – название организации в контроллере, а значение – словарь, который может содержать следующие ключи:
admins
– администраторы организации;remove_admins
;users
– пользователи организации;remove_users
.
Если организация с указанным названием не существует, она будет создана.
Обработка значений параметров admins
и users
выполняется следующим образом:
Если значение не задано, список администраторов или пользователей организации не обновляется.
Если значение параметра равно
true
, все аутентифицированные внешние пользователи автоматически получают привилегии администраторов организации или пользователей организации соответственно.Если значение параметра равно
false
, внешние пользователи получают привилегии администраторов организации или пользователей организации соответственно независимо от того, выполняли ли они аутентификацию.Если в значении параметра указана строка или массив строк, то интерпретация этих строк зависит от типа провайдера аутентификации.
Azure AD, GitHub, Google OAuth2
Строки, в начале и конце которых стоит символ
/
, обрабатываются как регулярные выражения. Для регулярных выражений поддерживаются модификаторы, которые ставятся после закрывающей косой черты/
:i
– игнорирование регистра символов;m
– поддержка многострочного текста.
LDAP
В строках указываются параметры отбора пользователей LDAP, например:
"admins": "CN=Administrators,OU=groups,DC=example,DC=com"
Значение параметров remove_admins
и remove_users
определяет порядок обработки записей, не соответствующих условиям отбора.
Если значение параметра равно true
, внешние пользователи, не удовлетворяющие критериям отбора, удаляются из списка администраторов организации и пользователей организации соответственно.
Ассоциация с командами#
Настройки ассоциации внешних пользователей с командами контроллера задаются в виде словаря, где ключ – название команды в контроллере, а значение – словарь, который может содержать следующие ключи:
organization
– название организации, которой принадлежит команда.Если организация с указанным названием не существует, она будет создана.
Если в организации не существует команда с указанным названием, она будет создана.
users
– параметр, определяющий обработку пользователей команды.Если значение параметра не задано, список участников команды не меняется.
Если значение параметра равно
true
, пользователи добавляются как участники команды.Если значение параметра равно
false
, пользователи удаляются из участников команды.Если в значении параметра указана строка или массив строк, то интерпретация этих строк зависит от типа провайдера аутентификации.
Azure AD, GitHub, Google OAuth2
Строки, в начале и конце которых стоит символ
/
, обрабатываются как регулярные выражения. Для регулярных выражений поддерживаются модификаторы, которые ставятся после закрывающей косой черты/
:i
– игнорирование регистра символов;m
– поддержка многострочного текста.
LDAP
В строках указываются параметры отбора пользователей LDAP, например:
"admins": "CN=Administrators,OU=groups,DC=example,DC=com"
remove
– если значение этого параметра равноtrue
, внешние пользователи, не удовлетворяющие критериям отбора, удаляются из команды.
LDAP#
Контроллер позволяет использовать одновременно до шести различных конфигураций подключения к серверам аутентификации LDAP.
По умолчанию используются настройки для работы со службой каталогов Microsoft Active Directory.
Идентификация пользователей, групп и организаций производится по отличительному наименованию (DN, Distinguished Name).
В каждой конфигурации можно задать URI одного или нескольких серверов LDAP. В качестве разделителя URI используется символ пробела или запятой.
Настройки поиска пользователей#
Настройки поиска пользователей задаются в записи следующего вида:
[
"<search_query>",
"<scope>",
"<key>"
]
Здесь:
<search_query> – область поиска пользователей, например,
OU=Users,DC=example,DC=com
.<scope> – ограничение области поиска.
Поддерживаются следующие значения:
SCOPE_BASE
– поиск только по базовому отличительному наименованию;SCOPE_ONELEVEL
– поиск на один уровень ниже базового отличительного наименования, но не в самом базовом отличительном наименовании и не на более низких уровнях;SCOPE_SUBTREE
– поиск по базовому отличительному наименованию и по всем нижележащим уровням.
<key> – указание того, какие данные о записи в LDAP следует считать названием учетной записи пользователя, например,
(cn=%(user)s)
.
Поддерживаются множественные параметры поиска (LDAPSearchUnion), например:
[
[
"OU=Users,DC=west,DC=example,DC=com",
"SCOPE_SUBTREE",
"(sAMAAccountName=%(user)s)"
], [
"OU=Users,DC=north,DC=example,DC=com",
"SCOPE_SUBTREE",
"(sAMAAccountName=%(user)s)"
]
]
Настройки поиска групп#
Настройки поиска групп задаются в записи следующего вида:
[
"<search_query>",
"<scope>",
"key"
]
Здесь:
<search_query> – область поиска групп, например,
DC=example,DC=com
.<scope> – ограничение области поиска.
Поддерживаются следующие значения:
SCOPE_BASE
– поиск только по базовому отличительному наименованию;SCOPE_ONELEVEL
– поиск на один уровень ниже базового отличительного наименования, но не в самом базовом отличительном наименовании и не на более низких уровнях;SCOPE_SUBTREE
– поиск по базовому отличительному наименованию и по всем нижележащим уровням.
<key> – класс объекта LDAP, считающегося группой, например,
(objectClass=group)
.