Index
EkmService
(interface)KeyManagementService
(interface)AsymmetricDecryptRequest
(message)AsymmetricDecryptResponse
(message)AsymmetricSignRequest
(message)AsymmetricSignResponse
(message)Certificate
(message)CreateCryptoKeyRequest
(message)CreateCryptoKeyVersionRequest
(message)CreateEkmConnectionRequest
(message)CreateImportJobRequest
(message)CreateKeyRingRequest
(message)CryptoKey
(message)CryptoKey.CryptoKeyPurpose
(enum)CryptoKeyVersion
(message)CryptoKeyVersion.CryptoKeyVersionAlgorithm
(enum)CryptoKeyVersion.CryptoKeyVersionState
(enum)CryptoKeyVersion.CryptoKeyVersionView
(enum)CryptoKeyVersionTemplate
(message)DecryptRequest
(message)DecryptResponse
(message)DestroyCryptoKeyVersionRequest
(message)Digest
(message)EkmConfig
(message)EkmConnection
(message)EkmConnection.KeyManagementMode
(enum)EkmConnection.ServiceResolver
(message)EncryptRequest
(message)EncryptResponse
(message)ExternalProtectionLevelOptions
(message)GenerateRandomBytesRequest
(message)GenerateRandomBytesResponse
(message)GetCryptoKeyRequest
(message)GetCryptoKeyVersionRequest
(message)GetEkmConfigRequest
(message)GetEkmConnectionRequest
(message)GetImportJobRequest
(message)GetKeyRingRequest
(message)GetPublicKeyRequest
(message)ImportCryptoKeyVersionRequest
(message)ImportJob
(message)ImportJob.ImportJobState
(enum)ImportJob.ImportMethod
(enum)ImportJob.WrappingPublicKey
(message)KeyOperationAttestation
(message)KeyOperationAttestation.AttestationFormat
(enum)KeyOperationAttestation.CertificateChains
(message)KeyRing
(message)ListCryptoKeyVersionsRequest
(message)ListCryptoKeyVersionsResponse
(message)ListCryptoKeysRequest
(message)ListCryptoKeysResponse
(message)ListEkmConnectionsRequest
(message)ListEkmConnectionsResponse
(message)ListImportJobsRequest
(message)ListImportJobsResponse
(message)ListKeyRingsRequest
(message)ListKeyRingsResponse
(message)LocationMetadata
(message)MacSignRequest
(message)MacSignResponse
(message)MacVerifyRequest
(message)MacVerifyResponse
(message)ProtectionLevel
(enum)PublicKey
(message)RestoreCryptoKeyVersionRequest
(message)UpdateCryptoKeyPrimaryVersionRequest
(message)UpdateCryptoKeyRequest
(message)UpdateCryptoKeyVersionRequest
(message)UpdateEkmConfigRequest
(message)UpdateEkmConnectionRequest
(message)VerifyConnectivityRequest
(message)VerifyConnectivityResponse
(message)
EkmService
Google Cloud Key Management EKM Service
Manages external cryptographic keys and operations using those keys. Implements a REST model with the following objects: * EkmConnection
CreateEkmConnection |
---|
Creates a new
|
GetEkmConfig |
---|
Returns the
|
GetEkmConnection |
---|
Returns metadata for a given
|
ListEkmConnections |
---|
Lists
|
UpdateEkmConfig |
---|
Updates the
|
UpdateEkmConnection |
---|
Updates an
|
VerifyConnectivity |
---|
Verifies that Cloud KMS can successfully connect to the external key manager specified by an
|
KeyManagementService
Google Cloud Key Management Service
Manages cryptographic keys and operations using those keys. Implements a REST model with the following objects:
If you are using manual gRPC libraries, see Using gRPC with Cloud KMS.
AsymmetricDecrypt |
---|
Decrypts data that was encrypted with a public key retrieved from
|
AsymmetricSign |
---|
Signs data using a
|
CreateCryptoKey |
---|
Create a new
|
CreateCryptoKeyVersion |
---|
Create a new The server will assign the next sequential id. If unset,
|
CreateImportJob |
---|
Create a new
|
CreateKeyRing |
---|
Create a new
|
Decrypt |
---|
Decrypts data that was protected by
|
DestroyCryptoKeyVersion |
---|
Schedule a Upon calling this method, Before the
|
Encrypt |
---|
Encrypts data, so that it can only be recovered by a call to
|
GenerateRandomBytes |
---|
Generate random bytes using the Cloud KMS randomness source in the provided location.
|
GetCryptoKey |
---|
Returns metadata for a given
|
GetCryptoKeyVersion |
---|
Returns metadata for a given
|
GetImportJob |
---|
Returns metadata for a given
|
GetKeyRing |
---|
Returns metadata for a given
|
GetPublicKey |
---|
Returns the public key for the given
|
ImportCryptoKeyVersion |
---|
Import wrapped key material into a All requests must specify a
|
ListCryptoKeyVersions |
---|
Lists
|
ListCryptoKeys |
---|
Lists
|
ListImportJobs |
---|
Lists
|
ListKeyRings |
---|
Lists
|
MacSign |
---|
Signs data using a
|
MacVerify |
---|
Verifies MAC tag using a
|
RestoreCryptoKeyVersion |
---|
Restore a Upon restoration of the CryptoKeyVersion,
|
UpdateCryptoKey |
---|
Update a
|
UpdateCryptoKeyPrimaryVersion |
---|
Update the version of a Returns an error if called on a key whose purpose is not
|
UpdateCryptoKeyVersion |
---|
Update a
|
AsymmetricDecryptRequest
Request message for KeyManagementService.AsymmetricDecrypt
.
Fields | |
---|---|
name |
Required. The resource name of the Authorization requires the following IAM permission on the specified resource
|
ciphertext |
Required. The data encrypted with the named |
ciphertext_crc32c |
Optional. An optional CRC32C checksum of the |
AsymmetricDecryptResponse
Response message for KeyManagementService.AsymmetricDecrypt
.
Fields | |
---|---|
plaintext |
The decrypted data originally encrypted with the matching public key. |
plaintext_crc32c |
Integrity verification field. A CRC32C checksum of the returned |
verified_ciphertext_crc32c |
Integrity verification field. A flag indicating whether |
protection_level |
The |
AsymmetricSignRequest
Request message for KeyManagementService.AsymmetricSign
.
Fields | |
---|---|
name |
Required. The resource name of the Authorization requires the following IAM permission on the specified resource
|
digest |
Optional. The digest of the data to sign. The digest must be produced with the same digest algorithm as specified by the key version's This field may not be supplied if |
digest_crc32c |
Optional. An optional CRC32C checksum of the |
data |
Optional. The data to sign. It can't be supplied if |
data_crc32c |
Optional. An optional CRC32C checksum of the |
AsymmetricSignResponse
Response message for KeyManagementService.AsymmetricSign
.
Fields | |
---|---|
signature |
The created signature. |
signature_crc32c |
Integrity verification field. A CRC32C checksum of the returned |
verified_digest_crc32c |
Integrity verification field. A flag indicating whether |
name |
The resource name of the |
verified_data_crc32c |
Integrity verification field. A flag indicating whether |
protection_level |
The |
Certificate
A Certificate
represents an X.509 certificate used to authenticate HTTPS connections to EKM replicas.
Fields | |
---|---|
raw_der |
Required. The raw certificate bytes in DER format. |
parsed |
Output only. True if the certificate was parsed successfully. |
issuer |
Output only. The issuer distinguished name in RFC 2253 format. Only present if |
subject |
Output only. The subject distinguished name in RFC 2253 format. Only present if |
subject_alternative_dns_names[] |
Output only. The subject Alternative DNS names. Only present if |
not_before_time |
Output only. The certificate is not valid before this time. Only present if |
not_after_time |
Output only. The certificate is not valid after this time. Only present if |
serial_number |
Output only. The certificate serial number as a hex string. Only present if |
sha256_fingerprint |
Output only. The SHA-256 certificate fingerprint as a hex string. Only present if |
CreateCryptoKeyRequest
Request message for KeyManagementService.CreateCryptoKey
.
Fields | |
---|---|
parent |
Required. The Authorization requires the following IAM permission on the specified resource
|
crypto_key_id |
Required. It must be unique within a KeyRing and match the regular expression |
crypto_key |
Required. A |
skip_initial_version_creation |
If set to true, the request will create a |
CreateCryptoKeyVersionRequest
Request message for KeyManagementService.CreateCryptoKeyVersion
.
Fields | |
---|---|
parent |
Required. The Authorization requires the following IAM permission on the specified resource
|
crypto_key_version |
Required. A |
CreateEkmConnectionRequest
Request message for EkmService.CreateEkmConnection
.
Fields | |
---|---|
parent |
Required. The resource name of the location associated with the Authorization requires the following IAM permission on the specified resource
|
ekm_connection_id |
Required. It must be unique within a location and match the regular expression |
ekm_connection |
Required. An |
CreateImportJobRequest
Request message for KeyManagementService.CreateImportJob
.
Fields | |
---|---|
parent |
Required. The Authorization requires the following IAM permission on the specified resource
|
import_job_id |
Required. It must be unique within a KeyRing and match the regular expression |
import_job |
Required. An |
CreateKeyRingRequest
Request message for KeyManagementService.CreateKeyRing
.
Fields | |
---|---|
parent |
Required. The resource name of the location associated with the Authorization requires the following IAM permission on the specified resource
|
key_ring_id |
Required. It must be unique within a location and match the regular expression |
key_ring |
Required. A |
CryptoKey
A CryptoKey
represents a logical key that can be used for cryptographic operations.
A CryptoKey
is made up of zero or more versions
, which represent the actual key material used in cryptographic operations.
Fields | |
---|---|
name |
Output only. The resource name for this |
primary |
Output only. A copy of the "primary" The Keys with |
purpose |
Immutable. The immutable purpose of this |
create_time |
Output only. The time at which this |
next_rotation_time |
At
Key rotations performed manually via Keys with |
version_template |
A template describing settings for new |
labels |
Labels with user-defined metadata. For more information, see Labeling Keys. |
import_only |
Immutable. Whether this key may contain imported versions only. |
destroy_scheduled_duration |
Immutable. The period of time that versions of this key spend in the |
crypto_key_backend |
Immutable. The resource name of the backend environment where the key material for all |
Union field rotation_schedule . Controls the rate of automatic rotation. rotation_schedule can be only one of the following: |
|
rotation_period |
If Keys with |
CryptoKeyPurpose
CryptoKeyPurpose
describes the cryptographic capabilities of a CryptoKey
. A given key can only be used for the operations allowed by its purpose. For more information, see Key purposes.
Enums | |
---|---|
CRYPTO_KEY_PURPOSE_UNSPECIFIED |
Not specified. |
ENCRYPT_DECRYPT |
CryptoKeys with this purpose may be used with Encrypt and Decrypt . |
ASYMMETRIC_SIGN |
CryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey . |
ASYMMETRIC_DECRYPT |
CryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey . |
MAC |
CryptoKeys with this purpose may be used with MacSign . |
CryptoKeyVersion
A CryptoKeyVersion
represents an individual cryptographic key, and the associated key material.
An ENABLED
version can be used for cryptographic operations.
For security reasons, the raw cryptographic key material represented by a CryptoKeyVersion
can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS.
Fields | |
---|---|
name |
Output only. The resource name for this |
state |
The current state of the |
protection_level |
Output only. The |
algorithm |
Output only. The |
attestation |
Output only. Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with |
create_time |
Output only. The time at which this |
generate_time |
Output only. The time this |
destroy_time |
Output only. The time this |
destroy_event_time |
Output only. The time this CryptoKeyVersion's key material was destroyed. Only present if |
import_job |
Output only. The name of the |
import_time |
Output only. The time at which this |
import_failure_reason |
Output only. The root cause of the most recent import failure. Only present if |
generation_failure_reason |
Output only. The root cause of the most recent generation failure. Only present if |
external_destruction_failure_reason |
Output only. The root cause of the most recent external destruction failure. Only present if |
external_protection_level_options |
ExternalProtectionLevelOptions stores a group of additional fields for configuring a |
reimport_eligible |
Output only. Whether or not this key version is eligible for reimport, by being specified as a target in |
CryptoKeyVersionAlgorithm
The algorithm of the CryptoKeyVersion
, indicating what parameters must be used for each cryptographic operation.
The GOOGLE_SYMMETRIC_ENCRYPTION
algorithm is usable with CryptoKey.purpose
ENCRYPT_DECRYPT
.
Algorithms beginning with "RSA_SIGN_" are usable with CryptoKey.purpose
ASYMMETRIC_SIGN
.
The fields in the name after "RSA_SIGN_" correspond to the following parameters: padding algorithm, modulus bit length, and digest algorithm.
For PSS, the salt length used is equal to the length of digest algorithm. For example, RSA_SIGN_PSS_2048_SHA256
will use PSS with a salt length of 256 bits or 32 bytes.
Algorithms beginning with "RSA_DECRYPT_" are usable with CryptoKey.purpose
ASYMMETRIC_DECRYPT
.
The fields in the name after "RSA_DECRYPT_" correspond to the following parameters: padding algorithm, modulus bit length, and digest algorithm.
Algorithms beginning with "EC_SIGN_" are usable with CryptoKey.purpose
ASYMMETRIC_SIGN
.
The fields in the name after "EC_SIGN_" correspond to the following parameters: elliptic curve, digest algorithm.
Algorithms beginning with "HMAC_" are usable with CryptoKey.purpose
MAC
.
The suffix following "HMAC_" corresponds to the hash algorithm being used (eg. SHA256).
For more information, see Key purposes and algorithms.
Enums | |
---|---|
CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED |
Not specified. |
GOOGLE_SYMMETRIC_ENCRYPTION |
Creates symmetric encryption keys. |
RSA_SIGN_PSS_2048_SHA256 |
RSASSA-PSS 2048 bit key with a SHA256 digest. |
RSA_SIGN_PSS_3072_SHA256 |
RSASSA-PSS 3072 bit key with a SHA256 digest. |
RSA_SIGN_PSS_4096_SHA256 |
RSASSA-PSS 4096 bit key with a SHA256 digest. |
RSA_SIGN_PSS_4096_SHA512 |
RSASSA-PSS 4096 bit key with a SHA512 digest. |
RSA_SIGN_PKCS1_2048_SHA256 |
RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest. |
RSA_SIGN_PKCS1_3072_SHA256 |
RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest. |
RSA_SIGN_PKCS1_4096_SHA256 |
RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest. |
RSA_SIGN_PKCS1_4096_SHA512 |
RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest. |
RSA_SIGN_RAW_PKCS1_2048 |
RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key. |
RSA_SIGN_RAW_PKCS1_3072 |
RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key. |
RSA_SIGN_RAW_PKCS1_4096 |
RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key. |
RSA_DECRYPT_OAEP_2048_SHA256 |
RSAES-OAEP 2048 bit key with a SHA256 digest. |
RSA_DECRYPT_OAEP_3072_SHA256 |
RSAES-OAEP 3072 bit key with a SHA256 digest. |
RSA_DECRYPT_OAEP_4096_SHA256 |
RSAES-OAEP 4096 bit key with a SHA256 digest. |
RSA_DECRYPT_OAEP_4096_SHA512 |
RSAES-OAEP 4096 bit key with a SHA512 digest. |
RSA_DECRYPT_OAEP_2048_SHA1 |
RSAES-OAEP 2048 bit key with a SHA1 digest. |
RSA_DECRYPT_OAEP_3072_SHA1 |
RSAES-OAEP 3072 bit key with a SHA1 digest. |
RSA_DECRYPT_OAEP_4096_SHA1 |
RSAES-OAEP 4096 bit key with a SHA1 digest. |
EC_SIGN_P256_SHA256 |
ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
EC_SIGN_P384_SHA384 |
ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
EC_SIGN_SECP256K1_SHA256 |
ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
HMAC_SHA256 |
HMAC-SHA256 signing with a 256 bit key. |
HMAC_SHA1 |
HMAC-SHA1 signing with a 160 bit key. |
HMAC_SHA384 |
HMAC-SHA384 signing with a 384 bit key. |
HMAC_SHA512 |
HMAC-SHA512 signing with a 512 bit key. |
HMAC_SHA224 |
HMAC-SHA224 signing with a 224 bit key. |
EXTERNAL_SYMMETRIC_ENCRYPTION |
Algorithm representing symmetric encryption by an external key manager. |
CryptoKeyVersionState
The state of a CryptoKeyVersion
, indicating if it can be used.
Enums | |
---|---|
CRYPTO_KEY_VERSION_STATE_UNSPECIFIED |
Not specified. |
PENDING_GENERATION |
This version is still being generated. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready. |
ENABLED |
This version may be used for cryptographic operations. |
DISABLED |
This version may not be used, but the key material is still available, and the version can be placed back into the ENABLED state. |
DESTROYED |
This version is destroyed, and the key material is no longer stored. This version may only become ENABLED again if this version is reimport_eligible and the original key material is reimported with a call to KeyManagementService.ImportCryptoKeyVersion . |
DESTROY_SCHEDULED |
This version is scheduled for destruction, and will be destroyed soon. Call RestoreCryptoKeyVersion to put it back into the DISABLED state. |
PENDING_IMPORT |
This version is still being imported. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready. |
IMPORT_FAILED |
This version was not imported successfully. It may not be used, enabled, disabled, or destroyed. The submitted key material has been discarded. Additional details can be found in CryptoKeyVersion.import_failure_reason . |
GENERATION_FAILED |
This version was not generated successfully. It may not be used, enabled, disabled, or destroyed. Additional details can be found in CryptoKeyVersion.generation_failure_reason . |
PENDING_EXTERNAL_DESTRUCTION |
This version was destroyed, and it may not be used or enabled again. Cloud KMS is waiting for the corresponding key material residing in an external key manager to be destroyed. |
EXTERNAL_DESTRUCTION_FAILED |
This version was destroyed, and it may not be used or enabled again. However, Cloud KMS could not confirm that the corresponding key material residing in an external key manager was destroyed. Additional details can be found in CryptoKeyVersion.external_destruction_failure_reason . |
CryptoKeyVersionView
A view for CryptoKeyVersion
s. Controls the level of detail returned for CryptoKeyVersions
in KeyManagementService.ListCryptoKeyVersions
and KeyManagementService.ListCryptoKeys
.
Enums | |
---|---|
CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED |
Default view for each CryptoKeyVersion . Does not include the attestation field. |
FULL |
Provides all fields in each CryptoKeyVersion , including the attestation . |
CryptoKeyVersionTemplate
A CryptoKeyVersionTemplate
specifies the properties to use when creating a new CryptoKeyVersion
, either manually with CreateCryptoKeyVersion
or automatically as a result of auto-rotation.
Fields | |
---|---|
protection_level |
|
algorithm |
Required. For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and |
DecryptRequest
Request message for KeyManagementService.Decrypt
.
Fields | |
---|---|
name |
Required. The resource name of the Authorization requires the following IAM permission on the specified resource
|
ciphertext |
Required. The encrypted data originally returned in |
additional_authenticated_data |
Optional. Optional data that must match the data originally supplied in |
ciphertext_crc32c |
Optional. An optional CRC32C checksum of the |
additional_authenticated_data_crc32c |
Optional. An optional CRC32C checksum of the |
DecryptResponse
Response message for KeyManagementService.Decrypt
.
Fields | |
---|---|
plaintext |
The decrypted data originally supplied in |
plaintext_crc32c |
Integrity verification field. A CRC32C checksum of the returned |
used_primary |
Whether the Decryption was performed using the primary key version. |
protection_level |
The |
DestroyCryptoKeyVersionRequest
Request message for KeyManagementService.DestroyCryptoKeyVersion
.
Fields | |
---|---|
name |
Required. The resource name of the Authorization requires the following IAM permission on the specified resource
|
Digest
A Digest
holds a cryptographic message digest.
Fields | |
---|---|
Union field digest . Required. The message digest. digest can be only one of the following: |
|
sha256 |
A message digest produced with the SHA-256 algorithm. |
sha384 |
A message digest produced with the SHA-384 algorithm. |
sha512 |
A message digest produced with the SHA-512 algorithm. |
EkmConfig
An EkmConfig
is a singleton resource that represents configuration parameters that apply to all CryptoKeys
and CryptoKeyVersions
with a ProtectionLevel
of [EXTERNAL_VPC][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC] in a given project and location.
Fields | |
---|---|
name |
Output only. The resource name for the |
default_ekm_connection |
Optional. Resource name of the default |
EkmConnection
An EkmConnection
represents an individual EKM connection. It can be used for creating CryptoKeys
and CryptoKeyVersions
with a ProtectionLevel
of [EXTERNAL_VPC][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], as well as performing cryptographic operations using keys created within the EkmConnection
.
Fields | |
---|---|
name |
Output only. The resource name for the |
create_time |
Output only. The time at which the |
service_resolvers[] |
A list of |
etag |
Optional. Etag of the currently stored |
key_management_mode |
Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to |
crypto_space_path |
Optional. Identifies the EKM Crypto Space that this |
KeyManagementMode
KeyManagementMode
describes who can perform control plane cryptographic operations using this EkmConnection
.
Enums | |
---|---|
KEY_MANAGEMENT_MODE_UNSPECIFIED |
Not specified. |
MANUAL |
EKM-side key management operations on CryptoKeys created with this EkmConnection must be initiated from the EKM directly and cannot be performed from Cloud KMS. This means that: * When creating a CryptoKeyVersion associated with this EkmConnection , the caller must supply the key path of pre-existing external key material that will be linked to the CryptoKeyVersion . * Destruction of external key material cannot be requested via the Cloud KMS API and must be performed directly in the EKM. * Automatic rotation of key material is not supported. |
CLOUD_KMS |
All CryptoKeys created with this EkmConnection use EKM-side key management operations initiated from Cloud KMS. This means that: * When a CryptoKeyVersion associated with this EkmConnection is created, the EKM automatically generates new key material and a new key path. The caller cannot supply the key path of pre-existing external key material. * Destruction of external key material associated with this EkmConnection can be requested by calling [DestroyCryptoKeyVersion][EkmService.DestroyCryptoKeyVersion]. * Automatic rotation of key material is supported. |
ServiceResolver
A ServiceResolver
represents an EKM replica that can be reached within an EkmConnection
.
Fields | |
---|---|
service_directory_service |
Required. The resource name of the Service Directory service pointing to an EKM replica, in the format |
endpoint_filter |
Optional. The filter applied to the endpoints of the resolved service. If no filter is specified, all endpoints will be considered. An endpoint will be chosen arbitrarily from the filtered list for each request. For endpoint filter syntax and examples, see https://cloud.google.com/service-directory/docs/reference/rpc/google.cloud.servicedirectory.v1#resolveservicerequest. |
hostname |
Required. The hostname of the EKM replica used at TLS and HTTP layers. |
server_certificates[] |
Required. A list of leaf server certificates used to authenticate HTTPS connections to the EKM replica. Currently, a maximum of 10 |
EncryptRequest
Request message for KeyManagementService.Encrypt
.
Fields | |
---|---|
name |
Required. The resource name of the If a Authorization requires the following IAM permission on the specified resource
|
plaintext |
Required. The data to encrypt. Must be no larger than 64KiB. The maximum size depends on the key version's |
additional_authenticated_data |
Optional. Optional data that, if specified, must also be provided during decryption through The maximum size depends on the key version's |
plaintext_crc32c |
Optional. An optional CRC32C checksum of the |
additional_authenticated_data_crc32c |
Optional. An optional CRC32C checksum of the |
EncryptResponse
Response message for KeyManagementService.Encrypt
.
Fields | |
---|---|
name |
The resource name of the |
ciphertext |
The encrypted data. |
ciphertext_crc32c |
Integrity verification field. A CRC32C checksum of the returned |
verified_plaintext_crc32c |
Integrity verification field. A flag indicating whether |
verified_additional_authenticated_data_crc32c |
Integrity verification field. A flag indicating whether |
protection_level |
The |
ExternalProtectionLevelOptions
ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion
that are specific to the EXTERNAL
protection level and EXTERNAL_VPC
protection levels.
Fields | |
---|---|
external_key_uri |
The URI for an external resource that this |
ekm_connection_key_path |
The path to the external key material on the EKM when using |
GenerateRandomBytesRequest
Request message for KeyManagementService.GenerateRandomBytes
.
Fields | |
---|---|
location |
The project-specific location in which to generate random bytes. For example, "projects/my-project/locations/us-central1". |
length_bytes |
The length in bytes of the amount of randomness to retrieve. Minimum 8 bytes, maximum 1024 bytes. |
protection_level |
The |
GenerateRandomBytesResponse
Response message for KeyManagementService.GenerateRandomBytes
.
Fields | |
---|---|
data |
The generated data. |
data_crc32c |
Integrity verification field. A CRC32C checksum of the returned |
GetCryptoKeyRequest
Request message for KeyManagementService.GetCryptoKey
.
Fields | |
---|---|
name |
Required. The Authorization requires the following IAM permission on the specified resource
|
GetCryptoKeyVersionRequest
Request message for KeyManagementService.GetCryptoKeyVersion
.
Fields | |
---|---|
name |
Required. The Authorization requires the following IAM permission on the specified resource
|
GetEkmConfigRequest
Request message for EkmService.GetEkmConfig
.
Fields | |
---|---|
name |
Required. The Authorization requires the following IAM permission on the specified resource
|
GetEkmConnectionRequest
Request message for EkmService.GetEkmConnection
.
Fields | |
---|---|
name |
Required. The Authorization requires the following IAM permission on the specified resource
|
GetImportJobRequest
Request message for KeyManagementService.GetImportJob
.
Fields | |
---|---|
name |
Required. The Authorization requires the following IAM permission on the specified resource
|
GetKeyRingRequest
Request message for KeyManagementService.GetKeyRing
.
Fields | |
---|---|
name |
Required. The Authorization requires the following IAM permission on the specified resource
|
GetPublicKeyRequest
Request message for KeyManagementService.GetPublicKey
.
Fields | |
---|---|
name |
Required. The Authorization requires the following IAM permission on the specified resource
|
ImportCryptoKeyVersionRequest
Request message for KeyManagementService.ImportCryptoKeyVersion
.
Fields | |
---|---|
parent |
Required. The The create permission is only required on this key when creating a new Authorization requires the following IAM permission on the specified resource
|
crypto_key_version |
Optional. The optional If this field is present, the supplied key material is imported into the existing Authorization requires the following IAM permission on the specified resource
|
algorithm |
Required. The |
import_job |
Required. The Authorization requires the following IAM permission on the specified resource
|
wrapped_key |
Optional. The wrapped key material to import. Before wrapping, key material must be formatted. If importing symmetric key material, the expected key material format is plain bytes. If importing asymmetric key material, the expected key material format is PKCS#8-encoded DER (the PrivateKeyInfo structure from RFC 5208). When wrapping with import methods ( this field must contain the concatenation of:
This format is the same as the format produced by PKCS#11 mechanism CKM_RSA_AES_KEY_WRAP. When wrapping with import methods ( this field must contain the formatted key to be imported, wrapped with the |
Union field wrapped_key_material . This field is legacy. Use the field wrapped_key instead. wrapped_key_material can be only one of the following: |
|
rsa_aes_wrapped_key |
Optional. This field has the same meaning as |
ImportJob
An ImportJob
can be used to create CryptoKeys
and CryptoKeyVersions
using pre-existing key material, generated outside of Cloud KMS.
When an ImportJob
is created, Cloud KMS will generate a "wrapping key", which is a public/private key pair. You use the wrapping key to encrypt (also known as wrap) the pre-existing key material to protect it during the import process. The nature of the wrapping key depends on the choice of import_method
. When the wrapping key generation is complete, the state
will be set to ACTIVE
and the public_key
can be fetched. The fetched public key can then be used to wrap your pre-existing key material.
Once the key material is wrapped, it can be imported into a new CryptoKeyVersion
in an existing CryptoKey
by calling ImportCryptoKeyVersion
. Multiple CryptoKeyVersions
can be imported with a single ImportJob
. Cloud KMS uses the private key portion of the wrapping key to unwrap the key material. Only Cloud KMS has access to the private key.
An ImportJob
expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the ImportJob
's public key.
For more information, see Importing a key.
Fields | |
---|---|
name |
Output only. The resource name for this |
import_method |
Required. Immutable. The wrapping method to be used for incoming key material. |
protection_level |
Required. Immutable. The protection level of the |
create_time |
Output only. The time at which this |
generate_time |
Output only. The time this |
expire_time |
Output only. The time at which this |
expire_event_time |
Output only. The time this |
state |
Output only. The current state of the |
public_key |
Output only. The public key with which to wrap key material prior to import. Only returned if |
attestation |
Output only. Statement that was generated and signed by the key creator (for example, an HSM) at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only present if the chosen |
ImportJobState
The state of the ImportJob
, indicating if it can be used.
Enums | |
---|---|
IMPORT_JOB_STATE_UNSPECIFIED |
Not specified. |
PENDING_GENERATION |
The wrapping key for this job is still being generated. It may not be used. Cloud KMS will automatically mark this job as ACTIVE as soon as the wrapping key is generated. |
ACTIVE |
This job may be used in CreateCryptoKey and CreateCryptoKeyVersion requests. |
EXPIRED |
This job can no longer be used and may not leave this state once entered. |