Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Key Management Service
  • Getting started
  • Access management
  • Pricing policy
  • Terraform reference
    • Authentication with the API
      • Overview
        • Overview
        • Create
        • Get
        • List
        • ListVersions
        • Update
        • Delete
        • SetPrimaryVersion
        • ScheduleVersionDestruction
        • CancelVersionDestruction
        • Rotate
        • ListOperations
        • ListAccessBindings
        • SetAccessBindings
        • UpdateAccessBindings
  • Monitoring metrics
  • Audit Trails events
  • FAQ

In this article:

  • gRPC request
  • UpdateSymmetricKeyRequest
  • operation.Operation
  • UpdateSymmetricKeyMetadata
  • SymmetricKey
  • SymmetricKeyVersion
  1. API reference
  2. gRPC
  3. SymmetricKey
  4. Update

Key Management Service API, gRPC: SymmetricKeyService.Update

Written by
Yandex Cloud
Updated at December 17, 2024
  • gRPC request
  • UpdateSymmetricKeyRequest
  • operation.Operation
  • UpdateSymmetricKeyMetadata
  • SymmetricKey
  • SymmetricKeyVersion

Updates the specified symmetric KMS key.

gRPC requestgRPC request

rpc Update (UpdateSymmetricKeyRequest) returns (operation.Operation)

UpdateSymmetricKeyRequestUpdateSymmetricKeyRequest

{
  "key_id": "string",
  "update_mask": "google.protobuf.FieldMask",
  "name": "string",
  "description": "string",
  "status": "Status",
  "labels": "map<string, string>",
  "default_algorithm": "SymmetricAlgorithm",
  "rotation_period": "google.protobuf.Duration",
  "deletion_protection": "bool"
}

Field

Description

key_id

string

Required field. ID of the symmetric KMS key to update.
To get the ID of a symmetric KMS key use a SymmetricKeyService.List request.

update_mask

google.protobuf.FieldMask

Required field. Field mask that specifies which attributes of the symmetric KMS key are going to be updated.

name

string

New name for the symmetric KMS key.

description

string

New description for the symmetric KMS key.

status

enum Status

New status for the symmetric KMS key.
Using the SymmetricKeyService.Update method you can only set ACTIVE or INACTIVE status.

  • STATUS_UNSPECIFIED
  • CREATING: The key is being created.
  • ACTIVE: The key is active and can be used for encryption and decryption.
    Can be set to INACTIVE using the SymmetricKeyService.Update method.
  • INACTIVE: The key is inactive and unusable.
    Can be set to ACTIVE using the SymmetricKeyService.Update method.

labels

object (map<string, string>)

Custom labels for the symmetric KMS key as key:value pairs. Maximum 64 per key.

default_algorithm

enum SymmetricAlgorithm

Default encryption algorithm to be used with new versions of the symmetric KMS key.

  • SYMMETRIC_ALGORITHM_UNSPECIFIED
  • AES_128: AES algorithm with 128-bit keys.
  • AES_192: AES algorithm with 192-bit keys.
  • AES_256: AES algorithm with 256-bit keys.
  • AES_256_HSM: AES algorithm with 256-bit keys hosted by HSM

rotation_period

google.protobuf.Duration

Time period between automatic symmetric KMS key rotations.

deletion_protection

bool

Flag that inhibits deletion of the symmetric KMS key

operation.Operationoperation.Operation

{
  "id": "string",
  "description": "string",
  "created_at": "google.protobuf.Timestamp",
  "created_by": "string",
  "modified_at": "google.protobuf.Timestamp",
  "done": "bool",
  "metadata": {
    "key_id": "string"
  },
  // Includes only one of the fields `error`, `response`
  "error": "google.rpc.Status",
  "response": {
    "id": "string",
    "folder_id": "string",
    "created_at": "google.protobuf.Timestamp",
    "name": "string",
    "description": "string",
    "labels": "map<string, string>",
    "status": "Status",
    "primary_version": {
      "id": "string",
      "key_id": "string",
      "status": "Status",
      "algorithm": "SymmetricAlgorithm",
      "created_at": "google.protobuf.Timestamp",
      "primary": "bool",
      "destroy_at": "google.protobuf.Timestamp",
      "hosted_by_hsm": "bool"
    },
    "default_algorithm": "SymmetricAlgorithm",
    "rotated_at": "google.protobuf.Timestamp",
    "rotation_period": "google.protobuf.Duration",
    "deletion_protection": "bool"
  }
  // end of the list of possible fields
}

