Назначить роль пользователю
Назначать роли в Yandex Cloud Organization могут администраторы и владельцы организации. Вы можете назначать пользователям не только роли для управления организацией, но и роли для доступа к ресурсам облаков, подключенных к вашей организации.
О том, какие роли доступны в Yandex Cloud и какие разрешения в них входят, читайте в документации Yandex Identity and Access Management в разделе Справочник ролей Yandex Cloud.
-
Войдите в сервис Yandex Cloud Organization
с учетной записью администратора или владельца организации. -
На панели слева выберите
Права доступа. -
Если у нужного пользователя уже есть хотя бы одна роль, в строке с этим пользователем нажмите значок
и выберите Назначить роли.Если нужного пользователя нет в списке, в правом верхнем углу страницы нажмите кнопку Назначить роли. В открывшемся окне выберите пользователя из списка или воспользуйтесь строкой поиска.
-
Нажмите кнопку
Добавить роль и выберите роль, которую хотите назначить пользователю. Вы можете назначить несколько ролей.Описание доступных ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud.
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
-
Выберите роль, которую хотите назначить.
-
Назначьте роль с помощью команды:
yc <имя_сервиса> <ресурс> add-access-binding <имя_или_идентификатор_ресурса> \ --role <идентификатор_роли> \ --subject <тип_субъекта>:<идентификатор_субъекта>
Где:
<имя_сервиса>
— имя сервиса, на чей ресурс назначается роль, например,organization-manager
.<ресурс>
— категория ресурса. Для организации всегда имеет значениеorganization
.<имя_или_идентификатор_ресурса>
— имя или идентификатор ресурса. Для организации в качестве имени используйте техническое название.--role
— идентификатор роли.--subject
— тип и идентификатор субъекта, которому назначается роль.
Например, назначьте пользователю роль администратора на каталог с идентификатором
b1gmit33ngp3********
:yc recource-manager folder add-access-binding b1gmit33ngp3******** \ --role resource-manager.admin \ --subject userAccount:aje6o61dvog2********
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры назначаемых ролей:
resource "yandex_organizationmanager_organization_iam_binding" "editor" { organization_id = "<идентификатор_организации>" role = "<идентификатор_роли>" members = [ "federatedUser:<идентификатор_пользователя>", ] }
Где:
-
organization_id
— идентификатор организации. -
role
— роль, которую хотите назначить. Для каждой роли можно использовать только одинyandex_organization manager_organization_iam_binding
. -
members
— массив идентификаторов пользователей, которым будет назначена роль:userAccount:<идентификатор_пользователя>
— идентификатор аккаунта пользователя на Яндексе.federatedUser:<идентификатор_пользователя>
— идентификатор федеративного пользователя.
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера
. -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
После этого указанному пользователю будут назначены роли в организации. Проверить появление роли можно в консоли управления
Чтобы назначить роль, воспользуйтесь методом REST API updateAccessBindings
для соответствующего ресурса:
-
Выберите роль, которую хотите назначить.
-
Сформируйте тело запроса, например, в файле
body.json
. В свойствеaction
укажитеADD
, а в свойствеsubject
— типuserAccount
илиfederatedUser
и идентификатор пользователя:{ "accessBindingDeltas": [{ "action": "ADD", "accessBinding": { "roleId": "<идентификатор_роли>", "subject": { "id": "gfei8n54hmfh********", "type": "userAccount" } } }] }
-
Назначьте роль. Например, для организации с идентификатором
bpf3crucp1v2********
:export ORGANIZATION_ID=bpf3crucp1v2******** export IAM_TOKEN=<IAM-токен> curl \ --request POST \ --header "Content-Type: application/json" \ --header "Authorization: Bearer ${IAM_TOKEN}" \ --data '@body.json' \ "https://organization-manager.api.cloud.yandex.net/organization-manager/v1/organizations/${ORGANIZATION_ID}:updateAccessBindings"
Аналогичным образом можно назначить роль на организацию сервисному аккаунту.