How access management works in Yandex Cloud
Here you can learn how to manage access to your resources and how IAM checks access rights for the resources.
How are access rights verified?
All operations in Yandex Cloud are first sent for verification to IAM. For example:
- A user requests Compute Cloud to create a new disk in the
- The service sends a request to IAM to check whether this user is allowed to create disks in this folder.
- IAM checks if the user is a member of the cloud with the
defaultfolder and has the necessary permissions to create a disk in this folder.
- If the user doesn't have any of the permissions, the operation isn't performed and Yandex Cloud returns an error.
If all the required permissions were granted, IAM reports this to the service.
- The service creates a new disk.
How do I perform access management?
You can also assign a role to a parent resource that access rights are inherited from, such as a folder or cloud.
It usually takes 5 seconds or less to update access rights. If the role was assigned to you, but still you don't have access, try repeating the operation.
For example, you were given the right to create folders in the cloud and you were able to create one folder, but couldn't create another one. This is because the access rights have not yet been updated on the server where the second create folder operation was performed. Try creating the folder again.
Resources that roles can be assigned for
If you need to grant access to a resource that isn't on the list (such as a VM), assign the role to the parent resource it inherits permissions from. VM permissions are inherited from their folder.
Resource roles can be assigned by users with the administrator role for the resource, as well as the owners of the cloud that the resource belongs to.
Each role consists of a set of permissions that describe operations that can be performed with the resource. A user can assign a role with only those permissions which are available to themselves. For example, only the user with the cloud owner role can assign this same role. The administrator role is not enough for this.
To find out what roles exist and the permissions they include, see Roles.
Subjects that roles are assigned to
Roles are assigned to subjects. There are four types of subjects:
userAccount: A Yandex account added to Yandex Cloud.
serviceAccount: A service account created in Yandex Cloud.
A service account can only be assigned roles for the resources of the cloud that the service account belongs to.
federatedUser: A user account from an identity federation, like Active Directory.
system: A system group.
Assign access rights
Roles to a resource are assigned as a list of role-subject bindings. They are called access bindings. You can add or remove these bindings to control access rights to a resource.
Each binding is a single assignment of a role to a subject. To assign a user multiple roles to a resource, set a separate binding for each role.
Inheritance of access rights
If a resource has child resources, all permissions from the parent resource will be inherited by the child resources. For example, if you assign a user a role for a folder where a VM instance resides, all permissions of this role will also apply to the instance.
If a child resource is also assigned some roles, a list of permissions for this resource will be combined with a list of permissions for its parent resource. You can't limit the list of permissions inherited from the parent resource.
Access control restrictions in the management console
Some restrictions apply to assigning roles in the management console:
- You can't assign roles to a system group.
- You can only assign cloud and folder roles to users with a Yandex account and federated account.
- You can only assign a role for the folder where the service account was created.
- You can't assign roles to multiple subjects at once, unlike in the API or CLI. In the management console, you should first select the subject (user or service account), and then assign roles to it.
For more information about managing access to a specific Yandex Cloud service, see the
Access management section in the documentation for that service.
Step-by-step instructions and examples: