Настроить доступ к управлению группой
Вы можете предоставить доступ к группе пользователей:
- пользователям с аккаунтом на Яндексе;
- федеративным пользователям;
- локальным пользователям;
- сервисным аккаунтам;
- другим группам пользователей.
Для этого назначьте роли на группу. Чтобы выбрать нужные, узнайте, какие роли действуют в сервисе.
Назначить роль
- Войдите в сервис Yandex Identity Hub
с учетной записью администратора или владельца организации. - На панели слева выберите
Группы и нажмите строку с названием нужной группы. - Перейдите на вкладку Права доступа к группе.
- Нажмите кнопку Назначить роли.
- Выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к группе. При необходимости воспользуйтесь поиском.
- Нажмите
Добавить роль и выберите роли, которые нужно назначить на группу. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы выдать права доступа на группу пользователей:
-
Посмотрите описание команды CLI для назначения роли:
yc organization-manager group add-access-binding --help -
Получите список групп пользователей вместе с идентификаторами этих групп:
yc organization-manager group list \ --organization-id <идентификатор_организации> -
Получите идентификатор пользователя, сервисного аккаунта или группы пользователей, которым нужно предоставить доступ к группе.
-
С помощью команды
yc organization-manager group add-access-bindingназначьте роль:yc organization-manager group add-access-binding \ --id <идентификатор_группы> \ --role <роль> \ --subject <тип_субъекта>:<идентификатор_субъекта>Где:
-
--id— идентификатор группы пользователей, к которой нужно предоставить доступ. -
--role— идентификатор роли. -
--subject— обозначение субъекта, которому назначается роль.Обозначения субъектов
Для обозначения субъекта используется параметр
--subjectсо значением в формате<тип_субъекта>:<идентификатор>. Для некоторых типов субъектов в Yandex Cloud CLI вместо--subjectдоступны отдельные параметры, в которых достаточно указать имя или идентификатор субъекта без типа. Возможные обозначения субъектов и соответствующие параметры CLI:Тип субъекта
Обозначение субъекта
Параметр Yandex Cloud CLI
userAccountuserAccount:<идентификатор_пользователя>--user-account-idили--user-yandex-loginserviceAccountserviceAccount:<идентификатор_сервисного_аккаунта>--service-account-idили--service-account-namefederatedUserfederatedUser:<идентификатор_пользователя>--user-account-idgroupgroup:<идентификатор_группы>--group-memberssystemsystem:allAuthenticatedUsers(группа
All authenticated users)--all-authenticated-userssystem:allUsers(группа
All users)—
system:group:organization:<идентификатор_организации>:users(группа
All users in organization X)--organization-userssystem:group:federation:<идентификатор_федерации>:users(группа
All users in federation N)--federation-userssystem:group:userpool:<идентификатор_пула>:users(группа
All users in userpool P)—
-
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Получите идентификатор пользователя, сервисного аккаунта или группы пользователей, которым нужно предоставить доступ к группе.
-
Опишите в конфигурационном файле параметры назначаемых ролей:
resource "yandex_organizationmanager_group_iam_member" "editor" { group_id = "<идентификатор_группы>" role = "<идентификатор_роли>" member = "<субъект>" }Где:
-
group_id— идентификатор группы пользователей. -
role— назначаемая роль. Обязательный параметр. -
member— обозначение субъекта, которому назначается роль. Обязательный параметр.Обозначения субъектов
Для обозначения субъекта используется комбинация типа и уникального идентификатора —
<тип_субъекта>:<идентификатор>. Возможные обозначения субъектов:Тип субъекта
Обозначение субъекта
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)
Подробнее о параметрах ресурса
yandex_organizationmanager_group_iam_memberчитайте в документации провайдера. -
-
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого указанным субъектам будут назначены роли на группу пользователей. Проверить назначение роли можно в интерфейсе Cloud Center
Чтобы назначить роль субъекту на группу пользователей, воспользуйтесь методом REST API updateAccessBindings для ресурса Group или вызовом gRPC API GroupService/UpdateAccessBindings и передайте в запросе:
-
Значение
ADDв параметреaccessBindingDeltas[].action, чтобы добавить роль. -
Роль в параметре
accessBindingDeltas[].accessBinding.roleId. -
Идентификатор субъекта, которому назначается роль, в параметре
accessBindingDeltas[].accessBinding.subject.id. -
Тип субъекта, которому назначается роль, в параметре
accessBindingDeltas[].accessBinding.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)
Назначить несколько ролей
- Войдите в сервис Yandex Identity Hub
с учетной записью администратора или владельца организации. - На панели слева выберите
Группы и нажмите строку с названием группы. - Перейдите на вкладку Права доступа к группе.
- Нажмите кнопку Назначить роли.
- Выберите пользователя, группу или сервисный аккаунт, которым нужно предоставить доступ к группе. При необходимости воспользуйтесь поиском.
- Нажмите
Добавить роль и выберите роли, которые нужно назначить на группу. - Нажмите кнопку Сохранить.
Внимание
Команда set-access-bindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы назначить несколько ролей на группу пользователей:
-
Убедитесь, что на ресурс не назначены роли, которые вы не хотите потерять:
yc organization-manager group list-access-bindings \ --id <идентификатор_группы> -
Посмотрите описание команды CLI для назначения ролей:
yc organization-manager group set-access-bindings --help -
Получите список групп пользователей вместе с идентификаторами этих групп:
yc organization-manager group list -
Получите идентификатор пользователя, сервисного аккаунта или группы пользователей, которым нужно предоставить доступ к группе.
-
С помощью команды
yc organization-manager group set-access-bindingsназначьте роли:yc organization-manager group set-access-bindings \ --id <идентификатор_группы> \ --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта>Где:
-
--id— идентификатор группы пользователей, к которой нужно предоставить доступ. -
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 group set-access-bindings \ --id ins672qpemb4******** \ --access-binding role=<роль1>,subject=serviceAccount:<идентификатор_сервисного_аккаунта> \ --access-binding role=<роль2>,subject=serviceAccount:<идентификатор_сервисного_аккаунта> \ --access-binding role=<роль3>,subject=serviceAccount:<идентификатор_сервисного_аккаунта> -
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
Чтобы назначить несколько ролей на группу пользователей:
-
Опишите в конфигурационном файле параметры назначаемых ролей:
resource "yandex_organizationmanager_group_iam_member" "role1" { group_id = "<идентификатор_группы>" role = "<роль1>" member = "<тип_субъекта>:<идентификатор_субъекта>" } resource "yandex_organizationmanager_group_iam_member" "role2" { group_id = "<идентификатор_группы>" role = "<роль2>" member = "<тип_субъекта>:<идентификатор_субъекта>" } resource "yandex_organizationmanager_group_iam_member" "role3" { group_id = "<идентификатор_группы>" role = "<роль3>" member = "<тип_субъекта>:<идентификатор_субъекта>" }Где:
-
group_id— идентификатор группы пользователей. -
role— роль, которую хотите назначить. -
member— обозначение субъекта, которому назначается роль.Обозначения субъектов
Для обозначения субъекта используется комбинация типа и уникального идентификатора —
<тип_субъекта>:<идентификатор>. Возможные обозначения субъектов:Тип субъекта
Обозначение субъекта
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)
Подробнее о параметрах ресурса
yandex_organizationmanager_group_iam_memberчитайте в документации провайдера. -
-
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого указанному субъекту будут назначены несколько ролей на группу пользователей. Проверить назначение ролей можно в интерфейсе Cloud Center
Внимание
Метод setAccessBindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
Чтобы назначить несколько ролей субъекту на группу пользователей, воспользуйтесь методом REST API setAccessBindings для ресурса Group или вызовом gRPC API GroupService/SetAccessBindings. Передайте в запросе массив из объектов, каждый из которых соответствует отдельной роли и содержит следующие данные:
-
Роль в параметре
accessBindings[].roleId. -
Идентификатор субъекта, которому назначаются роли, в параметре
accessBindings[].subject.id. -
Тип субъекта, которому назначаются роли, в параметре
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)
Отозвать роль
-
Войдите в сервис Yandex Identity Hub
с учетной записью администратора или владельца организации. -
На панели слева выберите
Группы и нажмите строку с названием группы. -
Перейдите на вкладку Права доступа к группе.
-
Чтобы отозвать определенные роли:
- В строке с нужным пользователем, сервисным аккаунтом или группой нажмите
и выберите Настроить доступ. - Нажмите
напротив ролей, которые вы хотите отозвать. - Нажмите Сохранить.
- В строке с нужным пользователем, сервисным аккаунтом или группой нажмите
-
Чтобы отозвать все роли, в строке с нужным пользователем, сервисным аккаунтом или группой нажмите
, выберите Отозвать доступ и подтвердите действие.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для отзыва роли:
yc organization-manager group remove-access-binding --help -
Получите список групп пользователей вместе с идентификаторами этих групп:
yc organization-manager group list \ --organization-id <идентификатор_организации> -
Получите идентификатор пользователя, сервисного аккаунта или группы пользователей, у которых отзываете роль.
-
С помощью команды
yc organization-manager group remove-access-bindingотзовите роль у субъекта:yc organization-manager group remove-access-binding \ --id <идентификатор_группы> \ --role <роль> \ --subject <тип_субъекта>:<идентификатор_субъекта>Где:
-
--id— идентификатор группы пользователей, к которой был предоставлен доступ. -
--role— идентификатор роли, которую нужно отозвать. -
--subject— обозначение субъекта, у которого отзывается роль.Обозначения субъектов
Для обозначения субъекта используется параметр
--subjectсо значением в формате<тип_субъекта>:<идентификатор>. Для некоторых типов субъектов в Yandex Cloud CLI вместо--subjectдоступны отдельные параметры, в которых достаточно указать имя или идентификатор субъекта без типа. Возможные обозначения субъектов и соответствующие параметры CLI:Тип субъекта
Обозначение субъекта
Параметр Yandex Cloud CLI
userAccountuserAccount:<идентификатор_пользователя>--user-account-idили--user-yandex-loginserviceAccountserviceAccount:<идентификатор_сервисного_аккаунта>--service-account-idили--service-account-namefederatedUserfederatedUser:<идентификатор_пользователя>--user-account-idgroupgroup:<идентификатор_группы>--group-memberssystemsystem:allAuthenticatedUsers(группа
All authenticated users)--all-authenticated-userssystem:allUsers(группа
All users)—
system:group:organization:<идентификатор_организации>:users(группа
All users in organization X)--organization-userssystem:group:federation:<идентификатор_федерации>:users(группа
All users in federation N)--federation-userssystem:group:userpool:<идентификатор_пула>:users(группа
All users in userpool P)—
-
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
Чтобы отозвать роль у пользователя, сервисного аккаунта или группы пользователей:
-
Откройте конфигурационный файл Terraform и удалите фрагмент с ресурсом
yandex_organizationmanager_group_iam_member, соответствующим роли, которую хотите отозвать.resource "yandex_organizationmanager_group_iam_member" "editor" { group_id = "<идентификатор_группы>" role = "<идентификатор_роли>" member = "<тип_субъекта>:<идентификатор_субъекта>" }Где:
-
group_id— идентификатор группы пользователей. -
role— отзываемая роль. Обязательный параметр. -
member— обозначение субъекта, у которого отзывается роль. Обязательный параметр.Обозначения субъектов
Для обозначения субъекта используется комбинация типа и уникального идентификатора —
<тип_субъекта>:<идентификатор>. Возможные обозначения субъектов:Тип субъекта
Обозначение субъекта
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)
-
-
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого роль будет отозвана у указанного субъекта. Проверить отсутствие роли можно в интерфейсе Cloud Center
Чтобы отозвать роль у субъекта на группу пользователей, воспользуйтесь методом REST API updateAccessBindings для ресурса Group или вызовом gRPC API GroupService/UpdateAccessBindings и передайте в запросе:
-
Значение
REMOVEв параметреaccessBindingDeltas[].action, чтобы отозвать роль. -
Роль в параметре
accessBindingDeltas[].accessBinding.roleId. -
Идентификатор субъекта, у которого отзывается роль, в параметре
accessBindingDeltas[].accessBinding.subject.id. -
Тип субъекта, у которого отзывается роль, в параметре
accessBindingDeltas[].accessBinding.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)