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.
The folder specified in the CLI profile is used by default. You can specify a different folder through 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 don't have Terraform, install it and configure the 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, change to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using the command:
terraform validate
If the configuration is correct, the following message is returned:
Success! The configuration is valid.
-
Run the command:
terraform plan
The terminal will display a list of resources with parameters. No changes are made at this step. If the configuration contains errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
in the terminal and press Enter.
-
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.