Access management in Data Streams
Data Streams uses roles to manage access rights.
Yandex Cloud users can only perform operations on resources that are allowed by the roles assigned to them. As long as a user has no roles assigned, almost all operations are forbidden.
To enable access to Yandex Data Streams resources (data streams, Yandex Managed Service for YDB databases storing the data streams, and database users), assign the required roles from the list below to a Yandex account, service account, federated users, user group, system group, or public group. Currently, a role can only be assigned for a parent resource (folder or cloud). Roles are inherited by nested resources.
Roles for a resource can be assigned by users who have the yds.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
Note
For more information about role inheritance, see Inheriting access permissions in the Yandex Resource Manager documentation.
Assigning roles
To assign a user a role:
- Add the required user if needed.
- In the management console
, on the left, select a cloud. - Go to the Access bindings tab.
- Click Configure access.
- In the window that opens, select User accounts.
- Select a user from the list or search by user.
- Click
Add role and select a role for the cloud. - Click Save.
Which roles exist in the service
The list below shows all roles considered when verifying access permissions in Data Streams.
Service roles
yds.auditor
The yds.auditor
role enables viewing metadata of streams in Yandex Data Streams, establishing YDB database connections, and viewing info on YDB databases and the relevant access permissions granted for them, as well as on the YDB database schema objects and backups.
Users with this role can:
- View streams metadata in Yandex Data Streams.
- Establish YDB database connections.
- View the list of YDB databases and info on them, as well as on the relevant access permissions granted for them.
- View info on YDB database backups and the relevant access permissions granted for them.
- View the list of YDB database schema objects, such as tables, indexes, and folders, and info on them.
- View info on the quotas for Managed Service for YDB.
- View info on the relevant cloud and folder.
This role also includes the ydb.auditor
permissions.
yds.viewer
The yds.viewer
role enables reading data from streams in Yandex Data Streams and viewing their settings, as well as establishing connections to YDB databases, querying them for reading, and viewing info on YDB databases and the relevant access permissions granted for them.
Users with this role can:
- View metadata of streams in Yandex Data Streams and read data from those steams.
- Establish connections to YDB databases and query them for reading.
- View the list of YDB databases and info on them, as well as on the relevant access permissions granted for them.
- View info on YDB database backups and the relevant access permissions granted for them.
- View the list of YDB database schema objects, such as tables, indexes, and folders, and info on them.
- View info on the quotas for Managed Service for YDB.
- View info on the relevant cloud and folder.
This role also includes the ydb.viewer
permissions.
yds.writer
The yds.writer
role enables writing data to streams in Yandex Data Streams and connecting to YDB databases.
yds.editor
The yds.editor
role enables creating, modifying, and deleting streams in Yandex Data Streams, as well as reading and writing data from and to those streams.
Users with this role can:
- View info on data streams and create, modify, and delete them.
- Read and write data from and to streams in Yandex Data Streams.
- View the list of YDB databases, info on them, and the relevant access permissions granted for them, as well as create, run, stop, modify, and delete YDB databases.
- Establish connections to YDB databases and query them for reading and writing.
- View info on YDB database backups and the relevant access permissions granted for them, as well as create and delete them, and use them to restore databases.
- View the list of YDB database schema objects, such as tables, indexes, and folders, and info on them, as well as create, modify, and delete such objects.
- View info on the quotas for Managed Service for YDB.
- View info on the relevant cloud and folder.
This role also includes the ydb.editor
and yds.writer
permissions.
yds.admin
The yds.admin
role enables creating, modifying, and deleting streams in Yandex Data Streams, as well as reading and writing data from and to those streams.
Users with this role can:
- View info on data streams and create, modify, and delete them.
- Read and write data from and to streams in Yandex Data Streams.
- View the list of YDB databases and info on them, as well as create, run, stop, modify, and delete them.
- View info on granted access permissions for the relevant YDB databases and modify such permissions.
- Establish connections to YDB databases and query them for reading and writing.
- View info on YDB database backups, as well as create and delete them and use them to restore YDB databases.
- View info on granted access permissions to backups and modify such permissions.
- View the list of YDB database schema objects, such as tables, indexes, and folders, and info on them, as well as create, modify, and delete such objects.
- View info on the quotas for Managed Service for YDB.
- View info on the relevant cloud and folder.
This role also includes the ydb.admin
permissions.
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.