Access management in API Gateway
Yandex Cloud users can only perform operations on resources that are allowed by the roles assigned to them. If a user does not have any roles assigned, almost all operations are forbidden.
To allow access to API Gateway resources (API gateways), 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 be assigned for a parent resource (folder or cloud) or an organization.
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 api-gateway.admin
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 for the cloud:
- 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.
For more information about assigning roles, see the Yandex Identity and Access Management documentation.
Which resources you can assign a role for
You can assign a role to an organization, cloud, or folder. The roles assigned for organizations, clouds, or folders also apply to nested resources.
You can assign a role for an API gateway via the YC CLI or the Yandex Cloud API.
Which roles exist in the service
The list below shows all roles considered when verifying access permissions in API Gateway.
Service roles
api-gateway.auditor
The api-gateway.auditor
role allows you to view the list of API gateways and the details on access permissions assigned to such gateways. It also enables viewing the relevant folder metadata.
api-gateway.viewer
The api-gateway.viewer
role allows you to view the list of API gateways, info on them, and the details on access permissions assigned to such gateways. It also enables viewing the relevant folder metadata.
This role also includes the api-gateway.auditor
permissions.
api-gateway.editor
The api-gateway.editor
role enables managing API gateways and viewing info on them, as well as working with WebSocket API.
Users with this role can:
- View the list of API gateways, info on them and on access permissions assigned to them, as well as use, modify, and delete such gateways.
- Use the request rate limit.
- View info on WebSocket connections and close them, as well as send data through such connections.
- View info on the relevant folder.
This role also includes the api-gateway.websocketWriter
permissions.
api-gateway.websocketWriter
The api-gateway.websocketWriter
role allows you to work with WebSocket API, as well as view the list of API gateways, info on them, and the details on access permissions assigned to such gateways.
Users with this role can:
- View info on WebSocket connections and close them, as well as send data through such connections.
- View the list of API gateways, info on them and on access permissions assigned to them.
- View info on the relevant folder.
This role also includes the api-gateway.viewer
permissions.
api-gateway.websocketBroadcaster
The api-gateway.websocketBroadcaster
role enables transmitting data through WebSocket (which includes sending data to multiple clients concurrently), as well as viewing the list of API gateways, info on them and on access permissions assigned to them.
Users with this role can:
- View info on WebSocket connections and close them, as well as send data through such connections, which includes transmitting data to multiple clients concurrently.
- View the list of API gateways, info on them and on access permissions assigned to them.
- View info on the relevant folder.
This role also includes the api-gateway.websocketWriter
permissions.
api-gateway.admin
The api-gateway.admin
role enables managing API gateways and access to them, viewing info on API gateways, and working with WebSocket API.
Users with this role can:
- View info on access permissions assigned for API gateways and modify such permissions.
- View info on API gateways, as well as create, modify, and delete them.
- View info on WebSocket connections and close them, as well as send data through such connections.
- Use the request rate limit.
- View info on the relevant folder.
This role also includes the api-gateway.editor
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.