Настроить права доступа к группе размещения нереплицируемых дисков
Чтобы предоставить пользователю, группе или сервисному аккаунту доступ к группе размещения нереплицируемых дисков, назначьте на нее роль.
Назначить роль
- В консоли управления
выберите каталог, в котором расположена группа размещения дисков. - Выберите сервис Compute Cloud.
- На панели слева выберите Группы размещений.
- На вкладке Группы размещения нереплицируемых дисков нажмите на имя нужной группы.
- Перейдите на вкладку
Права доступа. - Нажмите кнопку Назначить роли.
- В открывшемся окне выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к группе размещения.
- Нажмите кнопку
Добавить роль и выберите необходимую роль. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для назначения роли на группу размещения дисков:
yc compute disk-placement-group add-access-binding --help -
Получите список групп размещения дисков в каталоге по умолчанию:
yc compute disk-placement-group list -
Посмотрите список ролей, которые уже назначены на ресурс:
yc compute disk-placement-group list-access-bindings <идентификатор_группы_размещения> -
Назначьте роль с помощью команды:
-
Пользователю:
yc compute disk-placement-group add-access-binding <идентификатор_группы_размещения> \ --user-account-id <идентификатор_пользователя> \ --role <роль>Где:
--user-account-id— идентификатор пользователя. Чтобы назначить роль для всех аутентифицированных пользователей, воспользуйтесь флагом--all-authenticated-users.--role— назначаемая роль.
-
Сервисному аккаунту:
yc compute disk-placement-group add-access-binding <идентификатор_группы_размещения> \ --service-account-id <идентификатор_сервисного_аккаунта> \ --role <роль>Где:
--service-account-id— идентификатор сервисного аккаунта.--role— назначаемая роль.
-
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы назначить роль на группу размещения нереплицируемых дисков с помощью Terraform:
-
Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:
resource "yandex_compute_disk_placement_group_iam_binding" "sa-access" { disk_placement_group_id = "<идентификатор_группы_размещения>" role = "<роль>" members = ["<тип_субъекта>:<идентификатор_субъекта>","<тип_субъекта>:<идентификатор_субъекта>"] }Где:
disk_placement_group_id— идентификатор группы размещения дисков.role— назначаемая роль.members— список типов и идентификаторов субъектов, которым назначается роль. Указывается в видеuserAccount:<идентификатор_пользователя>илиserviceAccount:<идентификатор_сервисного_аккаунта>.
Более подробную информацию о параметрах ресурса
yandex_compute_disk_placement_group_iam_bindingсм. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
и с помощью команды CLI:yc compute disk-placement-group list-access-bindings <идентификатор_группы_размещения> -
Чтобы назначить роль, воспользуйтесь методом REST API updateAccessBindings для ресурса DiskPlacementGroup или вызовом gRPC API DiskPlacementGroupService/UpdateAccessBindings. В теле запроса в свойстве action укажите ADD, а в свойстве subject — тип и идентификатор пользователя.
Назначить несколько ролей
- В консоли управления
выберите каталог, в котором расположена группа размещения дисков. - Выберите сервис Compute Cloud.
- На панели слева выберите Группы размещений.
- На вкладке Группы размещения нереплицируемых дисков нажмите на имя нужной группы.
- Перейдите на вкладку
Права доступа. - Нажмите кнопку Назначить роли.
- В открывшемся окне выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к группе размещения.
- Нажмите кнопку
Добавить роль и выберите необходимую роль. - Добавьте еще роль через кнопку
Добавить роль. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Вы можете назначить несколько ролей с помощью команды set-access-bindings.
Внимание
Команда set-access-bindings полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
-
Убедитесь, что на ресурс не назначены роли, которые вы не хотите потерять:
yc compute disk-placement-group list-access-bindings <идентификатор_группы_размещения> -
Посмотрите описание команды CLI для назначения ролей на группу размещения дисков:
yc compute disk-placement-group set-access-bindings --help -
Назначьте роли:
yc compute disk-placement-group set-access-bindings <идентификатор_группы_размещения> \ --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта> \ --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта>Где:
-
--access-binding— параметры для установки прав доступа:
Например, назначьте роли нескольким пользователям и сервисному аккаунту:
yc compute disk-placement-group set-access-bindings my-disk-group \ --access-binding role=editor,subject=userAccount:gfei8n54hmfh******** --access-binding role=viewer,subject=userAccount:helj89sfj80a******** --access-binding role=editor,subject=serviceAccount:ajel6l0jcb9s******** -
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы назначить несколько ролей на группу размещения дисков с помощью Terraform:
-
Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:
resource "yandex_compute_disk_placement_group_iam_binding" "role-1" { disk_placement_group_id = "<идентификатор_группы_размещения>" role = "<роль_1>" members = ["<тип_субъекта>:<идентификатор_субъекта>"] } resource "yandex_compute_disk_placement_group_iam_binding" "role-2" { disk_placement_group_id = "<идентификатор_группы_размещения>" role = "<роль_2>" members = ["<тип_субъекта>:<идентификатор_субъекта>"] }Где:
disk_placement_group_id— идентификатор группы размещения дисков.role— назначаемая роль.members— список типов и идентификаторов субъектов, которым назначается роль. Указывается в видеuserAccount:<идентификатор_пользователя>илиserviceAccount:<идентификатор_сервисного_аккаунта>.
Более подробную информацию о параметрах ресурса
yandex_compute_disk_placement_group_iam_bindingсм. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения можно в консоли управления
и с помощью команды CLI:yc compute disk-placement-group list-access-bindings <идентификатор_группы_размещения> -
Чтобы назначить роли на ресурс, воспользуйтесь методом REST API setAccessBindings для ресурса DiskPlacementGroup или вызовом gRPC API DiskPlacementGroupService/SetAccessBindings.
Внимание
Метод setAccessBindings и вызов DiskPlacementGroupService/SetAccessBindings полностью перезаписывают права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
Отозвать роль
- В консоли управления
выберите каталог, в котором расположена группа размещения дисков. - Выберите сервис Compute Cloud.
- На панели слева выберите Группы размещений.
- На вкладке Группы размещения нереплицируемых дисков нажмите на имя нужной группы.
- Перейдите на вкладку
Права доступа. - В строке нужного пользователя нажмите значок
и выберите Изменить роли. - Рядом с ролью нажмите значок
. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для отзыва роли на группу размещения дисков:
yc compute disk-placement-group remove-access-binding --help -
Посмотрите, кому и какие роли назначены на ресурс:
yc compute disk-placement-group list-access-bindings <идентификатор_группы_размещения> -
Чтобы отозвать права доступа, выполните команду:
yc compute disk-placement-group remove-access-binding <идентификатор_группы_размещения> \ --role=<роль> \ --subject=<тип_субъекта>:<идентификатор_субъекта> \Где:
--role— идентификатор роли, которую надо отозвать.--subject— тип и идентификатор субъекта, у которого вы хотите отозвать роль.
Например, чтобы отозвать роль
viewerу пользователя с идентификаторомajel6l0jcb9s********на группу размещения дисков:yc compute disk-placement-group remove-access-binding my-disk-group \ --role viewer \ --subject userAccount:ajel6l0jcb9s********
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы отозвать роль, назначенную на группу размещения нереплицируемых дисков с помощью Terraform:
-
Откройте файл конфигурации Terraform и удалите фрагмент с описанием роли:
resource "yandex_compute_disk_placement_group_iam_binding" "sa-access" { disk_placement_group_id = "<идентификатор_группы_размещения>" role = "<роль>" members = ["<тип_субъекта>:<идентификатор_субъекта>"] } -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения можно в консоли управления
и с помощью команды CLI:yc compute disk-placement-group list-access-bindings <идентификатор_группы_размещения> -
Чтобы отозвать роль, воспользуйтесь методом REST API updateAccessBindings для ресурса DiskPlacementGroup или вызовом gRPC API DiskPlacementGroupService/UpdateAccessBindings. В теле запроса в свойстве action укажите REMOVE, а в свойстве subject — тип и идентификатор пользователя.