Добавление поставщиков удостоверений#
Прежде чем подключаться к поставщику удостоверений и импортировать его пользователей, необходимо создать доменные группы для этих пользователей и назначить этим группам соответствующие роли.
Предварительные требования
Локальные группы домена создаются, как описано в разделе Создание доменных групп.
URL-адрес перенаправления (
redirect_uri) для кластера должен быть https://<url>:8800/api/v2/login/idp/.
Добавление поставщика удостоверений
На экране Проекты и пользователи выберите нужный домен.
Перейдите в раздел Настройки → Поставщик удостоверений и нажмите Добавить.
В окне Добавить поставщика удостоверений укажите следующие параметры:
Пользовательское имя поставщика удостоверений, которое будет отображаться на экране входа в систему.
Уникальный идентификатор эмитента, предоставленный поставщиком OIDC. Обычно отображается как URN.
Идентификатор клиента и секрет для доступа к поставщику OIDC.
URL-адрес метаданных конечной точки обнаружения поставщика OIDC. URL-адрес метаданных обычно представляет собой конечную точку издателя, соединенную с путем
/.well-known/openid-configuration. Например, если идентификатор эмитента https://idp.example.com/adfs/, URL-адрес метаданных будет https://idp.example.com/adfs/.well-known/openid-configuration.Области, определяющие, какие данные удостоверения пользователя будут совместно использоваться поставщиком OIDC во время проверки подлинности.
Важно
Области allatclaims и openid являются обязательными для поставщиков Microsoft AD FS.
В разделе Сопоставление можно создавать правила сопоставления вручную или автоматически из файла сопоставления:
Ручное создание правил сопоставления
Выберите Создать правила сопоставления, а затем нажмите Добавить.
В окне Добавить правило создайте
Условия сопоставления, нажав кнопку Добавить и указав необходимые параметры:Укажите атрибут пользователя Атрибут, который вы получаете от поставщика удостоверений во время аутентификации.
В поле Условие укажите условие, которое будет применяться к атрибуту. При условии
Существуетбудут сопоставлены все пользователи с этим атрибутом. УсловиеСодержитотображает пользователей, если этот атрибут содержит любое из указанных значений. УсловиеНе содержитсопоставляет пользователей, если этот атрибут не содержит ни одного из указанных значений.В поле Значение укажите желаемое значение атрибута в виде строки, списка, разделенного запятыми, или регулярного выражения.
Выберите существующую группу домена для назначения федеративных пользователей.
Если у вас есть правило сопоставления с условием
Существует, выберите атрибуты, из которых будет состоять имя локального пользователя. Например, с атрибутом сопоставленияemailи условием сопоставленияСуществует, имена локальных пользователей могут состоять из их адресов электронной почты.
Автоматическое создание правил сопоставления
Выберите Загрузить файл сопоставления в формате JSON с уже настроенными правилами сопоставления.
Напишите правила сопоставления в формате JSON в поле Данные сопоставления. Либо щелкните Загрузить, а затем просмотрите файл JSON на локальном сервере, чтобы загрузить данные сопоставления.
Файл сопоставления может выглядеть следующим образом:
# cat mapping.json [ { "local": [ { "user": { "name": "{0}" }, "group": { "name":"users" } } ], "remote": [{"type": "email"}] } ]
В этом примере все пользователи с атрибутом
emailбудут сопоставлены группеusersдоменаdefault. Для получения подробных сведений о создании файла сопоставления см. документацию OpenStack.
Нажмите Добавить.
Используйте следующую команду:
vinfra domain idp create --domain <domain> --issuer <issuer> --scope <scope>
[--metadata-url <metadata-url>] [--client-id <client-id>]
[--client-secret <client-secret>] [--mapping <path>]
[--enable] [--disable] <name>
--domain <domain>Имя или ID домена
--issuer <issuer>Эмитент поставщика удостоверений
--scope <scope>Область, определяющая, какие данные удостоверения пользователя будут совместно использоваться поставщиком удостоверений во время проверки подлинности.
Важно
Области allatclaims и openid являются обязательными для поставщиков Microsoft AD FS.
--metadata-url <metadata-url>URL-адрес метаданных конечной точки обнаружения поставщика удостоверений
--client-id <client-id>Идентификатор клиента для доступа к поставщику удостоверений
--client-secret <client-secret>Секрет клиента для доступа к поставщику удостоверений
--mapping <path>Путь к файлу конфигурации сопоставления
Файл сопоставления может выглядеть следующим образом:
# cat mapping.json [ { "local": [ { "user": { "name": "{0}" }, "group": { "name":"users" } } ], "remote": [{"type": "email"}] } ]
В этом примере все пользователи с атрибутом
emailбудут сопоставлены группеusersдоменаdefault. Для получения подробных сведений о создании файла сопоставления см. документацию OpenStack.--enableВключить поставщика удостоверений
--disableОтключить поставщика удостоверений
<name>Имя поставщика удостоверений
Например, чтобы добавить поставщика удостоверений с именем My ADFS в домене mydomain, запустите команду:
# vinfra domain idp create --domain mydomain --issuer https://idp.example.com/adfs/ \
--scope "allatclaims openid email" --client-id xxx --client-secret xxx --mapping mapping.json "My ADFS"
Добавленный поставщик удостоверений появится в выводе команды vinfra domain idp list:
# vinfra domain idp list --domain mydomain
+-------------+---------+-------------------------------+--------------------------+-----------+
| id | name | issuer | scope | domain_id |
+-------------+---------+-------------------------------+--------------------------+-----------+
| df5a54ce<…> | My ADFS | https://idp.example.com/adfs/ | allatclaims openid email | 36f454<…> |
+-------------+---------+-------------------------------+--------------------------+-----------+
Что дальше
