Назначить роль группе пользователей
Назначьте группе пользователей роль, чтобы предоставить доступ к какому-либо ресурсу. Воспользуйтесь инструкцией Настройка прав доступа к группе пользователей, чтобы дать субъекту права на доступ к группе.
В сервисе Yandex Cloud Organization группе можно назначить роль на организацию, облако, каталог, другую группу или сервисный аккаунт.
Назначить роль на облако или каталог
-
Войдите в консоль управления
с учетной записью администратора или владельца облака. -
В левой части экрана нажмите на строку с именем облака или каталога, на который вы хотите назначить роль группе пользователей.
-
В верхней части экрана перейдите на вкладку Права доступа и нажмите кнопку Настроить доступ. В открывшемся окне:
-
Перейдите на вкладку Группы и выберите группу или воспользуйтесь поиском по названию группы.
Вы также можете назначить роль одной из системных групп:
All users in organization X
— в группу входят все пользователи организацииX
.All users in federation N
— в группу входят все пользователи федерацииN
.
-
Нажмите кнопку
Добавить роль и выберите роль, которую хотите назначить группе на облако или каталог, который вы выбрали ранее. Вы можете назначить несколько ролей. -
Нажмите Сохранить.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
-
Выберите роль из справочника ролей Yandex Cloud.
-
Назначьте роль с помощью команды:
yc <имя_сервиса> <ресурс> add-access-binding <имя_или_идентификатор_ресурса> \ --role <идентификатор_роли> \ --subject group:<идентификатор_группы>
Где:
-
--role
— идентификатор роли, например,resource-manager.clouds.owner
. -
--subject group
— идентификатор группы, которой назначается роль.Для того чтобы назначить роль одной из системных групп, вместо параметра
--subject
используйте параметр--organization-users <идентификатор_организации>
или--federation-users <идентификатор_федерации>
, передав в нем соответственно идентификатор организации или федерации удостоверений, всем пользователям, которым вы хотите назначить роль.Вы также можете назначить роль системной группе с помощью параметра
--subject
. Для этого передайте в нем идентификатор субъекта, соответствующий выбранной системной группе.
Например, назначьте роль
resource-manager.viewer
на облакоmycloud
:yc resource-manager cloud add-access-binding mycloud \ --role resource-manager.viewer \ --subject group:aje6o61dvog2********
-
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Добавьте в конфигурационный файл параметры ресурса, укажите нужную роль и группу:
resource "yandex_resourcemanager_cloud_iam_member" "admin" { cloud_id = "<идентификатор_облака>" role = "<идентификатор_роли>" member = "group:<идентификатор_группы>" }
Где:
-
cloud_id
— идентификатор облака. Вы также можете назначить роль внутри отдельного каталога. Для этого вместоcloud_id
укажитеfolder_id
и нужный идентификатор каталога в параметрах ресурса. -
role
— назначаемая роль. Обязательный параметр. -
member
— группа, которой назначается роль. Указывается в видеgroup:<идентификатор_группы>
. Обязательный параметр.Для того чтобы назначить роль одной из системных групп, в параметре
member
укажите:system:group:organization:<идентификатор_организации>:users
— чтобы назначить роль системной группеAll users in organization X
;system:group:federation:<идентификатор_федерации>:users
— чтобы назначить роль системной группеAll users in federation N
.
Более подробную информацию о параметрах ресурса
yandex_resourcemanager_cloud_iam_member
см. в документации провайдера . -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить создание ресурса можно в консоли управления
или с помощью команды CLI:terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов: введите в терминал слово
yes
и нажмите Enter.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить создание ресурса можно в консоли управления
или с помощью команды CLI:yc resource-manager folder list-access-bindings <имя_или_идентификатор_папки>
-
Воспользуйтесь методом REST API updateAccessBindings
для соответствующего ресурса.
-
Выберите роль из справочника ролей Yandex Cloud.
-
Сформируйте тело запроса, например в файле
body.json
. В свойствеaction
укажитеADD
, а в свойствеsubject
- типgroup
и идентификатор группы:body.json:
{ "accessBindingDeltas": [{ "action": "ADD", "accessBinding": { "roleId": "editor", "subject": { "id": "<идентификатор_группы>", "type": "group" } } }] }
-
Назначьте роль сервисному аккаунту. Например, на каталог с идентификатором
b1gvmob95yys********
:export FOLDER_ID=b1gvmob95yys******** export IAM_TOKEN=CggaAT******** curl \ --request POST \ --header "Content-Type: application/json" \ --header "Authorization: Bearer ${IAM_TOKEN}" \ --data '@body.json' \ "https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/${FOLDER_ID}:updateAccessBindings"
Вы можете ознакомиться с подробной инструкцией назначения роли для соответствующего ресурса:
Назначить роль на организацию
-
Войдите в сервис Yandex Cloud Organization
с учетной записью администратора или владельца организации. -
На панели слева выберите
Права доступа. -
Справа сверху нажмите кнопку Назначить роли.
-
Перейдите на вкладку Группы и выберите группу или воспользуйтесь поиском по названию группы.
Вы также можете назначить роль одной из системных групп:
All users in organization X
— в группу входят все пользователи организацииX
.All users in federation N
— в группу входят все пользователи федерацииN
.
-
Нажмите кнопку
Добавить роль и выберите роль, которую хотите назначить группе на организацию. Вы можете назначить несколько ролей. -
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
-
yc organization-manager organization add-access-binding \ --subject group:<идентификатор_группы> \ --role <идентификатор_роли> \ --organization-users <идентификатор_организации> \ --federation-users <идентификатор_федерации>
Для того чтобы назначить роль одной из системных групп, вместо параметра
--subject
используйте параметр--organization-users <идентификатор_организации>
или--federation-users <идентификатор_федерации>
. Передайте в нем соответственно идентификатор организации или федерации удостоверений, всем пользователям, которым вы хотите назначить роль.Вы также можете назначить роль системной группе с помощью параметра
--subject
. Для этого передайте в нем идентификатор субъекта, соответствующий выбранной системной группе. -
Проверьте, что запрошенные права были выданы:
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.
-
Добавьте в конфигурационный файл параметры ресурса, укажите нужную роль и группу:
resource "yandex_organizationmanager_organization_iam_member" "users-editors" { organization_id = "<идентификатор_облака>" role = "<идентификатор_роли>" member = "group:<идентификатор_группы>" }
Где:
-
organization_id
— идентификатор облака. Обязательный параметр. -
role
— назначаемая роль. Обязательный параметр. -
member
— группа, которой назначается роль. Указывается в видеgroup:<идентификатор_группы>
. Обязательный параметр.Для того чтобы назначить роль одной из системных групп, в параметре
member
укажите:system:group:organization:<идентификатор_организации>:users
— чтобы назначить роль системной группеAll users in organization X
;system:group:federation:<идентификатор_федерации>:users
— чтобы назначить роль системной группеAll users in federation N
.
Более подробную информацию о параметрах ресурса
yandex_organizationmanager_organization_iam_member
см. в документации провайдера . -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить создание ресурса можно в консоли управления
или с помощью команды CLI:yc resource-manager folder list-access-bindings <имя_или_идентификатор_папки>
-