Отозвать роль на ресурс
Вы можете запретить субъекту доступ к ресурсу, для этого необходимо отозвать у него соответствующие роли на этот ресурс и на ресурсы, от которых наследуются права доступа. Подробнее читайте в разделе Как устроено управление доступом в Yandex Cloud.
- В консоли управления
выберите каталог, в котором нужно отозвать роль на ресурс. - В списке сервисов выберите Container Registry.
- Выберите реестр или репозиторий в нем.
- Перейдите на вкладку Права доступа.
- Выберите пользователя в списке и нажмите значок
напротив имени пользователя. - Нажмите кнопку Изменить роли.
- Нажмите значок
напротив роли, которую хотите отозвать. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Просмотрите назначенные роли:
yc container <ресурс> list-access-bindings <имя_или_идентификатор_ресурса>
Где:
<ресурс>
— тип ресурсаregistry
(реестр) илиrepository
(репозиторий);<имя_или_идентификатор_ресурса>
— имя или идентификатор ресурса, на который назначена роль.
-
Отзовите роль:
-
у пользователя:
yc container <ресурс> remove-access-binding <имя_или_идентификатор_ресурса> \ --role <роль> \ --user-account-id <идентификатор_пользователя>
-
yc container <ресурс> remove-access-binding <имя_или_идентификатор_ресурса> \ --role <роль> \ --service-account-id <идентификатор_сервисного_аккаунта>
-
у всех авторизованных пользователей (публичная группа
All authenticated users
):yc container <ресурс> remove-access-binding <имя_или_идентификатор_ресурса> \ --role <роль> \ --all-authenticated-users
Где:
<ресурс>
— тип ресурсаregistry
(реестр) илиrepository
(репозиторий);<имя_или_идентификатор_ресурса>
— имя или идентификатор ресурса, на который отзывается роль;<идентификатор_роли>
— роль, которую необходимо отозвать.
Пример
В примере ниже у пользователя отзывается роль
container-registry.admin
на реестрmy-first-registry
.yc container registry remove-access-binding my-first-registry \ --role container-registry.admin \ --user-account-id ajeugsk5ubk6********
Результат:
done (9s)
-
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Откройте файл конфигурации Terraform и удалите фрагмент с описанием назначения ролей.
Пример описания назначения роли в конфигурации Terraform:
resource "yandex_container_registry_iam_binding" "имя_реестра" { registry_id = "<идентификатор_реестра>" role = "<роль>" members = [ "userAccount:<идентификатор_пользователя>", ] }
Более подробную информацию о ресурсе
yandex_container_registry_iam_binding
, см. в документации провайдера . -
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
Проверить отзыв роли можно в консоли управления
-
Для реестра:
yc container registry list-access-bindings <имя_или_идентификатор_реестра>
-
Для репозитория:
yc container repository list-access-bindings <имя_или_идентификатор_репозитория>
Просмотрите роли, назначенные на ресурсы.
Чтобы отозвать роли, назначенные на реестр, воспользуйтесь методом REST API updateAccessBindings для ресурса Registry или вызовом gRPC API RegistryService/UpdateAccessBindings.
Чтобы отозвать роли, назначенные на репозиторий, воспользуйтесь методом REST API updateAccessBindings для ресурса Repository или вызовом gRPC API RepositoryService/UpdateAccessBindings.
Подробнее об управлении ролями читайте в документации Yandex Identity and Access Management.