Managing access with Yandex Identity and Access Management
Object Storage incorporates multiple mechanisms for managing access to resources. To learn how these mechanisms interact, see Access management methods in Object Storage: Overview.
In this section, you will learn:
About access management
In Yandex Cloud, all transactions are checked in Yandex Identity and Access Management. If a subject does not have the required permission, the service returns an error.
To grant permissions for a resource, assign roles for this resource to the subject that will perform the operations. You can assign roles to a Yandex account, service account, federated users, user group, system group, or public group. For more information, see How access management works in Yandex Cloud.
Roles for a resource can be assigned by users who have the storage.admin
role or one of the following roles for that resource:
admin
resource-manager.admin
organization-manager.admin
resource-manager.clouds.owner
organization-manager.organizations.owner
Which resources you can assign a role for
You can use the Yandex Cloud console or the YC CLI to assign a role for an organization, cloud, folder, or individual bucket. These assigned roles will also apply to nested resources.
To learn how to manage access to buckets and objects in them, see Access control list (ACL).
Which roles exist in the service
The chart below shows which roles are available in the service and how they inherit each other's permissions. For example, the editor
role includes all the permissions of viewer
. You can find the description of each role under the chart.
Service roles
storage.viewer
The storage.viewer
role gives you read access to the list of buckets, settings, and data.
storage.configViewer
The storage.configViewer
role enables you to view the security settings of buckets and their objects. It does not grant access to data stored in buckets.
storage.configurer
The storage.configurer
role enables you to manage the settings of object lifecycles, static website hosting, access policy, and CORS.
It does not permit the user to manage access control list (ACL) or public access settings. It does not grant access to bucket data.
storage.uploader
The storage.uploader
role enables you to upload objects to a bucket and overwrite previously uploaded ones. Since the storage.uploader
role inherits the permissions of the storage.viewer
role, it also grants permission to list bucket objects and download them.
This role does not allow you to delete objects or configure buckets.
storage.editor
The storage.editor
role enables you to perform any operation with buckets and objects in the folder: create (including a publicly accessible bucket), delete, and edit them.
This role does not allow you to manage access control list (ACL) settings.
storage.admin
The storage.admin
role is intended for managing Object Storage.
Users with this role can:
- Create buckets.
- Delete buckets.
- Assign an access control list (ACL).
- Manage any bucket object.
- Manage any bucket website.
- Configure other bucket parameters and objects in the bucket.
This role enables the user to grant other users access to a bucket or a specific object in it.
This role can be assigned by the administrator of the cloud (the admin
role).
Primitive roles
Primitive roles allow users to perform actions in all Yandex Cloud services.
auditor
The auditor
role grants a permission to read configuration and metadata of any Yandex Cloud resources without any access to data.
For instance, users with this role can:
- View info on a resource.
- View the resource metadata.
- View the list of operations with a resource.
auditor
is the most secure role that does not grant any access to the service data. This role suits the users who need minimum access to the Yandex Cloud resources.
viewer
The viewer
role grants the permissions to read the info on any Yandex Cloud resources.
This role also includes the auditor
permissions.
Unlike auditor
, the viewer
role provides access to service data in read mode.
editor
The editor
role provides permissions to manage any Yandex Cloud resources, except for assigning roles to other users, transferring organization ownership, removing an organization, and deleting Key Management Service encryption keys.
For instance, users with this role can create, modify, and delete resources.
This role also includes the viewer
permissions.
admin
The admin
role enables assigning any roles, except for resource-manager.clouds.owner
and organization-manager.organizations.owner
, and provides permissions to manage any Yandex Cloud resources (except for transferring organization ownership and removing an organization).
Prior to assigning the admin
role for an organization, cloud, or billing account, make sure to check out the information on protecting privileged accounts.
This role also includes the editor
permissions.
Instead of primitive roles, we recommend using service roles. This ensures more selective access control and implementation of the principle of least privilege.
For more information about primitive roles, see the Yandex Cloud role reference.