Назначение прав группе пользователей
Выдайте группе права на доступ к какому-либо ресурсу. Чтобы дать субъекту права на доступ к группе, воспользуйтесь инструкцией Настройка прав доступа к группе пользователей.
Управление доступом в Yandex Cloud построено на основе ролей.
В консоли управления группе можно назначить роль на облако, каталог или сервисный аккаунт. В сервисе Yandex Cloud Organization группе можно назначить роль только на другую группу. Чтобы назначить группе роль на организацию, используйте CLI.
Назначить роль на облако или каталог
- Войдите в аккаунт
администратора или владельца организации. - Перейдите в сервис Yandex Cloud Organization
. - На панели слева выберите раздел
Права доступа . - Справа сверху нажмите кнопку Назначить роли.
- Перейдите на вкладку Группы и выберите группу, или воспользуйтесь поиском по названию группы.
- Нажмите Добавить роль и выберите роль в облаке или каталоге. Вы можете назначить больше одной роли.
- Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
-
Выберите роль из справочника ролей Yandex Cloud.
-
Назначьте роль с помощью команды:
yc <имя_сервиса> <ресурс> add-access-binding <имя_или_идентификатор_ресурса> \ --role <идентификатор_роли> \ --subject group:<идентификатор_группы>
Где:
<имя_сервиса>
— имя сервиса, для доступа к ресурсу которого назначается роль, например,resource-manager
.<ресурс>
— категория ресурса, например,cloud
.<имя_или_идентификатор_ресурса>
— имя или идентификатор ресурса. Вы можете указать имя или идентификатор ресурса.--role
— идентификатор роли, например,resource-manager.clouds.owner
.--subject group
— идентификатор группы, которой назначается роль.
Например, назначьте роль
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:<идентификатор_группы>
. Обязательный параметр.
Более подробную информацию о параметрах ресурса
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 -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${IAM_TOKEN}" \ -d '@body.json' \ "https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/${FOLDER_ID}:updateAccessBindings"
Вы можете ознакомиться с подробной инструкцией назначения роли для соответствующего ресурса:
Назначить роль на Организацию
- Войдите в аккаунт
администратора или владельца организации. - Перейдите в сервис Yandex Cloud Organization
. - На панели слева выберите раздел
Права доступа . - Справа сверху нажмите кнопку Назначить роли.
- Перейдите на вкладку Группы и выберите группу, или воспользуйтесь поиском по названию группы.
- Нажмите кнопку Добавить роль и выберите роль в организации. Вы можете назначить больше одной роли.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
-
yc organization-manager organization add-access-binding \ --subject=group:<идентификатор_группы> \ --role=<идентификатор_роли> \ <идентификатор_организации>
-
Проверьте, что запрошенные права были выданы:
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:<идентификатор_группы>
. Обязательный параметр.
Более подробную информацию о параметрах ресурса
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 <имя_или_идентификатор_папки>
-