Revoking a role for a resource
You can prevent a subject from accessing a resource. To do this, revoke the subject's roles for that resource or the resources that the access rights are inherited from. For more information, see How access management works in Yandex Cloud.
- In the management console
, select the folder where you want to revoke a role for a resource. - In the list of services, select Container Registry.
- Select a registry or repository in it.
- Go to the Access bindings tab.
- Select a user from the list and click
next to the username. - Click Edit roles.
- Click
next to the role to revoke. - Click Save.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID>
command. You can also set a different folder for any specific command using the --folder-name
or --folder-id
parameter.
-
View assigned roles:
yc container <resource> list-access-bindings <resource_name_or_ID>
Where:
<resource>
:registry
orrepository
resource type.<resource_name_or_ID>
: Name or ID of the resource the role is assigned for.
-
Revoke a role:
-
User:
yc container <resource> remove-access-binding <resource_name_or_ID> \ --role <role> \ --user-account-id <user_ID>
-
yc container <resource> remove-access-binding <resource_name_or_ID> \ --role <role> \ --service-account-id <service_account_ID>
-
All authorized users (the
All authenticated users
public group):yc container <resource> remove-access-binding <resource_name_or_ID> \ --role <role> \ --all-authenticated-users
Where:
<resource>
:registry
orrepository
resource type.<resource_name_or_ID>
: Name or ID of the resource you want to revoke the role for.<role_ID>
: Role you want to revoke.
Example
The example below revokes the
container-registry.admin
role formy-first-registry
from a user.yc container registry remove-access-binding my-first-registry \ --role container-registry.admin \ --user-account-id ajeugsk5ubk6********
Result:
done (9s)
-
If you do not have Terraform yet, install it and configure its Yandex Cloud provider.
-
Open the Terraform configuration file and delete the fragment with the role assignment description.
Example role assignment description in the Terraform configuration:
resource "yandex_container_registry_iam_binding" "registry_name" { registry_id = "<registry_ID>" role = "<role>" members = [ "userAccount:<user_ID>", ] }
For more information about
yandex_container_registry_iam_binding
, see the provider documentation . -
-
In the terminal, go to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validate
If the configuration is correct, you will get this message:
Success! The configuration is valid.
-
Run this command:
terraform plan
The terminal will display a list of resources with their properties. No changes will be made at this step. If the configuration contains any errors, Terraform will point them out.
-
Apply the changes:
terraform apply
-
Type
yes
and press Enter to confirm the changes.
-
You can check whether the role has been revoked using the management console
-
Registry:
yc container registry list-access-bindings <registry_name_or_ID>
-
Repository:
yc container repository list-access-bindings <repository_name_or_ID>
View the roles assigned for resources.
To revoke registry roles, use the updateAccessBindings REST API method for the Registry resource or the RegistryService/UpdateAccessBindings gRPC API call.
To revoke repository roles, use the updateAccessBindings REST API method for the Repository resource or the RepositoryService/UpdateAccessBindings gRPC API call.
You can read more about role management in the Yandex Identity and Access Management documentation.