Настроить доступ к SAML-приложению в Yandex Identity Hub
Чтобы предоставить доступ к SAML-приложению, назначьте роли субъектам. Узнайте, какие роли действуют в сервисе, чтобы назначить нужные.
- Войдите в сервис Yandex Identity Hub
. - На панели слева нажмите
Приложения и выберите нужное приложение. - Перейдите на вкладку Права доступа.
- Нажмите кнопку Назначить роли.
- В открывшемся окне выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к приложению.
- Нажмите кнопку
Добавить роль и выберите роль. При необходимости добавьте другие роли. - Нажмите кнопку Сохранить.
Внимание
Команда set-access-bindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для назначения ролей на SAML-приложение:
yc organization-manager idp application saml application set-access-bindings --help -
Получите список SAML-приложений и их идентификаторы:
yc organization-manager idp application saml application list --organization-id <идентификатор_организации>Где
--organization-id— идентификатор организации, в которой нужно получить список SAML-приложений. -
Получите идентификатор пользователя, сервисного аккаунта или группы, которым нужно предоставить доступ к SAML-приложению.
-
С помощью команды
yc organization-manager idp application saml application set-access-bindingsназначьте роли:yc organization-manager idp application saml application set-access-bindings \ --id <идентификатор_приложения> \ --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта>Где:
-
--id— идентификатор SAML-приложения, к которому нужно предоставить доступ. -
role— идентификатор роли, которую нужно назначить. -
subject— обозначение субъекта, которому назначается роль.Обозначения субъектов
Для обозначения субъекта используется комбинация типа и уникального идентификатора —
<тип_субъекта>:<идентификатор>. Возможные обозначения субъектов:Тип субъекта
Обозначение субъекта
userAccountuserAccount:<идентификатор_пользователя>serviceAccountserviceAccount:<идентификатор_сервисного_аккаунта>federatedUserfederatedUser:<идентификатор_пользователя>groupgroup:<идентификатор_группы>systemsystem:allAuthenticatedUsers(группа
All authenticated users)system:allUsers(группа
All users)system:group:organization:<идентификатор_организации>:users(группа
All users in organization X)system:group:federation:<идентификатор_федерации>:users(группа
All users in federation N)system:group:userpool:<идентификатор_пула>:users(группа
All users in userpool P)
Для каждой роли передайте отдельный параметр
--access-binding. Пример:yc organization-manager idp application saml application set-access-bindings \ --id <идентификатор_приложения> \ --access-binding role=<роль1>,service-account-id=<идентификатор_сервисного_аккаунта> \ --access-binding role=<роль2>,service-account-id=<идентификатор_сервисного_аккаунта> \ --access-binding role=<роль3>,service-account-id=<идентификатор_сервисного_аккаунта> -
Внимание
Метод setAccessBindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
Воспользуйтесь методом REST API Application.SetAccessBindings для ресурса Application или вызовом gRPC API ApplicationService/SetAccessBindings.
Передайте в запросе:
-
Роль в параметре
accessBindings[].roleId. -
Идентификатор субъекта, которому назначается роль на SAML-приложение, в параметре
accessBindings[].subject.id. -
Тип субъекта, которому назначается роль на SAML-приложение, в параметре
accessBindings[].subject.type.Обозначения субъектов
Для обозначения субъекта используется комбинация типа и уникального идентификатора в полях запроса
subject.typeиsubject.id. Возможные комбинации:subject.type
subject.id
userAccount<идентификатор_пользователя>serviceAccount<идентификатор_сервисного_аккаунта>federatedUser<идентификатор_пользователя>group<идентификатор_группы>systemallAuthenticatedUsers(группа
All authenticated users)allUsers(группа
All users)group:organization:<идентификатор_организации>:users(группа
All users in organization X)group:federation:<идентификатор_федерации>:users(группа
All users in federation N)group:userpool:<идентификатор_пула>:users(группа
All users in userpool P)