Настроить доступ к управлению группой
Вы можете предоставить доступ к группе пользователей:
- пользователям с аккаунтом на Яндексе;
- федеративным пользователям;
- локальным пользователям;
- сервисным аккаунтам;
- другим группам пользователей.
Для этого назначьте роли на группу. Чтобы выбрать нужные, узнайте, какие роли действуют в сервисе.
Назначить роль
-
Войдите в сервис 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 <роль> \ --user-account-id <идентификатор_пользователя> \ --federation-users <идентификатор_пользователя> \ --service-account-id <идентификатор_сервисного_аккаунта> \ --subject group:<идентификатор_группы>Где:
--id— идентификатор группы пользователей.--role— идентификатор роли.
Идентификатор объекта, которому назначается роль:
--user-account-id— идентификатор аккаунта на Яндексе.--federation-users— идентификатор федеративного пользователя.--service-account-id— идентификатор сервисного аккаунта.--subject group— идентификатор группы.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры назначаемых ролей:
resource "yandex_organizationmanager_group_iam_binding" "editor" { group_id = "<идентификатор_группы>" role = "<идентификатор_роли>" members = [ "userAccount:<идентификатор_пользователя>", ] }Где:
-
group_id— идентификатор группы пользователей. -
role— роль, которую хотите назначить. Для каждой роли можно использовать только одинyandex_organizationmanager_group_iam_binding. -
members— массив идентификаторов пользователей, которым будет назначена роль:userAccount:<идентификатор_пользователя>— идентификатор аккаунта пользователя на Яндексе или локального пользователя.federatedUser:<идентификатор_пользователя>— идентификатор федеративного пользователя.serviceAccount:<идентификатор_сервисного_аккаунта>— идентификатор сервисного аккаунта.group:<идентификатор_группы>— идентификатор группы пользователей.
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
-
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого указанным пользователям будут назначены роли на группу пользователей. Проверить появление роли можно в интерфейсе Cloud Center
Воспользуйтесь методом updateAccessBindings для ресурса Group или вызовом gRPC API GroupService/UpdateAccessBindings и передайте в запросе:
- Значение
ADDв параметреaccessBindingDeltas[].action, чтобы добавить роль. - Роль в параметре
accessBindingDeltas[].accessBinding.roleId. - Идентификатор субъекта, на кого назначается роль, в параметре
accessBindingDeltas[].accessBinding.subject.id. - Тип субъекта, на кого назначается роль, в параметре
accessBindingDeltas[].accessBinding.subject.type.
Назначить несколько ролей
-
Войдите в сервис 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=<роль>,user-account-id=<идентификатор_пользователя> -
Федеративному пользователю:
yc organization-manager group set-access-bindings \ --id <идентификатор_группы> \ --access-binding role=<роль>,subject=federatedUser:<идентификатор_пользователя> -
Сервисному аккаунту:
yc organization-manager group set-access-bindings \ --id <идентификатор_группы> \ --access-binding role=<роль>,service-account-id=<идентификатор_сервисного_аккаунта> -
Группе пользователей:
yc organization-manager group set-access-bindings \ --id <идентификатор_группы> \ --access-binding role=<роль>,subject=group:<идентификатор_группы>
Для каждой роли передайте отдельный параметр
--access-binding. Пример:yc organization-manager group 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=<идентификатор_сервисного_аккаунта> -
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы назначить несколько ролей на группу пользователей:
-
Опишите в конфигурационном файле параметры назначаемых ролей:
resource "yandex_organizationmanager_group_iam_binding" "role1" { group_id = "<идентификатор_группы>" role = "<роль1>" members = ["<тип_субъекта>:<идентификатор_субъекта>"] } resource "yandex_organizationmanager_group_iam_binding" "role2" { group_id = "<идентификатор_группы>" role = "<роль2>" members = ["<тип_субъекта>:<идентификатор_субъекта>"] } resource "yandex_organizationmanager_group_iam_binding" "role3" { group_id = "<идентификатор_группы>" role = "<роль3>" members = ["<тип_субъекта>:<идентификатор_субъекта>"] }Где:
-
group_id— идентификатор группы пользователей. -
role— роль, которую хотите назначить. Для каждой роли можно использовать только одинyandex_organizationmanager_group_iam_binding. -
members— массив идентификаторов пользователей, которым будет назначена роль:userAccount:<идентификатор_пользователя>— идентификатор аккаунта пользователя на Яндексе или локального пользователя.federatedUser:<идентификатор_пользователя>— идентификатор федеративного пользователя.serviceAccount:<идентификатор_сервисного_аккаунта>— идентификатор сервисного аккаунта.group:<идентификатор_группы>— идентификатор группы пользователей.
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
-
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого указанному пользователю будут назначены несколько ролей на группу пользователей. Проверить появление ролей можно в интерфейсе Cloud Center
Внимание
Метод setAccessBindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
Воспользуйтесь методом setAccessBindings для ресурса Group или вызовом gRPC API GroupService/SetAccessBindings. Передайте в запросе массив из объектов, каждый из которых соответствует отдельной роли и содержит следующие данные:
- Роль в параметре
accessBindings[].roleId. - Идентификатор субъекта, на кого назначаются роли, в параметре
accessBindings[].subject.id. - Тип субъекта, на кого назначаются роли, в параметре
accessBindings[].subject.type.
Отозвать роль
-
Войдите в сервис 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 <роль> \ --user-account-id <идентификатор_пользователя> \ --federation-users <идентификатор_пользователя> \ --service-account-id <идентификатор_сервисного_аккаунта> \ --subject group:<идентификатор_группы>Где:
--id— идентификатор группы пользователей.--role— идентификатор роли.
Идентификатор объекта, у которого отзывается роль:
--user-account-id— идентификатор аккаунта на Яндексе.--federation-users— идентификатор федеративного пользователя.--service-account-id— идентификатор сервисного аккаунта.--subject group— идентификатор группы.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы отозвать роль у пользователя, сервисного аккаунта или группы пользователей:
-
Откройте конфигурационный файл Terraform и удалите фрагмент с ресурсом
yandex_organizationmanager_group_iam_binding, соответствующим роли, которую хотите отозвать.resource "yandex_organizationmanager_group_iam_binding" "editor" { group_id = "<идентификатор_группы>" role = "<идентификатор_роли>" members = [ "<тип_субъекта>:<идентификатор_субъекта>", ] } -
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого роль будет отозвана у указанного субъекта. Проверить отсутствие роли можно в интерфейсе Cloud Center
Воспользуйтесь методом updateAccessBindings для ресурса Group или вызовом gRPC API GroupService/UpdateAccessBindings и передайте в запросе:
- Значение
REMOVEв параметреaccessBindingDeltas[].action, чтобы отозвать роль. - Роль в параметре
accessBindingDeltas[].accessBinding.roleId. - Идентификатор субъекта, у кого отзывается роль, в параметре
accessBindingDeltas[].accessBinding.subject.id. - Тип субъекта, у которого отзывается роль, в параметре
accessBindingDeltas[].accessBinding.subject.type.