Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI Studio
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Key Management Service
  • Getting started
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • FAQ

In this article:

  • Access management
  • Which resources you can assign a role for
  • Which roles exist in the service
  • Service roles
  • Primitive roles
  • What roles do I need

Access management in Key Management Service

Written by
Yandex Cloud
Updated at June 9, 2025
  • Access management
  • Which resources you can assign a role for
  • Which roles exist in the service
    • Service roles
    • Primitive roles
  • What roles do I need

In this section, you will learn:

  • Which resources you can assign a role for.
  • Which roles exist in the service.
  • Which roles are required for particular actions.

Access managementAccess management

Yandex Identity and Access Management checks all operations in Yandex Cloud. If an entity does not have required permissions, this service returns an error.

To grant permissions for a resource, assign the appropriate resource roles to an entity performing operations, such as 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 kms.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 forWhich resources you can assign a role for

You can assign a role to an organization, cloud, or folder. The roles assigned to organizations, clouds, and folders also apply to their nested resources.

You can assign a role for individual resources within the service in the management console, using the Yandex Cloud CLI, API, or Terraform:

  • Symmetric encryption key
  • Asymmetric encryption key pair
  • Asymmetric digital signature key pair

Which roles exist in the serviceWhich roles exist in the service

You can manage access to KMS keys using both service and primitive roles.

The chart below shows service’s roles and their permission inheritance. For example, editor inherits all viewer permissions. You can find role descriptions below the chart.

Service rolesService roles

Service roles provide more granular control over KMS keys with KMS specifics in mind: subjects are strictly separated into key administrators (the kms.admin role) and users (the kms.keys.encrypterDecrypter role).

Users without the resource-manager.clouds.owner or admin role cannot assign roles via the management console.

kms.keys.userkms.keys.user

The kms.keys.user role enables using symmetric encryption keys.

kms.keys.encrypterkms.keys.encrypter

The kms.keys.encrypter role enables viewing info on symmetric encryption keys and using such keys to encrypt data.

kms.keys.decrypterkms.keys.decrypter

The kms.keys.decrypter role enables viewing info on symmetric encryption keys and using such keys to decrypt data.

kms.keys.encrypterDecrypterkms.keys.encrypterDecrypter

The kms.keys.encrypterDecrypter role enables viewing info on symmetric encryption keys and using such keys to encrypt or decrypt data.

This role includes the kms.keys.encrypter and kms.keys.decrypter permissions.

kms.asymmetricEncryptionKeys.publicKeyViewerkms.asymmetricEncryptionKeys.publicKeyViewer

The kms.asymmetricEncryptionKeys.publicKeyViewer role enables viewing info on asymmetric encryption key pairs, as well as getting a public key from an encryption key pair.

kms.asymmetricSignatureKeys.publicKeyViewerkms.asymmetricSignatureKeys.publicKeyViewer

The kms.asymmetricSignatureKeys.publicKeyViewer role enables viewing info on digital signature key pairs, as well as getting a public key from a digital signature key pair.

kms.asymmetricSignatureKeys.signerkms.asymmetricSignatureKeys.signer

The kms.asymmetricSignatureKeys.signer role enables signing data with a private key from a digital signature key pair.

kms.asymmetricEncryptionKeys.decrypterkms.asymmetricEncryptionKeys.decrypter

The kms.asymmetricEncryptionKeys.decrypter role enables decrypting data with a private key from an asymmetric encryption key pair.

kms.auditorkms.auditor

The kms.auditor role enables viewing info on encryption keys and key pairs and access permissions assigned to them.

Users with this role can:

  • View the list of symmetric encryption keys, info on them and on access permissions assigned to them.
  • View info on asymmetric encryption key pairs and access permissions assigned to them.
  • View information on digital signature key pairs and on access permissions assigned to them.
  • View details on the Key Management Service quotas.

kms.viewerkms.viewer

The kms.viewer role enables viewing info on encryption and digital signature keys and key pairs, access permissions assigned to them, and KMS quotas.

Users with this role can:

  • View the list of symmetric encryption keys, info on them and on access permissions assigned to them.
  • View info on asymmetric encryption key pairs and access permissions assigned to them.
  • View information on digital signature key pairs and on access permissions assigned to them.
  • View details on the Key Management Service quotas.

This role includes the kms.auditor permissions.

kms.editorkms.editor

The kms.editor role allows you to create encryption and digital signature keys and key pairs as well as use them to encrypt, decrypt, and sign data.

