Назначить роль группе пользователей
Назначьте группе пользователей роль, чтобы предоставить доступ к какому-либо ресурсу. Воспользуйтесь инструкцией Настроить доступ к управлению группой, чтобы дать субъекту права на доступ к группе.
В сервисе Yandex Identity Hub группе можно назначить роль на организацию, облако, каталог, другую группу или сервисный аккаунт.
Назначить роль на облако или каталог
-
Войдите в консоль управления
с учетной записью администратора или владельца облака. -
В левой части экрана нажмите на строку с именем облака или каталога, на который вы хотите назначить роль группе пользователей.
-
В верхней части экрана перейдите на вкладку Права доступа и нажмите кнопку Настроить доступ. В открывшемся окне:
-
Перейдите на вкладку Группы и выберите группу или воспользуйтесь поиском по названию группы.
Вы также можете назначить роль одной из системных групп:
All users in organization X— в группу входят все пользователи организацииX.All users in federation N— в группу входят все пользователи федерацииN.
-
Нажмите кнопку
Добавить роль и выберите роль, которую хотите назначить группе на облако или каталог, который вы выбрали ранее. Вы можете назначить несколько ролей. -
Нажмите Сохранить.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
-
Выберите роль из справочника ролей Yandex Cloud.
-
Назначьте роль с помощью команды:
yc <имя_сервиса> <ресурс> add-access-binding <имя_или_идентификатор_ресурса> \ --role <идентификатор_роли> \ --subject group:<идентификатор_группы>Где:
-
--role— идентификатор роли, например,resource-manager.clouds.owner. -
--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)—
Например, назначьте роль
resource-manager.viewerна облакоmycloud:yc resource-manager cloud add-access-binding mycloud \ --role resource-manager.viewer \ --subject group:aje6o61dvog2******** -
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Добавьте в конфигурационный файл параметры ресурса, укажите нужную роль и группу:
resource "yandex_resourcemanager_cloud_iam_member" "admin" { cloud_id = "<идентификатор_облака>" role = "<идентификатор_роли>" member = "group:<идентификатор_группы>" }Где:
-
cloud_id— идентификатор облака. Чтобы назначить роль на каталог, используйте ресурсyandex_resourcemanager_folder_iam_memberи укажите идентификатор каталога в параметреfolder_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_resourcemanager_cloud_iam_memberиyandex_resourcemanager_folder_iam_memberчитайте в документации провайдера для облака и каталога. -
-
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
После этого будут назначены указанные права доступа. Проверить назначение роли можно в консоли управления
или с помощью команды CLI:yc resource-manager <cloud_или_folder> list-access-bindings <имя_или_идентификатор_облака_или_каталога> -
Чтобы назначить роль группе пользователей на облако, воспользуйтесь методом REST API updateAccessBindings для ресурса Cloud или вызовом gRPC API CloudService/UpdateAccessBindings.
Чтобы назначить роль группе пользователей на каталог, воспользуйтесь методом REST API updateAccessBindings для ресурса Folder или вызовом gRPC API FolderService/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
с учетной записью администратора или владельца организации. -
На панели слева выберите
Права доступа. -
Справа сверху нажмите кнопку Назначить роли.
-
Перейдите на вкладку Группы и выберите группу или воспользуйтесь поиском по названию группы.
Вы также можете назначить роль одной из системных групп:
All users in organization X— в группу входят все пользователи организацииX.All users in federation N— в группу входят все пользователи федерацииN.
-
Нажмите кнопку
Добавить роль и выберите роль, которую хотите назначить группе на организацию. Вы можете назначить несколько ролей. -
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Назначьте роль группе на организацию:
yc organization-manager organization add-access-binding \ --id <идентификатор_организации> \ --role <идентификатор_роли> \ --subject group:<идентификатор_группы>Где:
-
--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)—
-
-
Проверьте, что запрошенные права были выданы:
yc organization-manager organization list-access-bindings <идентификатор_организации>Ответ содержит список всех ролей, выданных пользователям и группам в организации:
+------------------------------------------+--------------+----------------------+ | ROLE ID | SUBJECT TYPE | SUBJECT ID | +------------------------------------------+--------------+----------------------+ | organization-manager.admin | userAccount | ajev1p2345lj******** | | organization-manager.organizations.owner | userAccount | ajev1p2345lj******** | | editor | group | ajev1p2345lj******** | | viewer | group | ajev1p2345lj******** | +------------------------------------------+--------------+----------------------+
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Добавьте в конфигурационный файл параметры ресурса, укажите нужную роль и группу:
resource "yandex_organizationmanager_organization_iam_member" "users-editors" { organization_id = "<идентификатор_организации>" role = "<идентификатор_роли>" member = "group:<идентификатор_группы>" }Где:
-
organization_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_organization_iam_memberчитайте в документации провайдера. -
-
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
После этого будут назначены указанные права доступа. Проверить назначение роли можно в интерфейсе Cloud Center
или с помощью команды CLI:yc organization-manager organization list-access-bindings <идентификатор_организации> -
Чтобы назначить роль группе пользователей на организацию, воспользуйтесь методом REST API updateAccessBindings для ресурса Organization или вызовом gRPC API OrganizationService/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)