Настроить права доступа к группе виртуальных машин
Чтобы предоставить пользователю, группе или сервисному аккаунту доступ к группе виртуальных машин, назначьте роль на нее.
Назначить роль
- В консоли управления
выберите каталог, в котором находится группа ВМ. - Перейдите в сервис Compute Cloud.
- На панели слева выберите
Группы виртуальных машин. - Выберите нужную группу.
- Перейдите на вкладку
Права доступа. - Нажмите кнопку Назначить роли.
- В открывшемся окне выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к группе ВМ.
- Нажмите кнопку
Добавить роль и выберите необходимые роли. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для назначения роли на группу ВМ:
yc compute instance-group add-access-binding --help -
Получите список групп виртуальных машин в каталоге по умолчанию:
yc compute instance-group listРезультат:
+----------------------+-----------------------+------+ | ID | NAME | SIZE | +----------------------+-----------------------+------+ | amc65sbgfqeq******** | first-instance-group | 2 | +----------------------+-----------------------+------+ -
Посмотрите список ролей, которые уже назначены на ресурс:
yc compute instance-group list-access-bindings <имя_или_идентификатор_группы_ВМ> -
Назначьте роль с помощью команды:
-
Пользователю:
yc compute instance-group add-access-binding <имя_или_идентификатор_группы_ВМ> \ --user-account-id <идентификатор_пользователя> \ --role <роль>Где:
--user-account-id— идентификатор пользователя.--role— назначаемая роль.
-
Сервисному аккаунту:
yc compute instance-group add-access-binding <имя_или_идентификатор_группы_ВМ> \ --service-account-id <идентификатор_сервисного_аккаунта> \ --role <роль>Где:
--service-account-id— идентификатор сервисного аккаунта.--role— назначаемая роль.
-
Воспользуйтесь методом REST API updateAccessBindings для ресурса InstanceGroup или вызовом gRPC API InstanceGroupService/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 instance-group list-access-bindings <имя_или_идентификатор_группы_ВМ> -
Посмотрите описание команды CLI для назначения ролей на группу ВМ:
yc compute instance-group set-access-bindings --help -
Назначьте роли:
yc compute instance-group set-access-bindings <имя_или_идентификатор_группы_ВМ> \ --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта>Где:
-
--access-binding— назначаемая роль:role— идентификатор назначаемой роли.subject— тип и идентификатор субъекта, которому назначается роль.
Например, назначьте роли нескольким пользователям и сервисному аккаунту:
yc compute instance-group set-access-bindings test-group \ --access-binding role=editor,subject=userAccount:gfei8n54hmfh******** \ --access-binding role=viewer,subject=userAccount:helj89sfj80a******** \ --access-binding role=editor,subject=serviceAccount:ajel6l0jcb9s******** -
Воспользуйтесь методом REST API setAccessBindings для ресурса InstanceGroup или вызовом gRPC API InstanceGroupService/SetAccessBindings.
Отозвать роль
- В консоли управления
выберите каталог, в котором находится группа ВМ. - Перейдите в сервис Compute Cloud.
- На панели слева выберите
Группы виртуальных машин. - Выберите нужную группу.
- Перейдите на вкладку
Права доступа. - В строке нужного пользователя нажмите значок
и выберите Изменить роли. - Нажмите значок
рядом с ролью, чтобы удалить ее. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для отзыва роли на группу ВМ:
yc compute instance-group remove-access-binding --help -
Посмотрите, кому и какие роли назначены на ресурс:
yc compute instance-group list-access-bindings <имя_или_идентификатор_группы_ВМ> -
Чтобы отозвать права доступа, выполните команду:
yc compute instance-group remove-access-binding <имя_или_идентификатор_группы_ВМ> \ --role <идентификатор_роли> \ --subject <тип_субъекта>:<идентификатор_субъекта>Где:
--role— идентификатор роли, которую надо отозвать.--subject— субъект, у которого отзывается роль.
Например, чтобы отозвать роль
viewerу пользователя с идентификаторомajel6l0jcb9s********на группу ВМ:yc compute instance-group remove-access-binding test-group \ --role viewer \ --subject userAccount:ajel6l0jcb9s********
Воспользуйтесь методом REST API updateAccessBindings для ресурса InstanceGroup или вызовом gRPC API InstanceGroupService/UpdateAccessBindings. В теле запроса в свойстве action укажите REMOVE, а в свойстве subject — тип и идентификатор пользователя.