Users with this role can:

  • View the list of symmetric encryption keys, info on them and their access permissions, as well as create, rotate, and modify symmetric key metadata, including rotation periods.
  • Encrypt and decrypt data using symmetric encryption keys.
  • View info on asymmetric encryption key pairs and access permissions assigned to them as well as create such key pairs or modify their metadata.
  • Get a public key and decrypt data using a private key from an asymmetric encryption key pair.
  • View info on digital signature key pairs and access permissions assigned to them as well as create such key pairs or modify their metadata.
  • Get a public key and sign data using a private key from a digital signature key pair.
  • View details on the Key Management Service quotas.

kms.adminkms.admin

The kms.admin role enables managing encryption and digital signature keys and key pairs, as well as managing access to such keys or key pairs and using them to encrypt, decrypt, and sign data.

Users with this role can:

  • View info on access permissions assigned to symmetric encryption keys and modify such permissions.
  • View the list of symmetric encryption keys and details on them, as well as create, activate, deactivate, rotate, and delete symmetric encryption keys, or change their default version and metadata (including rotation period).
  • Encrypt and decrypt data using symmetric encryption keys.
  • View info on access permissions assigned to asymmetric encryption key pairs and modify such permissions.
  • View details on asymmetric encryption key pairs as well as create, activate, deactivate, and delete such key pairs, or modify their metadata.
  • Get a public key and decrypt data using a private key from an asymmetric encryption key pair.
  • View info on access permissions assigned to digital signature key pairs and modify such permissions.
  • View details on digital signature key pairs as well as create, activate, deactivate, and delete such key pairs, or modify their metadata.
  • Get a public key and sign data using a private key from a digital signature key pair.
  • View details on Key Management Service quotas.
  • View info on the relevant folder.

This role includes the kms.editor permissions.

Primitive rolesPrimitive roles

Primitive roles allow users to perform actions in all Yandex Cloud services.

auditorauditor

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.

viewerviewer

The viewer role grants the permissions to read the info on any Yandex Cloud resources.

This role includes the auditor permissions.

Unlike auditor, the viewer role provides access to service data in read mode.

editoreditor

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 includes the viewer permissions.

adminadmin

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 includes the editor permissions.

Instead of primitive roles, we recommend using service roles with more granular access control, allowing you to implement the least privilege principle.

For more information about primitive roles, see the Yandex Cloud role reference.

What roles do I needWhat roles do I need

Example of key access control

We recommend working with roles as follows:

  1. The cloud owner (the resource-manager.clouds.owner role) or administrator (the admin role) assigns the kms.admin role to the KMS administrator.
  2. The KMS administrator creates the required number of keys and assigns (through the CLI or API) roles for them: subjects from different teams get the kms.keys.encrypter, kms.keys.decrypter, kms.asymmetricEncryptionKeys.publicKeyViewer, kms.asymmetricEncryptionKeys.decrypter, and kms.editor roles for keys and folders.

It is good practice to store KMS keys in a dedicated folder apart from other Yandex Cloud resources.

Action Methods Required roles
KMS
Getting information about keys and versions get, listVersions kms.viewer for the folder key
Symmetric encryption and decryption operations encrypt, decrypt, reEncrypt, generateDataKey kms.keys.encrypterDecrypter for the key (encryption and decryption), kms.keys.encrypter for the key (encryption only), and kms.keys.decrypter for the key (decryption only)
Getting a list of keys in the folder list kms.auditor for folder
Getting a public key of an asymmetric encryption key pair kms.asymmetricEncryptionKeys.publicKeyViewer for the key
Decrypting data with a private key of an asymmetric encryption key pair kms.asymmetricEncryptionKeys.decrypter for the key
Creating and updating a key create, update kms.editor for folder
Rotating a key rotate kms.editor for the key
Changing the primary version setPrimaryVersion kms.admin for the key
Destroying keys and versions delete, scheduleVersionDestruction, cancelVersionDestruction kms.admin for the key
Granting a role, revoking a role setAccessBindings, updateAccessBindings kms.admin for the key
Viewing roles granted for a key listAccessBindings kms.auditor for the key

What's nextWhat's next

  • Secure use of Yandex Cloud
  • How to assign a role.
  • How to revoke a role.
  • Learn more about access management in Yandex Cloud.
  • Learn more about inheriting roles.

Was the article helpful?

Previous
Server-side encryption for an Object Storage bucket
Next
Pricing policy
© 2025 Direct Cursus Technology L.L.C.