Создать SAML-приложение в Yandex Identity Hub
Примечание
Функциональность находится на стадии Preview.
Чтобы пользователи вашей организации могли аутентифицироваться во внешних приложениях с помощью технологии единого входа по стандарту SAML
Управлять SAML-приложениями может пользователь, которому назначена роль organization-manager.samlApplications.admin
или выше.
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:-
Выберите метод единого входа SAML (Security Assertion Markup Language).
-
В поле Имя задайте имя создаваемого приложения. Имя должно быть уникальным в пределах организации и соответствовать требованиям:
- длина — от 1 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) В поле Описание задайте описание приложения.
-
(Опционально) Добавьте метки:
- Нажмите Добавить метку.
- Введите метку в формате
ключ: значение
. - Нажмите Enter.
-
Нажмите кнопку Создать приложение.
-
Настройте приложение
Чтобы настроить интеграцию внешнего приложения с созданным SAML-приложением в Identity Hub, выполните настройки на стороне поставщика услуг и на стороне Identity Hub.
Задайте настройки интеграции на стороне поставщика услуг
Значения настроек интеграции, которые нужно задать на стороне поставщика услуг, доступны на странице с информацией о приложении в интерфейсе Cloud Center
В зависимости от возможностей вашего поставщика услуг вы можете выполнить необходимые настройки вручную или автоматически, загрузив файл с метаданными или указав URL с метаданными:
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) скопируйте значения параметров, которые необходимо задать на стороне поставщика услуг:
Issuer / IdP EntityID
— уникальный идентификатор, используемый для приложения. Значение должно совпадать на стороне поставщика услуг и на стороне Identity Hub.Login URL
— адрес, на который поставщик услуг будет отправлять запросы для аутентификации пользователя.Logout URL
— адрес, на который поставщик услуг будет отправлять SAML-запрос при выходе пользователя из системы.
-
Скачайте сертификат приложения в блоке Сертификат приложения, нажав кнопку Скачать сертификат.
-
На стороне поставщика услуг настройте интеграцию с SAML-приложением Identity Hub, указав скопированные параметры и добавив скачанный сертификат. При необходимости обратитесь к документации или в службу поддержки вашего поставщика услуг.
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) нажмите кнопку Скачать файл с метаданными.
Скачанный XML
-файл содержит значения всех необходимых настроек и сертификат, который используется для проверки подписи SAML-ответов. Загрузите скачанный файл на стороне поставщика услуг, если ваш поставщик услуг поддерживает конфигурирование приложения с помощью файла с метаданными. При необходимости обратитесь к документации или в службу поддержки вашего поставщика услуг.
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) скопируйте значение поля Metadata URL.
По ссылке доступны значения всех необходимых настроек и сертификат, который используется для проверки подписи SAML-ответов. Укажите полученную ссылку в настройках на стороне поставщика услуг, если ваш поставщик услуг поддерживает конфигурирование приложения с помощью URL с метаданными. При необходимости обратитесь к документации или в службу поддержки вашего поставщика услуг.
Настройте SAML-приложение на стороне Identity Hub
Прежде чем настраивать SAML-приложение на стороне Identity Hub, получите необходимые значения настроек у вашего поставщика услуг. Затем перейдите к настройкам SAML-приложения в Identity Hub:
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
Справа сверху нажмите кнопку
Редактировать и в открывшемся окне:-
В поле SP EntityID укажите уникальный идентификатор поставщика услуг (Service Provider).
Значение должно совпадать на стороне поставщика услуг и на стороне Identity Hub.
-
В поле ACS URL укажите URL-адрес, на который Identity Hub будет отправлять SAML-ответ.
Если ваш поставщик услуг вместо ACS URL использует ACS-индексы, в дополнение к ACS URL вы можете задать полученное на стороне поставщика услуг значение индекса.
При необходимости воспользуйтесь кнопкой Добавить URL, чтобы указать несколько URL/индексов ACS.
Примечание
Если в настройках поля ACS URL для одного из URL-адресов вы указали индекс, то индексы также должны быть указаны и для всех остальных URL-адресов.
-
В поле Режим подписи выберите элементы SAML-ответа, которые будут подписываться электронной подписью:
Assertions
— будут подписываться только передаваемые атрибуты. Значение по умолчанию.Response
— будет подписываться весь SAML-ответ целиком.Assertions and Response
— будут подписываться как целиком весь SAML-ответ, так и (отдельно) передаваемые атрибуты.
Важно
Режим подписи, заданный для SAML-приложения на стороне Identity Hub, должен соответствовать режиму подписи, заданному на стороне поставщика услуг.
-
Нажмите кнопку Сохранить.
-
Настройте атрибуты пользователей и групп
Вы можете настроить атрибуты, которые будут передаваться из Identity Hub поставщику услуг:
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное приложение. -
Перейдите на вкладку Атрибуты.
-
Чтобы добавить атрибут групп пользователей, в правом верхнем углу страницы нажмите кнопку
Добавить атрибут группы и в открывшемся окне:-
В поле Имя атрибута задайте имя атрибута групп пользователей. Имя атрибута должно быть уникальным для вашего приложения.
-
В поле Передаваемые группы выберите одно из значений:
-
Все группы
— в SAML-ответе в значение данного поля будут включены все группы, в которые входит пользователь.Максимальное количество передаваемых в этом поле групп — 1 000. Если количество групп, в которые входит пользователь, превышает это число, на сторону поставщика услуг будет передана только первая тысяча групп.
-
Только назначенные группы
— в SAML-ответе в значение данного поля из всех групп, в которые входит пользователь, будут включены только те группы, которые явно заданы на вкладке Пользователи и группы SAML-приложения.
-
-
Нажмите кнопку Добавить.
-
-
Чтобы добавить дополнительные атрибуты пользователей, в правом верхнем углу страницы нажмите кнопку
Добавить атрибут и в открывшемся окне:-
В поле Имя атрибута задайте имя атрибута, уникальное для вашего приложения.
-
В поле Значение выберите одно из значений:
SubjectClaims.sub
— идентификатор пользователя. Значение поля соответствует значению, отображаемому в поле Идентификатор в списке пользователей организации в интерфейсе Identity Hub в Cloud Center. Например:aje0fapf84ofj57q1r0b
.SubjectClaims.preferred_username
— уникальный логин пользователя. Значение поля соответствует значению, отображаемому в поле Имя пользователя в списке пользователей организации в интерфейсе Identity Hub в Cloud Center. Например:ivanov@example-federation.ru
.SubjectClaims.name
— полное имя пользователя. Значение поля соответствует значению, отображаемому в поле Пользователь в списке пользователей организации в интерфейсе Identity Hub в Cloud Center. Например:Иванов Иван
.SubjectClaims.given_name
— имя. Значение поля соответствует значению, отображаемому в поле Имя в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Identity Hub в Cloud Center. Например:Иван
.SubjectClaims.family_name
— фамилия. Значение поля соответствует значению, отображаемому в поле Фамилия в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Identity Hub в Cloud Center. Например:Иванов
.SubjectClaims.email
— адрес электронной почты. Значение поля соответствует значению, отображаемому в поле Электронная почта на странице с информацией о пользователе в интерфейсе Identity Hub в Cloud Center. Например:ivanov@example-company.ru
.SubjectClaims.phone_number
— номер телефона. Значение поля соответствует значению, отображаемому в поле Номер телефона в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Identity Hub в Cloud Center. Например:+74951234567
.
Примечание
Любое из этих значений атрибутов вы можете добавлять более одного раза под разными именами.
-
Нажмите кнопку Добавить.
-
-
Чтобы изменить имеющийся атрибут, нажмите на строку с нужным атрибутом и в открывшемся окне:
-
Измените имя и/или значение атрибута.
Имя атрибута
NameID
, в котором передается идентификатор пользователя, изменить нельзя. Для этого атрибута можно изменить формат, в котором будет отправляться идентификатор, если в SAML-запросе со стороны поставщика услуг формат атрибута не указан явно. При изменении формата значение атрибута изменяется автоматически. Возможные форматы и значения атрибута:-
urn: oasis: names: tc: SAML: 1.1:nameid-format: emailAddress
— идентификатор пользователя передается в формате адреса электронной почты в атрибутеSubjectClaims.preferred_username
. Формат по умолчанию.Уникальность и неизменяемость передаваемого идентификатора не гарантируется: в одной организации могут быть два пользователя с одинаковым идентификатором
preferred_username
. Например: федеративный пользователь и локальный пользователь могут иметь одинаковое значение этого атрибута.Если идентификатор
preferred_username
федеративного пользователя задан не в формате адреса электронной почты, к передаваемому идентификатору будет автоматически добавлен суффикс@<идентификатор_федерации_удостоверений>
, чтобы привести его к такому формату. -
urn: oasis: names: tc: SAML: 2.0:nameid-format: persistent
— идентификатор пользователя передается в атрибутеSubjectClaims.sub
в формате идентификатора пользователя организации. При этом передаваемое значение гарантированно уникальное и неизменяемое.
Важно
Если SAML-запрос со стороны поставщика услуг содержит явное указание формата, в котором ожидается значение идентификатора пользователя
NameID
, то в SAML-ответе значение будет отправлено в том формате, который указан в SAML-запросе. При этом значение формата, заданное в настройках Identity Hub, будет проигнорировано. -
-
Нажмите кнопку Обновить.
-
-
Чтобы удалить имеющийся атрибут пользователя или группы, в строке с этим атрибутом нажмите значок
и выберите Удалить, после чего подтвердите удаление.Примечание
Удалять можно любые атрибуты, кроме обязательного атрибута
NameID
.
Убедитесь, что добавленные атрибуты также добавлены в настройки интеграции SAML-приложения на стороне поставщика услуг и корректно обрабатываются им.
Настройте пользователей и группы
Чтобы пользователи вашей организации могли аутентифицироваться во внешнем приложении с помощью SAML-приложения Identity Hub, необходимо явно добавить в SAML-приложение нужных пользователей и/или группы пользователей:
Примечание
Управлять пользователями и группами, добавленными в SAML-приложение, может пользователь, которому назначена роль organization-manager.samlApplications.userAdmin
или выше.
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное приложение. -
Перейдите на вкладку Пользователи и группы.
-
Чтобы добавить в SAML-приложение пользователя или группу пользователей:
- Нажмите кнопку
Добавить пользователей. - В открывшемся окне выберите нужного пользователя или группу пользователей.
- Нажмите кнопку Добавить.
- Нажмите кнопку
-
Чтобы удалить пользователя или группу пользователей из SAML-приложения:
- В списке пользователей и групп в строке с нужным пользователем или группой нажмите значок
и выберите Удалить. - Подтвердите удаление.
- В списке пользователей и групп в строке с нужным пользователем или группой нажмите значок
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе SAML-приложения и интеграции с поставщиком услуг, выполните аутентификацию во внешнем приложении от имени одного из добавленных в приложение пользователей.