Key Management Service API, gRPC: SymmetricKeyService.Create
Creates a symmetric KMS key in the specified folder.
gRPC request
rpc Create (CreateSymmetricKeyRequest) returns (operation.Operation)
CreateSymmetricKeyRequest
{
"folderId": "string",
"name": "string",
"description": "string",
"labels": "string",
"defaultAlgorithm": "SymmetricAlgorithm",
"rotationPeriod": "google.protobuf.Duration",
"deletionProtection": "bool"
}
Field |
Description |
folderId |
string Required field. ID of the folder to create a symmetric KMS key in. |
name |
string Name of the key. |
description |
string Description of the key. |
labels |
string Custom labels for the symmetric KMS key as |
defaultAlgorithm |
enum SymmetricAlgorithm Encryption algorithm to be used with a new key version, generated with the next rotation.
|
rotationPeriod |
Interval between automatic rotations. To disable automatic rotation, don't include |
deletionProtection |
bool Flag that inhibits deletion of the symmetric KMS key |
operation.Operation
{
"id": "string",
"description": "string",
"createdAt": "google.protobuf.Timestamp",
"createdBy": "string",
"modifiedAt": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"keyId": "string",
"primaryVersionId": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"id": "string",
"folderId": "string",
"createdAt": "google.protobuf.Timestamp",
"name": "string",
"description": "string",
"labels": "string",
"status": "Status",
"primaryVersion": {
"id": "string",
"keyId": "string",
"status": "Status",
"algorithm": "SymmetricAlgorithm",
"createdAt": "google.protobuf.Timestamp",
"primary": "bool",
"destroyAt": "google.protobuf.Timestamp",
"hostedByHsm": "bool"
},
"defaultAlgorithm": "SymmetricAlgorithm",
"rotatedAt": "google.protobuf.Timestamp",
"rotationPeriod": "google.protobuf.Duration",
"deletionProtection": "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. |
createdAt |
Creation timestamp. |
createdBy |
string ID of the user or service account who initiated the operation. |
modifiedAt |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
CreateSymmetricKeyMetadata
Field |
Description |
keyId |
string ID of the key being created. |
primaryVersionId |
string ID of the primary version of the key being created. |
SymmetricKey
A symmetric KMS key that may contain several versions of the cryptographic material.
Field |
Description |
id |
string ID of the key. |
folderId |
string ID of the folder that the key belongs to. |
createdAt |
Time when the key was created. |
name |
string Name of the key. |
description |
string Description of the key. |
labels |
string Custom labels for the key as |
status |
enum Status Current status of the key.
|
primaryVersion |
Primary version of the key, used as the default for all encrypt/decrypt operations, |
defaultAlgorithm |
enum SymmetricAlgorithm Default encryption algorithm to be used with new versions of the key.
|
rotatedAt |
Time of the last key rotation (time when the last version was created). |
rotationPeriod |
Time period between automatic key rotations. |
deletionProtection |
bool Flag that inhibits deletion of the key |
SymmetricKeyVersion
Symmetric KMS key version: metadata about actual cryptographic data.
Field |
Description |
id |
string ID of the key version. |
keyId |
string ID of the symmetric KMS key that the version belongs to. |
status |
enum Status Status of the key version.
|
algorithm |
enum SymmetricAlgorithm Encryption algorithm that should be used when using the key version to encrypt plaintext.
|
createdAt |
Time when the key version was created. |
primary |
bool Indication of a primary version, that is to be used by default for all cryptographic |
destroyAt |
Time when the key version is going to be destroyed. Empty unless the status |
hostedByHsm |
bool Indication of the version that is hosted by HSM. |