An Operation resource. For more information, see Operation.

Field

Description

id

string

ID of the operation.

description

string

Description of the operation. 0-256 characters long.

created_at

google.protobuf.Timestamp

Creation timestamp.

created_by

string

ID of the user or service account who initiated the operation.

modified_at

google.protobuf.Timestamp

The time when the Operation resource was last modified.

done

bool

If the value is false, it means the operation is still in progress.
If true, the operation is completed, and either error or response is available.

metadata

UpdateSymmetricKeyMetadata

Service-specific metadata associated with the operation.
It typically contains the ID of the target resource that the operation is performed on.
Any method that returns a long-running operation should document the metadata type, if any.

error

google.rpc.Status

The error result of the operation in case of failure or cancellation.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

response

SymmetricKey

The normal response of the operation in case of success.
If the original method returns no data on success, such as Delete,
the response is google.protobuf.Empty.
If the original method is the standard Create/Update,
the response should be the target resource of the operation.
Any method that returns a long-running operation should document the response type, if any.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

UpdateSymmetricKeyMetadataUpdateSymmetricKeyMetadata

Field

Description

key_id

string

ID of the key being updated.

SymmetricKeySymmetricKey

A symmetric KMS key that may contain several versions of the cryptographic material.

Field

Description

id

string

ID of the key.

folder_id

string

ID of the folder that the key belongs to.

created_at

google.protobuf.Timestamp

Time when the key was created.

name

string

Name of the key.

description

string

Description of the key.

labels

object (map<string, string>)

Custom labels for the key as key:value pairs. Maximum 64 per key.

status

enum Status

Current status of the key.

  • STATUS_UNSPECIFIED
  • CREATING: The key is being created.
  • ACTIVE: The key is active and can be used for encryption and decryption.
    Can be set to INACTIVE using the SymmetricKeyService.Update method.
  • INACTIVE: The key is inactive and unusable.
    Can be set to ACTIVE using the SymmetricKeyService.Update method.

primary_version

SymmetricKeyVersion

Primary version of the key, used as the default for all encrypt/decrypt operations,
when no version ID is specified.

default_algorithm

enum SymmetricAlgorithm

Default encryption algorithm to be used with new versions of the key.

  • SYMMETRIC_ALGORITHM_UNSPECIFIED
  • AES_128: AES algorithm with 128-bit keys.
  • AES_192: AES algorithm with 192-bit keys.
  • AES_256: AES algorithm with 256-bit keys.
  • AES_256_HSM: AES algorithm with 256-bit keys hosted by HSM

rotated_at

google.protobuf.Timestamp

Time of the last key rotation (time when the last version was created).
Empty if the key does not have versions yet.

rotation_period

google.protobuf.Duration

Time period between automatic key rotations.

deletion_protection

bool

Flag that inhibits deletion of the key

SymmetricKeyVersionSymmetricKeyVersion

Symmetric KMS key version: metadata about actual cryptographic data.

Field

Description

id

string

ID of the key version.

key_id

string

ID of the symmetric KMS key that the version belongs to.

status

enum Status

Status of the key version.

  • STATUS_UNSPECIFIED
  • ACTIVE: The version is active and can be used for encryption and decryption.
  • SCHEDULED_FOR_DESTRUCTION: The version is scheduled for destruction, the time when it will be destroyed
    is specified in the SymmetricKeyVersion.destroy_at field.
  • DESTROYED: The version is destroyed and cannot be recovered.

algorithm

enum SymmetricAlgorithm

Encryption algorithm that should be used when using the key version to encrypt plaintext.

  • SYMMETRIC_ALGORITHM_UNSPECIFIED
  • AES_128: AES algorithm with 128-bit keys.
  • AES_192: AES algorithm with 192-bit keys.
  • AES_256: AES algorithm with 256-bit keys.
  • AES_256_HSM: AES algorithm with 256-bit keys hosted by HSM

created_at

google.protobuf.Timestamp

Time when the key version was created.

primary

bool

Indication of a primary version, that is to be used by default for all cryptographic
operations that don't have a key version explicitly specified.

destroy_at

google.protobuf.Timestamp

Time when the key version is going to be destroyed. Empty unless the status
is SCHEDULED_FOR_DESTRUCTION.

hosted_by_hsm

bool

Indication of the version that is hosted by HSM.

Was the article helpful?

Previous
ListVersions
Next
Delete
© 2025 Direct Cursus Technology L.L.C.