Изменить SAML-приложение в Yandex Identity Hub
Важно
Функциональность доступна только в регионе Россия.
Управлять SAML-приложениями может пользователь, которому назначена роль organization-manager.samlApplications.admin или выше.
Измените базовые настройки приложения
Чтобы изменить базовые настройки SAML-приложения:
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
Справа сверху нажмите кнопку
Редактировать и в открывшемся окне:-
В поле Имя измените имя приложения. Имя должно быть уникальным в пределах организации и соответствовать требованиям:
- длина — от 1 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
В поле Описание измените описание приложения.
-
В поле Метки добавьте новые метки с помощью кнопки Добавить метку. Чтобы удалить существующую метку, используйте значок
.
-
-
В блоке Конфигурация поставщика услуг (SP):
- В поле SP EntityID укажите уникальный идентификатор поставщика услуг (Service Provider). Значение должно совпадать на стороне поставщика услуг и на стороне Yandex Identity Hub.
- В поле ACS URL укажите URL-адрес, на который Yandex Identity Hub будет отправлять SAML-ответ. Чтобы указать несколько адресов, нажмите Добавить URL. ACS URL должен соответствовать схеме
https. Использовать протокол без шифрования допускается только в целях тестирования на локальном хосте (значенияhttp://127.0.0.1иhttp://localhost). - В поле SP Logout URL укажите адрес, по которому поставщик удостоверений отправляет SAML-ответ после успешного выхода пользователя из системы.
- В поле Режим подписи укажите элементы SAML-ответа, которые будут подписываться электронной подписью:
Assertions— только передаваемые атрибуты пользователя;Response— весь SAML-ответ целиком;Assertions and Response— целиком весь SAML-ответ и (отдельно) передаваемые атрибуты.
-
(Опционально) Активируйте опцию Принимать только подписанные запросы, чтобы принимать только запросы, подписанные одним из добавленных сертификатов. Добавьте сертификаты:
- Нажмите Добавить сертификат.
- В открывшемся окне выберите способ добавления и прикрепите файл или укажите текст вашего сертификата.
- Нажмите кнопку Добавить.
Для работы функциональности требуется загрузить сертификат с открытым ключом, полученный у поставщика услуг, который будет использоваться для проверки подписи.
-
(Опционально) Активируйте опцию Шифровать assertion в ответе, чтобы SAML-ответ шифровался с помощью выбранного сертификата:
-
Выберите Алгоритм шифрования данных и Алгоритм шифрования ключа.
-
Добавьте сертификат:
- Нажмите Добавить сертификат.
- В открывшемся окне выберите способ добавления и прикрепите файл или укажите текст вашего сертификата.
- Нажмите кнопку Добавить.
Для работы функциональности требуется загрузить сертификат с открытым ключом, полученный у поставщика услуг, который будет использоваться для шифрования.
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для изменения SAML-приложения:
yc organization-manager idp application saml application update --help -
Выполните команду:
yc organization-manager idp application saml application update \ --id <идентификатор_приложения> \ --new-name <имя_приложения> \ --description <описание_приложения> \ --labels <ключ>=<значение>[,<ключ>=<значение>]Где:
-
--id— идентификатор SAML-приложения. Обязательный параметр. -
--new-name— новое имя SAML-приложения. Имя должно быть уникальным в пределах организации и соответствовать требованиям:- длина — от 1 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
--description— новое описание SAML-приложения. -
--labels— новый список меток. Можно указать одну или несколько меток через запятую в формате<ключ1>=<значение1>,<ключ2>=<значение2>.
Результат:
id: ek0o663g4rs2******** name: saml-app organization_id: bpf2c65rqcl8******** group_claims_settings: group_distribution_type: NONE status: ACTIVE created_at: "2025-10-21T10:51:28.790866Z" updated_at: "2025-10-21T12:37:19.274522Z" -
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Опишите в конфигурационном файле новые параметры SAML-приложения:
resource "yandex_organizationmanager_idp_application_saml_application" "saml_app" { organization_id = "<идентификатор_организации>" name = "<новое_имя_приложения>" description = "<новое_описание_приложения>" labels = { "<ключ>" = "<значение>" } }Где:
-
name— новое имя SAML-приложения. Имя должно быть уникальным в пределах организации и соответствовать требованиям:- длина — от 1 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
description— новое описание SAML-приложения. -
labels— новые метки.
Подробнее о параметрах ресурса
yandex_organizationmanager_idp_application_saml_applicationчитайте в документации провайдера. -
-
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения ресурсов и их настройки можно в интерфейсе Cloud Center
. -
Воспользуйтесь методом REST API Application.Update для ресурса Application или вызовом gRPC API ApplicationService/Update.
Измените конфигурацию поставщика услуг
Чтобы изменить конфигурацию поставщика услуг в SAML-приложении:
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
Справа сверху нажмите кнопку
Редактировать и в открывшемся окне:-
В поле SP EntityID укажите уникальный идентификатор поставщика услуг (Service Provider).
Значение должно совпадать на стороне поставщика услуг и на стороне Yandex Identity Hub.
-
В поле ACS URL укажите URL-адрес, на который Yandex Identity Hub будет отправлять SAML-ответ.
Если ваш поставщик услуг вместо ACS URL использует ACS-индексы, в дополнение к ACS URL вы можете задать полученное на стороне поставщика услуг значение индекса.
При необходимости воспользуйтесь кнопкой Добавить URL, чтобы указать несколько URL/индексов ACS.
Примечание
Если в настройках поля ACS URL для одного из URL-адресов вы указали индекс, то индексы также должны быть указаны и для всех остальных URL-адресов.
-
В поле Режим подписи выберите элементы SAML-ответа, которые будут подписываться электронной подписью:
Assertions— будут подписываться только передаваемые атрибуты. Значение по умолчанию.Response— будет подписываться весь SAML-ответ целиком.Assertions and Response— будут подписываться как целиком весь SAML-ответ, так и (отдельно) передаваемые атрибуты.
Важно
Режим подписи, заданный для SAML-приложения на стороне Yandex Identity Hub, должен соответствовать режиму подписи, заданному на стороне поставщика услуг.
-
Нажмите кнопку Сохранить.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для изменения конфигурации поставщика услуг:
yc organization-manager idp application saml application update --help -
Выполните команду:
yc organization-manager idp application saml application update \ --id <идентификатор_приложения> \ --sp-entity-id <идентификатор_поставщика_услуг> \ --acs-urls <URL>[,<URL>] \ --signature-mode <режим_подписи>Где:
--id— идентификатор SAML-приложения. Обязательный параметр.--sp-entity-id— уникальный идентификатор поставщика услуг (Service Provider). Значение должно совпадать на стороне поставщика услуг и на стороне Yandex Identity Hub.--acs-urls— URL-адрес или несколько адресов через запятую, на которые Yandex Identity Hub будет отправлять SAML-ответ. ACS URL должен соответствовать схемеhttps. Использовать протокол без шифрования допускается только в целях тестирования на локальном хосте (значенияhttp://127.0.0.1иhttp://localhost).--signature-mode— элементы SAML-ответа, которые будут подписываться электронной подписью. Возможные значения:assertion_only— только передаваемые атрибуты пользователя;response_only— весь SAML-ответ целиком;response_and_assertion— целиком весь SAML-ответ и (отдельно) передаваемые атрибуты.
Результат:
id: ek0o663g4rs2******** name: saml-app organization_id: bpf2c65rqcl8******** sp_entity_id: https://example.com/saml acs_urls: - url: https://example.com/saml/acs signature_mode: RESPONSE_AND_ASSERTION group_claims_settings: group_distribution_type: NONE status: ACTIVE created_at: "2025-10-21T10:51:28.790866Z" updated_at: "2025-10-21T12:37:19.274522Z"
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Опишите в конфигурационном файле новые параметры конфигурации поставщика услуг:
resource "yandex_organizationmanager_idp_application_saml_application" "saml_app" { organization_id = "<идентификатор_организации>" name = "<имя_приложения>" service_provider = { entity_id = "<идентификатор_поставщика_услуг>" acs_urls = [ { url = "URL" } ] security_settings = { signature_mode = "RESPONSE_AND_ASSERTIONS" } }Где:
entity_id— новый уникальный идентификатор поставщика услуг (Service Provider). Значение должно совпадать на стороне поставщика услуг и на стороне Yandex Identity Hub.acs_urls— новые URL-адреса, на которые Yandex Identity Hub будет отправлять SAML-ответ. ACS URL должен соответствовать схемеhttps. Использовать протокол без шифрования допускается только в целях тестирования на локальном хосте (значенияhttp://127.0.0.1иhttp://localhost).signature_mode— новые элементы SAML-ответа, которые будут подписываться электронной подписью. Возможные значения:ASSERTION_ONLY— только передаваемые атрибуты пользователя;RESPONSE_ONLY— весь SAML-ответ целиком;RESPONSE_AND_ASSERTION— целиком весь SAML-ответ и (отдельно) передаваемые атрибуты.
Подробнее о параметрах ресурса
yandex_organizationmanager_idp_application_saml_applicationчитайте в документации провайдера. -
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения ресурсов и их настройки можно в интерфейсе Cloud Center
. -
Воспользуйтесь методом REST API Application.Update для ресурса Application или вызовом gRPC API ApplicationService/Update.
Измените сертификат ключа проверки электронной подписи
Сертификат ключа проверки электронной подписи для SAML-приложения автоматически выпускается при создании приложения сроком на пять лет.
В любой момент вы можете выпустить любое количество новых сертификатов ключа проверки электронной подписи для SAML-приложения. Для этого:
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное SAML-приложение. -
На вкладке Обзор в блоке Сертификат приложения нажмите кнопку Управление сертификатами и в открывшемся окне:
-
Нажмите кнопку Сгенерировать новый сертификат. В результате будет создан новый сертификат, который отобразится в списке.
-
Чтобы активировать новый сертификат, в строке с этим сертификатом включите опцию Активный.
Важно
В SAML-приложении активным может быть только один сертификат: при активации нового сертификата текущий сертификат становится неактивным. После активации нового сертификата не забудьте загрузить его в настройки интеграции приложения на стороне поставщика услуг.
-
Чтобы скачать новый сертификат, в строке с этим сертификатом нажмите значок
и выберите Скачать. -
Чтобы удалить сертификат, в строке с этим сертификатом нажмите значок
и выберите Удалить, после чего подтвердите удаление. Удалить можно только неактивный сертификат. -
Нажмите кнопку Закрыть.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для создания нового сертификата:
yc organization-manager idp application saml signature-certificate create --help -
Создайте новый сертификат:
yc organization-manager idp application saml signature-certificate create \ --application-id <идентификатор_приложения>Где:
--application-id— идентификатор SAML-приложения.
Результат:
id: ajeq9jfrmc5t******** application_id: ek0o663g4rs2******** created_at: "2025-10-21T10:14:17.861652377Z"Сохраните идентификатор сертификата — он потребуется для активации сертификата.
-
Посмотрите список сертификатов приложения:
yc organization-manager idp application saml signature-certificate list \ --application-id <идентификатор_приложения> -
Активируйте новый сертификат:
yc organization-manager idp application saml signature-certificate update \ --id <идентификатор_сертификата> \ --active trueГде:
--id— идентификатор сертификата, полученный при создании.--active— установитеtrueдля активации сертификата.
Важно
В SAML-приложении активным может быть только один сертификат: при активации нового сертификата текущий сертификат становится неактивным. После активации нового сертификата не забудьте загрузить его в настройки интеграции приложения на стороне поставщика услуг.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Опишите в конфигурационном файле ресурс для создания нового сертификата:
resource "yandex_organizationmanager_idp_application_saml_signature_certificate" "cert" { application_id = "<идентификатор_приложения>" name = "<имя_сертификата>" }Где:
application_id— идентификатор SAML-приложения.name— имя сертификата.
Подробнее о параметрах ресурса
yandex_organizationmanager_idp_application_saml_signature_certificateчитайте в документации провайдера. -
Создайте ресурс:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
-
Чтобы активировать новый сертификат, добавьте его в конфигурацию SAML-приложения, указав идентификатор сертификата в описании ресурса
yandex_organizationmanager_idp_application_saml_applicationв блокеsignature_certificate_ids. -
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения ресурсов и их настройки можно в интерфейсе Cloud Center
. -
Воспользуйтесь методом REST API SignatureCertificate.Create для ресурса SignatureCertificate или вызовом gRPC API SignatureCertificateService/Create.
Измените атрибуты пользователей и групп
Чтобы изменить атрибуты, которые будут передаваться из Yandex Identity Hub поставщику услуг:
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное приложение. -
Перейдите на вкладку Атрибуты.
-
Чтобы добавить атрибут групп пользователей, в правом верхнем углу страницы нажмите кнопку
Добавить атрибут группы и в открывшемся окне:-
В поле Имя атрибута задайте имя атрибута групп пользователей. Имя атрибута должно быть уникальным для вашего приложения.
-
В поле Передаваемые группы выберите одно из значений:
-
Все группы— в SAML-ответе в значение данного поля будут включены все группы, в которые входит пользователь.Максимальное количество передаваемых в этом поле групп — 1 000. Если количество групп, в которые входит пользователь, превышает это число, на сторону поставщика услуг будет передана только первая тысяча групп.
-
Только назначенные группы— в SAML-ответе в значение данного поля из всех групп, в которые входит пользователь, будут включены только те группы, которые явно заданы на вкладке Пользователи и группы SAML-приложения.
-
-
Нажмите кнопку Добавить.
-
-
Чтобы добавить дополнительные атрибуты пользователей, в правом верхнем углу страницы нажмите кнопку
Добавить атрибут и в открывшемся окне:-
В поле Имя атрибута задайте имя атрибута, уникальное для вашего приложения.
-
В поле Значение выберите одно из значений:
SubjectClaims.sub— идентификатор пользователя. Значение поля соответствует значению, отображаемому в поле Идентификатор в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:aje0fapf84ofj57q1r0b.SubjectClaims.preferred_username— уникальный логин пользователя. Значение поля соответствует значению, отображаемому в поле Имя пользователя в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:ivanov@example-federation.ru.SubjectClaims.name— полное имя пользователя. Значение поля соответствует значению, отображаемому в поле Пользователь в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иванов Иван.SubjectClaims.given_name— имя. Значение поля соответствует значению, отображаемому в поле Имя в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иван.SubjectClaims.family_name— фамилия. Значение поля соответствует значению, отображаемому в поле Фамилия в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иванов.SubjectClaims.email— адрес электронной почты. Значение поля соответствует значению, отображаемому в поле Электронная почта на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:ivanov@example-company.ru.SubjectClaims.phone_number— номер телефона. Значение поля соответствует значению, отображаемому в поле Номер телефона в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:+74951234567.SubjectClaims.company_name— название компании. Значение поля соответствует значению, отображаемому в поле Название компании в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:ООО «Праздник».SubjectClaims.department— название подразделения. Значение поля соответствует значению, отображаемому в поле Подразделение в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Отдел АСУ.SubjectClaims.job_title— название должности. Значение поля соответствует значению, отображаемому в поле Должность в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Разработчик.SubjectClaims.employee_id— цифровой код пользователя из кадровой системы компании. Значение поля соответствует значению, отображаемому в поле Табельный номер в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:08012.
Примечание
Любое из этих значений атрибутов вы можете добавлять более одного раза под разными именами.
-
(Опционально) Нажмите Добавить трансформацию, чтобы добавить трансформацию атрибута. Выберите один из типов трансформации:
ExtractAfter— возвращает часть значения, которая находится после указанной подстроки. Подстрока указывается в поле Подстрока. Например,user@site.com+@→site.com.ExtractBefore— возвращает часть значения, которая находится до указанной подстроки. Подстрока указывается в поле Подстрока. Например,user@example.com+@→user.ToLowercase— приводит все символы в значении атрибута к нижнему регистру.ToUppercase— приводит все символы в значении атрибута к верхнему регистру.Trim— удаляет пробелы в начале и в конце значения атрибута.IfEmpty— заменяет текущее значение атрибута, если оно пустое. Можно выбрать значение для замены из списка значений атрибутов или указать свое. Например, если значениеusernameпустое, использоватьemail.Constant— заменяет текущее значение на указанную константу. Константа указывается в поле Значение. Например,<значение_атрибута>→User.
-
Нажмите кнопку Добавить.
-
-
Чтобы изменить имеющийся атрибут, нажмите на строку с нужным атрибутом и в открывшемся окне:
-
Измените имя и/или значение атрибута.
Для атрибута
NameID, в котором передается идентификатор пользователя, можно изменить формат и значение. Список доступных значений в поле Значение зависит от выбранного формата. При изменении формата значение атрибута изменяется автоматически на значение по умолчанию для этого формата.Возможные форматы и значения атрибута:
-
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress— идентификатор пользователя передается в формате адреса электронной почты. Доступные значения:-
SubjectClaims.preferred_username— значение по умолчанию при переключении на этот формат.Уникальность и неизменяемость передаваемого идентификатора не гарантируется: в одной организации могут быть два пользователя с одинаковым идентификатором
preferred_username. Например: федеративный пользователь и локальный пользователь могут иметь одинаковое значение этого атрибута.Если идентификатор
preferred_usernameфедеративного пользователя задан не в формате адреса электронной почты, к передаваемому идентификатору будет автоматически добавлен суффикс@<идентификатор_федерации_удостоверений>, чтобы привести его к такому формату. -
SubjectClaims.email— адрес электронной почты пользователя.
-
-
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent— идентификатор пользователя передается в формате идентификатора пользователя организации. При этом передаваемое значение гарантированно уникальное и неизменяемое. Доступные значения:SubjectClaims.sub— значение по умолчанию при переключении на этот формат.SubjectClaims.external_id— внешний идентификатор пользователя.SubjectClaims.employee_id— табельный номер сотрудника.
-
urn:oasis:names:tc:SAML:2.0:nameid-format:transient— идентификатор пользователя передается в значении идентификатора текущей сессии пользователя. Значение этого идентификатора изменяется в зависимости от используемой сессии и не может применяться для однозначной идентификации пользователя.Формат
urn:oasis:names:tc:SAML:2.0:nameid-format:transientнельзя задать в настройках атрибутаNameIDявно: идентификатор пользователя в этом формате передается в SAML-ответе только в том случае, если этот формат был явно запрошен в SAML-запросе.
Важно
Если SAML-запрос со стороны поставщика услуг содержит явное указание формата, в котором ожидается значение идентификатора пользователя
NameID, то в SAML-ответе значение будет отправлено в том формате, который указан в SAML-запросе. При этом значение формата, заданное в настройках Yandex Identity Hub, будет проигнорировано. -
-
Нажмите кнопку Обновить.
-
-
Чтобы удалить имеющийся атрибут пользователя или группы, в строке с этим атрибутом нажмите значок
и выберите Удалить, после чего подтвердите удаление.Примечание
Удалять можно любые атрибуты, кроме обязательного атрибута
NameID.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для добавления атрибута:
yc organization-manager idp application saml attribute create --help -
Чтобы добавить атрибут пользователя, выполните команду:
yc organization-manager idp application saml attribute create \ --application-id <идентификатор_приложения> \ --name <имя_атрибута> \ --value <значение_атрибута>Где:
-
--application-id— идентификатор SAML-приложения. -
--name— имя атрибута, уникальное для вашего приложения. -
--value— значение атрибута. Возможные значения:SubjectClaims.sub— идентификатор пользователя. Значение поля соответствует значению, отображаемому в поле Идентификатор в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:aje0fapf84ofj57q1r0b.SubjectClaims.preferred_username— уникальный логин пользователя. Значение поля соответствует значению, отображаемому в поле Имя пользователя в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:ivanov@example-federation.ru.SubjectClaims.name— полное имя пользователя. Значение поля соответствует значению, отображаемому в поле Пользователь в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иванов Иван.SubjectClaims.given_name— имя. Значение поля соответствует значению, отображаемому в поле Имя в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иван.SubjectClaims.family_name— фамилия. Значение поля соответствует значению, отображаемому в поле Фамилия в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иванов.SubjectClaims.email— адрес электронной почты. Значение поля соответствует значению, отображаемому в поле Электронная почта на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:ivanov@example-company.ru.SubjectClaims.phone_number— номер телефона. Значение поля соответствует значению, отображаемому в поле Номер телефона в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:+74951234567.SubjectClaims.company_name— название компании. Значение поля соответствует значению, отображаемому в поле Название компании в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:ООО «Праздник».SubjectClaims.department— название подразделения. Значение поля соответствует значению, отображаемому в поле Подразделение в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Отдел АСУ.SubjectClaims.job_title— название должности. Значение поля соответствует значению, отображаемому в поле Должность в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Разработчик.SubjectClaims.employee_id— цифровой код пользователя из кадровой системы компании. Значение поля соответствует значению, отображаемому в поле Табельный номер в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:08012.
Примечание
Любое из этих значений атрибутов вы можете добавлять более одного раза под разными именами.
-
-
Чтобы добавить атрибут групп пользователей, выполните команду:
yc organization-manager idp application saml attribute create \ --application-id <идентификатор_приложения> \ --name <имя_атрибута_групп> \ --value <значение_атрибута_групп>Где:
-
--name— имя атрибута групп пользователей. Имя атрибута должно быть уникальным для вашего приложения. -
--value— значение атрибута групп. Возможные значения:-
Все группы— в SAML-ответе в значение данного поля будут включены все группы, в которые входит пользователь.Максимальное количество передаваемых в этом поле групп — 1 000. Если количество групп, в которые входит пользователь, превышает это число, на сторону поставщика услуг будет передана только первая тысяча групп.
-
Только назначенные группы— в SAML-ответе в значение данного поля из всех групп, в которые входит пользователь, будут включены только те группы, которые явно заданы на вкладке Пользователи и группы SAML-приложения.
-
-
-
Чтобы изменить атрибут, выполните команду:
yc organization-manager idp application saml attribute update \ --id <идентификатор_атрибута> \ --name <новое_имя_атрибута> \ --value <новое_значение_атрибута> -
Чтобы удалить атрибут, выполните команду:
yc organization-manager idp application saml attribute delete <идентификатор_атрибута>
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Опишите в конфигурационном файле атрибуты SAML-приложения:
resource "yandex_organizationmanager_idp_application_saml_application" "saml_app" { organization_id = "<идентификатор_организации>" name = "<имя_приложения>" attribute_mapping = { name_id = { format = "EMAIL" } attributes = [{ name = "email" value = "SubjectClaims.email" }, { name = "firstName" value = "SubjectClaims.given_name" }, { name = "lastName" value = "SubjectClaims.family_name" }] } group_claims_settings = { group_attribute_name = "<имя_атрибута_групп>" group_distribution_type = "ALL_GROUPS" } }Где:
-
organization_id— идентификатор организации, в которой нужно создать SAML-приложение. Обязательный параметр. -
name— имя SAML-приложения. Обязательный параметр. -
attributes— список атрибутов, которые будут передаваться из Yandex Identity Hub поставщику услуг. Каждый атрибут содержит:-
name— имя атрибута, уникальное для вашего приложения. -
value— значение атрибута. Возможные значения:SubjectClaims.sub— идентификатор пользователя. Значение поля соответствует значению, отображаемому в поле Идентификатор в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:aje0fapf84ofj57q1r0b.SubjectClaims.preferred_username— уникальный логин пользователя. Значение поля соответствует значению, отображаемому в поле Имя пользователя в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:ivanov@example-federation.ru.SubjectClaims.name— полное имя пользователя. Значение поля соответствует значению, отображаемому в поле Пользователь в списке пользователей организации в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иванов Иван.SubjectClaims.given_name— имя. Значение поля соответствует значению, отображаемому в поле Имя в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иван.SubjectClaims.family_name— фамилия. Значение поля соответствует значению, отображаемому в поле Фамилия в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Иванов.SubjectClaims.email— адрес электронной почты. Значение поля соответствует значению, отображаемому в поле Электронная почта на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:ivanov@example-company.ru.SubjectClaims.phone_number— номер телефона. Значение поля соответствует значению, отображаемому в поле Номер телефона в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:+74951234567.SubjectClaims.company_name— название компании. Значение поля соответствует значению, отображаемому в поле Название компании в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:ООО «Праздник».SubjectClaims.department— название подразделения. Значение поля соответствует значению, отображаемому в поле Подразделение в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Отдел АСУ.SubjectClaims.job_title— название должности. Значение поля соответствует значению, отображаемому в поле Должность в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:Разработчик.SubjectClaims.employee_id— цифровой код пользователя из кадровой системы компании. Значение поля соответствует значению, отображаемому в поле Табельный номер в разделе Персональная информация на странице с информацией о пользователе в интерфейсе Yandex Identity Hub в Cloud Center. Например:08012.
Примечание
Любое из этих значений атрибутов вы можете добавлять более одного раза под разными именами.
-
-
group_claims_settings— параметры атрибутов групп пользователей:group_attribute_name— имя атрибута групп пользователей. Имя атрибута должно быть уникальным для вашего приложения.group_distribution_type— значение атрибута групп. Возможные значения:-
ASSIGNED_GROUPS— в SAML-ответе в значение данного поля из всех групп, в которые входит пользователь, будут включены только те группы, которые явно заданы на вкладке Пользователи и группы SAML-приложения. -
ALL_GROUPS— в SAML-ответе в значение данного поля будут включены все группы, в которые входит пользователь.Максимальное количество передаваемых в этом поле групп — 1 000. Если количество групп, в которые входит пользователь, превышает это число, на сторону поставщика услуг будет передана только первая тысяча групп.
-
Подробнее о параметрах ресурса
yandex_organizationmanager_idp_application_saml_applicationчитайте в документации провайдера. -
-
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения ресурсов и их настройки можно в интерфейсе Cloud Center
. -
Воспользуйтесь методом REST API Application.Update для ресурса Application или вызовом gRPC API ApplicationService/Update.
Убедитесь, что добавленные атрибуты также добавлены в настройки интеграции SAML-приложения на стороне поставщика услуг и корректно обрабатываются им.
Трансформации изменяют значение атрибута перед отправкой в SAML-ответе. Например, приводят текст к нижнему регистру, удаляют пробелы или извлекают часть строки. Трансформации применяются последовательно, сверху вниз.
Измените список пользователей и групп приложения
Измените список пользователей вашей организации, которые могут аутентифицироваться во внешнем приложении с помощью SAML-приложения:
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное приложение. -
Перейдите на вкладку Пользователи и группы.
-
Чтобы добавить в SAML-приложение пользователя или группу пользователей:
- Нажмите кнопку
Добавить пользователей. - В открывшемся окне выберите нужного пользователя или группу пользователей.
- Нажмите кнопку Добавить.
- Нажмите кнопку
-
Чтобы удалить пользователя или группу пользователей из SAML-приложения:
- В списке пользователей и групп в строке с нужным пользователем или группой нажмите значок
и выберите Удалить. - Подтвердите удаление.
- В списке пользователей и групп в строке с нужным пользователем или группой нажмите значок
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Получите идентификатор пользователя или группы пользователей.
-
Чтобы добавить в приложение пользователя или группу пользователей:
-
Посмотрите описание команды CLI для добавления пользователей в приложение:
yc organization-manager idp application saml application add-assignments --help -
Выполните команду:
yc organization-manager idp application saml application add-assignments \ --id <идентификатор_приложения> \ --subject-id <идентификатор_пользователя_или_группы>Где:
--id— идентификатор приложения.--subject-id— идентификатор нужного пользователя или группы пользователей.
Результат:
assignment_deltas: - action: ADD assignment: subject_id: ajetvnq2mil8********
-
-
Чтобы удалить пользователя или группу пользователей из приложения:
-
Посмотрите описание команды CLI для удаления пользователей из приложения:
yc organization-manager idp application saml application remove-assignments --help -
Выполните команду:
yc organization-manager idp application saml application remove-assignments \ --id <идентификатор_приложения> \ --subject-id <идентификатор_пользователя_или_группы>Где:
--id— идентификатор SAML-приложения.--subject-id— идентификатор нужного пользователя или группы пользователей.
Результат:
assignment_deltas: - action: REMOVE assignment: subject_id: ajetvnq2mil8********
-
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Опишите в конфигурационном файле параметры SAML-приложения с пользователями и группами:
resource "yandex_organizationmanager_idp_application_saml_application_assignment" "example_assignment" { application_id = "<идентификатор_SAML-приложения>" subject_id = "<идентификатор_пользователя_или_группы>" }Где:
application_id— идентификатор SAML-приложения.subject_id— идентификатор пользователя или группы пользователей, которые будут иметь доступ к SAML-приложению. Чтобы получить идентификатор пользователя, воспользуйтесь инструкцией. Чтобы получить идентификатор группы пользователей, воспользуйтесь инструкцией.
Подробнее о параметрах ресурса
yandex_organizationmanager_idp_application_saml_application_assignmentчитайте в документации провайдера. -
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения ресурсов и их настройки можно в интерфейсе Cloud Center
. -
Воспользуйтесь методом REST API Application.UpdateAssignments для ресурса Application или вызовом gRPC API ApplicationService/UpdateAssignments.
Совет
Если вы хотите более тонко настроить аутентификацию пользователей в приложениях, в том числе разрешить аутентификацию только с определенных IP-адресов, используйте политики аутентификации.
Политики аутентификации — это инструмент Yandex Identity Hub, позволяющий гибко настраивать доступ к приложениям, запрещая или разрешая аутентификацию определенным пользователям в определенных приложениях и/или с определенных IP-адресов. Подробнее читайте в разделе Политики аутентификации в Yandex Identity Hub.