Access management in Cloud Functions
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 functions.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 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 a function 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 Cloud Functions.
Service roles
functions.auditor
The functions.auditor
role enables viewing info on the functions, triggers, and connections to managed databases.
Users with this role can:
- View the list of functions and info on them.
- View the list of triggers and info on them.
- View the list of database connections and info on them.
- View info on granted access permissions for Cloud Functions resources.
functions.viewer
The functions.viewer
role enables viewing info on functions, including the function version code and environment variables, as well as on triggers and connections to managed databases.
Users with this role can:
- View the list of functions and info on them.
- View the function version environment variables and code.
- View the list of triggers and info on them.
- View the list of database connections and info on them.
- View info on granted access permissions for Cloud Functions resources.
- View info on Cloud Functions quotas.
- View info on the relevant cloud.
- View info on the relevant folder.
This role also includes the functions.auditor
permissions.
functions.functionInvoker
The functions.functionInvoker
role enables invoking functions.
functions.editor
The functions.editor
role enables managing functions, triggers, API gateways, and connections to managed databases.
Users with this role can:
- View the list of functions and info on them, create functions and their versions, and modify, invoke, and delete functions.
- View the function version environment variables and code.
- View the list of triggers and info on them, as well as create, stop, run, modify, and delete them.
- View the list of database connections and the info on them, as well as create, modify, and delete database connections and connect to databases through functions.
- Create, modify, and delete API gateways.
- View info on granted access permissions for Cloud Functions resources.
- View info on Cloud Functions quotas.
- View info on the relevant cloud.
- View info on the relevant folder.
This role also includes the functions.viewer
permissions.
functions.mdbProxiesUser
The functions.mdbProxiesUser
role enables connecting to managed databases through functions.
functions.admin
The functions.admin
role enables managing functions, triggers, API gateways, and connections to managed databases, as well as access to those.
Users with this role can:
- View info on the granted access permissions to the Cloud Functions resources and modify such access permissions.
- View the list of functions and info on them, create functions and their versions, and modify, invoke, and delete functions.
- View the function version environment variables and code.
- View the list of triggers and info on them, as well as create, stop, run, modify, and delete them.
- View the list of database connections and the info on them, as well as create, modify, and delete database connections and connect to databases through functions.
- Create, modify, and delete API gateways.
- View info on Cloud Functions quotas.
- View info on the relevant cloud.
- View info on the relevant folder.
This role also includes the functions.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.