Package google.cloud.kms.v1 Stay organized with collections Save and categorize content based on your preferences.
Index
Autokey(interface)AutokeyAdmin(interface)EkmService(interface)HsmManagement(interface)KeyAccessJustificationsConfig(interface)KeyManagementService(interface)AccessReason(enum)ApproveSingleTenantHsmInstanceProposalRequest(message)ApproveSingleTenantHsmInstanceProposalRequest.QuorumReply(message)ApproveSingleTenantHsmInstanceProposalRequest.RequiredActionQuorumReply(message)ApproveSingleTenantHsmInstanceProposalResponse(message)AsymmetricDecryptRequest(message)AsymmetricDecryptResponse(message)AsymmetricSignRequest(message)AsymmetricSignResponse(message)AutokeyConfig(message)AutokeyConfig.KeyProjectResolutionMode(enum)AutokeyConfig.State(enum)Certificate(message)Challenge(message)ChallengeReply(message)ChecksummedData(message)CreateCryptoKeyRequest(message)CreateCryptoKeyVersionRequest(message)CreateEkmConnectionRequest(message)CreateImportJobRequest(message)CreateKeyHandleMetadata(message)CreateKeyHandleRequest(message)CreateKeyRingRequest(message)CreateSingleTenantHsmInstanceMetadata(message)CreateSingleTenantHsmInstanceProposalMetadata(message)CreateSingleTenantHsmInstanceProposalRequest(message)CreateSingleTenantHsmInstanceRequest(message)CryptoKey(message)CryptoKey.CryptoKeyPurpose(enum)CryptoKeyVersion(message)CryptoKeyVersion.CryptoKeyVersionAlgorithm(enum)CryptoKeyVersion.CryptoKeyVersionState(enum)CryptoKeyVersion.CryptoKeyVersionView(enum)CryptoKeyVersionTemplate(message)DecapsulateRequest(message)DecapsulateResponse(message)DecryptRequest(message)DecryptResponse(message)DeleteSingleTenantHsmInstanceProposalRequest(message)DestroyCryptoKeyVersionRequest(message)Digest(message)EkmConfig(message)EkmConnection(message)EkmConnection.KeyManagementMode(enum)EkmConnection.ServiceResolver(message)EncryptRequest(message)EncryptResponse(message)ExecuteSingleTenantHsmInstanceProposalMetadata(message)ExecuteSingleTenantHsmInstanceProposalRequest(message)ExecuteSingleTenantHsmInstanceProposalResponse(message)ExternalProtectionLevelOptions(message)GenerateRandomBytesRequest(message)GenerateRandomBytesResponse(message)GetAutokeyConfigRequest(message)GetCryptoKeyRequest(message)GetCryptoKeyVersionRequest(message)GetEkmConfigRequest(message)GetEkmConnectionRequest(message)GetImportJobRequest(message)GetKeyAccessJustificationsPolicyConfigRequest(message)GetKeyHandleRequest(message)GetKeyRingRequest(message)GetPublicKeyRequest(message)GetSingleTenantHsmInstanceProposalRequest(message)GetSingleTenantHsmInstanceRequest(message)ImportCryptoKeyVersionRequest(message)ImportJob(message)ImportJob.ImportJobState(enum)ImportJob.ImportMethod(enum)ImportJob.WrappingPublicKey(message)KeyAccessJustificationsEnrollmentConfig(message)KeyAccessJustificationsPolicy(message)KeyAccessJustificationsPolicyConfig(message)KeyHandle(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)ListKeyHandlesRequest(message)ListKeyHandlesResponse(message)ListKeyRingsRequest(message)ListKeyRingsResponse(message)ListSingleTenantHsmInstanceProposalsRequest(message)ListSingleTenantHsmInstanceProposalsResponse(message)ListSingleTenantHsmInstancesRequest(message)ListSingleTenantHsmInstancesResponse(message)LocationMetadata(message)MacSignRequest(message)MacSignResponse(message)MacVerifyRequest(message)MacVerifyResponse(message)ProtectionLevel(enum)PublicKey(message)PublicKey.PublicKeyFormat(enum)RawDecryptRequest(message)RawDecryptResponse(message)RawEncryptRequest(message)RawEncryptResponse(message)RestoreCryptoKeyVersionRequest(message)ShowEffectiveAutokeyConfigRequest(message)ShowEffectiveAutokeyConfigResponse(message)ShowEffectiveKeyAccessJustificationsEnrollmentConfigRequest(message)ShowEffectiveKeyAccessJustificationsEnrollmentConfigResponse(message)ShowEffectiveKeyAccessJustificationsPolicyConfigRequest(message)ShowEffectiveKeyAccessJustificationsPolicyConfigResponse(message)SingleTenantHsmInstance(message)SingleTenantHsmInstance.QuorumAuth(message)SingleTenantHsmInstance.State(enum)SingleTenantHsmInstanceProposal(message)SingleTenantHsmInstanceProposal.AddQuorumMember(message)SingleTenantHsmInstanceProposal.DeleteSingleTenantHsmInstance(message)SingleTenantHsmInstanceProposal.DisableSingleTenantHsmInstance(message)SingleTenantHsmInstanceProposal.EnableSingleTenantHsmInstance(message)SingleTenantHsmInstanceProposal.QuorumParameters(message)SingleTenantHsmInstanceProposal.RefreshSingleTenantHsmInstance(message)SingleTenantHsmInstanceProposal.RegisterTwoFactorAuthKeys(message)SingleTenantHsmInstanceProposal.RemoveQuorumMember(message)SingleTenantHsmInstanceProposal.RequiredActionQuorumParameters(message)SingleTenantHsmInstanceProposal.State(enum)UpdateAutokeyConfigRequest(message)UpdateCryptoKeyPrimaryVersionRequest(message)UpdateCryptoKeyRequest(message)UpdateCryptoKeyVersionRequest(message)UpdateEkmConfigRequest(message)UpdateEkmConnectionRequest(message)UpdateKeyAccessJustificationsPolicyConfigRequest(message)VerifyConnectivityRequest(message)VerifyConnectivityResponse(message)
Autokey
Provides interfaces for usingCloud KMS Autokey to provision newCryptoKeys, ready for Customer Managed Encryption Key (CMEK) use, on-demand. To support certain client tooling, this feature is modeled around aKeyHandle resource: creating aKeyHandle in a resource project and given location triggers Cloud KMS Autokey to provision aCryptoKey in the configured key project and the same location.
Prior to use in a given resource project,UpdateAutokeyConfig should have been called on an ancestor folder, setting the key project where Cloud KMS Autokey should create newCryptoKeys. See documentation for additional prerequisites. To check what key project, if any, is currently configured on a resource project's ancestor folder, seeShowEffectiveAutokeyConfig.
| CreateKeyHandle |
|---|
Creates a new
|
| GetKeyHandle |
|---|
Returns the
|
| ListKeyHandles |
|---|
Lists
|
AutokeyAdmin
Provides interfaces for managingCloud KMS Autokey folder-level or project-level configurations. A configuration is inherited by all descendent folders and projects. A configuration at a folder or project overrides any other configurations in its ancestry. Setting a configuration on a folder is a prerequisite for Cloud KMS Autokey, so that users working in a descendant project can request provisionedCryptoKeys, ready for Customer Managed Encryption Key (CMEK) use, on-demand when using the dedicated key project mode. This is not required when using the delegated key management mode for same-project keys.
| GetAutokeyConfig |
|---|
Returns the
|
| ShowEffectiveAutokeyConfig |
|---|
Returns the effective Cloud KMS Autokey configuration for a given project.
|
| UpdateAutokeyConfig |
|---|
Updates the
|
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
|
HsmManagement
Google Cloud HSM Management Service
Provides interfaces for managing HSM instances.
Implements a REST model with the following objects: *SingleTenantHsmInstance *SingleTenantHsmInstanceProposal
| ApproveSingleTenantHsmInstanceProposal |
|---|
Approves a
|
| CreateSingleTenantHsmInstance |
|---|
Creates a new
|
| CreateSingleTenantHsmInstanceProposal |
|---|
Creates a new
|
| DeleteSingleTenantHsmInstanceProposal |
|---|
Deletes a
|
| ExecuteSingleTenantHsmInstanceProposal |
|---|
Executes a
|
| GetSingleTenantHsmInstance |
|---|
Returns metadata for a given
|
| GetSingleTenantHsmInstanceProposal |
|---|
Returns metadata for a given
|
| ListSingleTenantHsmInstanceProposals |
|---|
Lists
|
| ListSingleTenantHsmInstances |
|---|
Lists
|
KeyAccessJustificationsConfig
Service for managing Key Access Justifications policy settings for Cloud Key Management Service keys.
| GetKeyAccessJustificationsPolicyConfig |
|---|
Gets the
|
| ShowEffectiveKeyAccessJustificationsEnrollmentConfig |
|---|
Returns the
|
| ShowEffectiveKeyAccessJustificationsPolicyConfig |
|---|
Returns the
|
| UpdateKeyAccessJustificationsPolicyConfig |
|---|
Updates the
|
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, seeUsing 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
|
| Decapsulate |
|---|
Decapsulates data that was encapsulated with a public key retrieved from
|
| 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
|
| RawDecrypt |
|---|
Decrypts data that was originally encrypted using a raw cryptographic mechanism. The
|
| RawEncrypt |
|---|
Encrypts data using portable cryptographic primitives. Most users should choose
|
| 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
|
AccessReason
Describes the reason for a data access. Please refer tohttps://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes for the detailed semantic meaning of justification reason codes.
| Enums | |
|---|---|
REASON_UNSPECIFIED | Unspecified access reason. |
CUSTOMER_INITIATED_SUPPORT | Customer-initiated support. |
GOOGLE_INITIATED_SERVICE | Google-initiated access for system management and troubleshooting. |
THIRD_PARTY_DATA_REQUEST | Google-initiated access in response to a legal request or legal process. |
GOOGLE_INITIATED_REVIEW | Google-initiated access for security, fraud, abuse, or compliance purposes. |
CUSTOMER_INITIATED_ACCESS | Customer uses their account to perform any access to their own data which their IAM policy authorizes. |
GOOGLE_INITIATED_SYSTEM_OPERATION | Google systems access customer data to help optimize the structure of the data or quality for future uses by the customer. |
REASON_NOT_EXPECTED | No reason is expected for this key request. |
MODIFIED_CUSTOMER_INITIATED_ACCESS | Deprecated: This code is no longer generated by Google Cloud. The GOOGLE_RESPONSE_TO_PRODUCTION_ALERT justification codes available in both Key Access Justifications and Access Transparency logs provide customer-visible signals of emergency access in more precise contexts. Customer uses their account to perform any access to their own data which their IAM policy authorizes, and one of the following is true:
This item is deprecated! |
MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION | Deprecated: This code is no longer generated by Google Cloud. The GOOGLE_RESPONSE_TO_PRODUCTION_ALERT justification codes available in both Key Access Justifications and Access Transparency logs provide customer-visible signals of emergency access in more precise contexts. Google systems access customer data to help optimize the structure of the data or quality for future uses by the customer, and one of the following is true:
This item is deprecated! |
GOOGLE_RESPONSE_TO_PRODUCTION_ALERT | Google-initiated access to maintain system reliability. |
CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING | One of the following operations is being executed while simultaneously encountering an internal technical issue which prevented a more precise justification code from being generated:
|
ApproveSingleTenantHsmInstanceProposalRequest
Request message forHsmManagement.ApproveSingleTenantHsmInstanceProposal.
| Fields | |
|---|---|
name |
Required. The |
Union fieldapproval_payload. The approval payload. The type of approval payload must correspond to the type of approval_parameters in the proposal.approval_payload can be only one of the following: | |
quorum_reply | Required. The reply to |
required_action_quorum_reply | Required. The reply to |
QuorumReply
The reply toQuorumParameters for approving the proposal.
| Fields | |
|---|---|
challenge_replies[] | Required. The challenge replies to approve the proposal. Challenge replies can be sent across multiple requests. The proposal will be approved when |
RequiredActionQuorumReply
The reply toRequiredActionQuorumParameters for approving the proposal.
| Fields | |
|---|---|
required_challenge_replies[] | Required. All required challenges must be signed for the proposal to be approved. These can be sent across multiple requests. |
quorum_challenge_replies[] | Required. Quorum members' signed challenge replies. These can be provided across multiple requests. The proposal will be approved when |
ApproveSingleTenantHsmInstanceProposalResponse
This type has no fields.
Response message forHsmManagement.ApproveSingleTenantHsmInstanceProposal.
AsymmetricDecryptRequest
Request message forKeyManagementService.AsymmetricDecrypt.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM 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 forKeyManagementService.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 forKeyManagementService.AsymmetricSign.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM 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 forKeyManagementService.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 |
AutokeyConfig
Cloud KMS Autokey configuration for a folder.
| Fields | |
|---|---|
name |
Identifier. Name of the |
key_project |
Optional. Name of the key project, e.g. |
state | Output only. The state for the AutokeyConfig. |
etag |
Optional. A checksum computed by the server based on the value of other fields. This may be sent on update requests to ensure that the client has an up-to-date value before proceeding. The request will be rejected with an ABORTED error on a mismatched etag. |
key_project_resolution_mode | Optional. KeyProjectResolutionMode for the AutokeyConfig. Valid values are |
KeyProjectResolutionMode
Defines the resolution mode enum for the key project. TheKeyProjectResolutionMode determines the mechanism by whichAutokeyConfig identifies akey_project at its specific configuration node. This parameter also determines if Autokey can be used within this project or folder.
| Enums | |
|---|---|
KEY_PROJECT_RESOLUTION_MODE_UNSPECIFIED | Default value. KeyProjectResolutionMode when not specified will act asDEDICATED_KEY_PROJECT. |
DEDICATED_KEY_PROJECT | Keys are created in a dedicated project specified bykey_project. |
RESOURCE_PROJECT | Keys are created in the same project as the resource requesting the key. Thekey_project must not be set when this mode is used. |
DISABLED | Disables the AutokeyConfig. When this mode is set, any AutokeyConfig from higher levels in the resource hierarchy are ignored for this resource and its descendants. This setting can be overridden by a more specific configuration at a lower level. For example, if Autokey is disabled on a folder, it can be re-enabled on a sub-folder or project within that folder by setting a different mode (e.g., DEDICATED_KEY_PROJECT or RESOURCE_PROJECT). |
State
The states AutokeyConfig can be in.
| Enums | |
|---|---|
STATE_UNSPECIFIED | The state of the AutokeyConfig is unspecified. |
ACTIVE | The AutokeyConfig is currently active. |
KEY_PROJECT_DELETED | A previously configured key project has been deleted and the current AutokeyConfig is unusable. |
UNINITIALIZED | The AutokeyConfig is not yet initialized or has been reset to its default uninitialized state. |
Certificate
ACertificate 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 |
Challenge
A challenge to be signed by a 2FA key.
| Fields | |
|---|---|
challenge |
Output only. The challenge to be signed by the 2FA key indicated by the public key. |
public_key_pem |
Output only. The public key associated with the 2FA key that should sign the challenge. |
ChallengeReply
A reply to a challenge signed by a 2FA key.
| Fields | |
|---|---|
signed_challenge |
Required. The signed challenge associated with the 2FA key. The signature must be RSASSA-PKCS1 v1.5 with a SHA256 digest. |
public_key_pem |
Required. The public key associated with the 2FA key. |
ChecksummedData
Data with integrity verification field.
| Fields | |
|---|---|
data |
Raw Data. |
crc32c_checksum | Integrity verification field. A CRC32C checksum of the returned |
CreateCryptoKeyRequest
Request message forKeyManagementService.CreateCryptoKey.
| Fields | |
|---|---|
parent |
Required. The Authorization requires the followingIAM 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 forKeyManagementService.CreateCryptoKeyVersion.
| Fields | |
|---|---|
parent |
Required. The Authorization requires the followingIAM permission on the specified resource
|
crypto_key_version | Required. A |
CreateEkmConnectionRequest
Request message forEkmService.CreateEkmConnection.
| Fields | |
|---|---|
parent |
Required. The resource name of the location associated with the Authorization requires the followingIAM 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 forKeyManagementService.CreateImportJob.
| Fields | |
|---|---|
parent |
Required. The Authorization requires the followingIAM 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 |
CreateKeyHandleMetadata
This type has no fields.
Metadata message forCreateKeyHandle long-running operation response.
CreateKeyHandleRequest
Request message forAutokey.CreateKeyHandle.
| Fields | |
|---|---|
parent |
Required. Name of the resource project and location to create the |
key_handle_id |
Optional. Id of the |
key_handle | Required. |
CreateKeyRingRequest
Request message forKeyManagementService.CreateKeyRing.
| Fields | |
|---|---|
parent |
Required. The resource name of the location associated with the Authorization requires the followingIAM 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 |
CreateSingleTenantHsmInstanceMetadata
This type has no fields.
Metadata message forCreateSingleTenantHsmInstance long-running operation response.
CreateSingleTenantHsmInstanceProposalMetadata
This type has no fields.
Metadata message forCreateSingleTenantHsmInstanceProposal long-running operation response.
CreateSingleTenantHsmInstanceProposalRequest
Request message forHsmManagement.CreateSingleTenantHsmInstanceProposal.
| Fields | |
|---|---|
parent |
Required. The |
single_tenant_hsm_instance_proposal_id |
Optional. It must be unique within a location and match the regular expression |
single_tenant_hsm_instance_proposal |
Required. The |
CreateSingleTenantHsmInstanceRequest
Request message forHsmManagement.CreateSingleTenantHsmInstance.
| Fields | |
|---|---|
parent |
Required. The resource name of the location associated with the |
single_tenant_hsm_instance_id |
Optional. It must be unique within a location and match the regular expression |
single_tenant_hsm_instance | Required. An |
CryptoKey
ACryptoKey represents a logical key that can be used for cryptographic operations.
ACryptoKey is made up of zero or moreversions, 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, seeLabeling 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 |
key_access_justifications_policy | Optional. The policy used for Key Access Justifications Policy Enforcement. If this field is present and this key is enrolled in Key Access Justifications Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and sign operations, and the operation will fail if rejected by the policy. The policy is defined by specifying zero or more allowed justification codes.https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes By default, this field is absent, and all justification codes are allowed. |
Union fieldrotation_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 aCryptoKey. A given key can only be used for the operations allowed by its purpose. For more information, seeKey purposes.
| Enums | |
|---|---|
CRYPTO_KEY_PURPOSE_UNSPECIFIED | Not specified. |
ENCRYPT_DECRYPT | CryptoKeys with this purpose may be used withEncrypt andDecrypt. |
ASYMMETRIC_SIGN | CryptoKeys with this purpose may be used withAsymmetricSign andGetPublicKey. |
ASYMMETRIC_DECRYPT | CryptoKeys with this purpose may be used withAsymmetricDecrypt andGetPublicKey. |
RAW_ENCRYPT_DECRYPT | CryptoKeys with this purpose may be used withRawEncrypt andRawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation. |
MAC | CryptoKeys with this purpose may be used withMacSign. |
KEY_ENCAPSULATION | CryptoKeys with this purpose may be used withGetPublicKey andDecapsulate. |
CryptoKeyVersion
ACryptoKeyVersion represents an individual cryptographic key, and the associated key material.
AnENABLED version can be used for cryptographic operations.
For security reasons, the raw cryptographic key material represented by aCryptoKeyVersion 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 theCryptoKeyVersion, indicating what parameters must be used for each cryptographic operation.
TheGOOGLE_SYMMETRIC_ENCRYPTION algorithm is usable withCryptoKey.purposeENCRYPT_DECRYPT.
Algorithms beginning withRSA_SIGN_ are usable withCryptoKey.purposeASYMMETRIC_SIGN.
The fields in the name afterRSA_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 withRSA_DECRYPT_ are usable withCryptoKey.purposeASYMMETRIC_DECRYPT.
The fields in the name afterRSA_DECRYPT_ correspond to the following parameters: padding algorithm, modulus bit length, and digest algorithm.
Algorithms beginning withEC_SIGN_ are usable withCryptoKey.purposeASYMMETRIC_SIGN.
The fields in the name afterEC_SIGN_ correspond to the following parameters: elliptic curve, digest algorithm.
Algorithms beginning withHMAC_ are usable withCryptoKey.purposeMAC.
The suffix followingHMAC_ corresponds to the hash algorithm being used (eg. SHA256).
Algorithms beginning withPQ_ are post-quantum.
For more information, seeKey purposes and algorithms.
| Enums | |
|---|---|
CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED | Not specified. |
GOOGLE_SYMMETRIC_ENCRYPTION | Creates symmetric encryption keys. |
AES_128_GCM | AES-GCM (Galois Counter Mode) using 128-bit keys. |
AES_256_GCM | AES-GCM (Galois Counter Mode) using 256-bit keys. |
AES_128_CBC | AES-CBC (Cipher Block Chaining Mode) using 128-bit keys. |
AES_256_CBC | AES-CBC (Cipher Block Chaining Mode) using 256-bit keys. |
AES_128_CTR | AES-CTR (Counter Mode) using 128-bit keys. |
AES_256_CTR | AES-CTR (Counter Mode) using 256-bit 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 |
EC_SIGN_ED25519 | EdDSA on the Curve25519 in pure mode (taking data as input). |
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. |
ML_KEM_768 | ML-KEM-768 (FIPS 203) |
ML_KEM_1024 | ML-KEM-1024 (FIPS 203) |
KEM_XWING | X-Wing hybrid KEM combining ML-KEM-768 with X25519 following datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/. |
PQ_SIGN_ML_DSA_44 | The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 1. Randomized version. |
PQ_SIGN_ML_DSA_65 | The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version. |
PQ_SIGN_ML_DSA_87 | The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 5. Randomized version. |
PQ_SIGN_SLH_DSA_SHA2_128S | The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version. |
PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256 | The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized pre-hash version supporting SHA256 digests. |
PQ_SIGN_ML_DSA_44_EXTERNAL_MU | The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 1. Randomized version supporting externally-computed message representatives. |
PQ_SIGN_ML_DSA_65_EXTERNAL_MU | The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version supporting externally-computed message representatives. |
PQ_SIGN_ML_DSA_87_EXTERNAL_MU | The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 5. Randomized version supporting externally-computed message representatives. |
CryptoKeyVersionState
The state of aCryptoKeyVersion, 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 versionENABLED 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 theENABLED state. |
DESTROYED | The key material of this version is destroyed and no longer stored. This version may only becomeENABLED again if this version isreimport_eligible and the original key material is reimported with a call toKeyManagementService.ImportCryptoKeyVersion. |
DESTROY_SCHEDULED | This version is scheduled for destruction, and will be destroyed soon. CallRestoreCryptoKeyVersion to put it back into theDISABLED 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 versionENABLED 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 inCryptoKeyVersion.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 inCryptoKeyVersion.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 inCryptoKeyVersion.external_destruction_failure_reason. |
CryptoKeyVersionView
A view forCryptoKeyVersions. Controls the level of detail returned forCryptoKeyVersions inKeyManagementService.ListCryptoKeyVersions andKeyManagementService.ListCryptoKeys.
| Enums | |
|---|---|
CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED | Default view for eachCryptoKeyVersion. Does not include theattestation field. |
FULL | Provides all fields in eachCryptoKeyVersion, including theattestation. |
CryptoKeyVersionTemplate
ACryptoKeyVersionTemplate specifies the properties to use when creating a newCryptoKeyVersion, either manually withCreateCryptoKeyVersion 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 |
DecapsulateRequest
Request message forKeyManagementService.Decapsulate.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
ciphertext |
Required. The ciphertext produced from encapsulation with the named |
ciphertext_crc32c | Optional. A CRC32C checksum of the |
DecapsulateResponse
Response message forKeyManagementService.Decapsulate.
| Fields | |
|---|---|
name |
The resource name of the |
shared_secret |
The decapsulated shared_secret originally encapsulated with the matching public key. |
verified_ciphertext_crc32c |
Integrity verification field. A flag indicating whether |
protection_level | The |
shared_secret_crc32c |
Integrity verification field. A CRC32C checksum of the returned |
DecryptRequest
Request message forKeyManagementService.Decrypt.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM 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 forKeyManagementService.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 |
DeleteSingleTenantHsmInstanceProposalRequest
Request message forHsmManagement.DeleteSingleTenantHsmInstanceProposal.
| Fields | |
|---|---|
name |
Required. The |
DestroyCryptoKeyVersionRequest
Request message forKeyManagementService.DestroyCryptoKeyVersion.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
Digest
ADigest holds a cryptographic message digest.
| Fields | |
|---|---|
Union fielddigest. 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
AnEkmConfig is a singleton resource that represents configuration parameters that apply to allCryptoKeys andCryptoKeyVersions with aProtectionLevel ofEXTERNAL_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
AnEkmConnection represents an individual EKM connection. It can be used for creatingCryptoKeys andCryptoKeyVersions with aProtectionLevel ofEXTERNAL_VPC, as well as performing cryptographic operations using keys created within theEkmConnection.
| Fields | |
|---|---|
name |
Output only. The resource name for the |
create_time | Output only. The time at which the |
service_resolvers[] | Optional. 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 thisEkmConnection.
| Enums | |
|---|---|
KEY_MANAGEMENT_MODE_UNSPECIFIED | Not specified. |
MANUAL | EKM-side key management operations onCryptoKeys created with thisEkmConnection must be initiated from the EKM directly and cannot be performed from Cloud KMS. This means that: * When creating aCryptoKeyVersion associated with thisEkmConnection, the caller must supply the key path of pre-existing external key material that will be linked to theCryptoKeyVersion. * 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
|
ServiceResolver
AServiceResolver represents an EKM replica that can be reached within anEkmConnection.
| 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, seehttps://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 forKeyManagementService.Encrypt.
| Fields | |
|---|---|
name |
Required. The resource name of the If a Authorization requires the followingIAM 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 forKeyManagementService.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 |
ExecuteSingleTenantHsmInstanceProposalMetadata
This type has no fields.
Metadata message forExecuteSingleTenantHsmInstanceProposal long-running operation response.
ExecuteSingleTenantHsmInstanceProposalRequest
Request message forHsmManagement.ExecuteSingleTenantHsmInstanceProposal.
| Fields | |
|---|---|
name |
Required. The |
ExecuteSingleTenantHsmInstanceProposalResponse
This type has no fields.
Response message forHsmManagement.ExecuteSingleTenantHsmInstanceProposal.
ExternalProtectionLevelOptions
ExternalProtectionLevelOptions stores a group of additional fields for configuring aCryptoKeyVersion that are specific to theEXTERNAL protection level andEXTERNAL_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 forKeyManagementService.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 forKeyManagementService.GenerateRandomBytes.
| Fields | |
|---|---|
data |
The generated data. |
data_crc32c | Integrity verification field. A CRC32C checksum of the returned |
GetAutokeyConfigRequest
Request message forGetAutokeyConfig.
| Fields | |
|---|---|
name |
Required. Name of the |
GetCryptoKeyRequest
Request message forKeyManagementService.GetCryptoKey.
| Fields | |
|---|---|
name |
Required. The Authorization requires the followingIAM permission on the specified resource
|
GetCryptoKeyVersionRequest
Request message forKeyManagementService.GetCryptoKeyVersion.
| Fields | |
|---|---|
name |
Required. The Authorization requires the followingIAM permission on the specified resource
|
GetEkmConfigRequest
Request message forEkmService.GetEkmConfig.
| Fields | |
|---|---|
name |
Required. The Authorization requires the followingIAM permission on the specified resource
|
GetEkmConnectionRequest
Request message forEkmService.GetEkmConnection.
| Fields | |
|---|---|
name |
Required. The Authorization requires the followingIAM permission on the specified resource
|
GetImportJobRequest
Request message forKeyManagementService.GetImportJob.
| Fields | |
|---|---|
name |
Required. The Authorization requires the followingIAM permission on the specified resource
|
GetKeyAccessJustificationsPolicyConfigRequest
Request message forKeyAccessJustificationsConfig.GetKeyAccessJustificationsPolicyConfig.
| Fields | |
|---|---|
name |
Required. The |
GetKeyHandleRequest
Request message forGetKeyHandle.
| Fields | |
|---|---|
name |
Required. Name of the |
GetKeyRingRequest
Request message forKeyManagementService.GetKeyRing.
| Fields | |
|---|---|
name |
Required. The Authorization requires the followingIAM permission on the specified resource
|
GetPublicKeyRequest
Request message forKeyManagementService.GetPublicKey.
| Fields | |
|---|---|
name |
Required. The Authorization requires the followingIAM permission on the specified resource
|
public_key_format | Optional. The |
GetSingleTenantHsmInstanceProposalRequest
Request message forHsmManagement.GetSingleTenantHsmInstanceProposal.
| Fields | |
|---|---|
name |
Required. The |
GetSingleTenantHsmInstanceRequest
Request message forHsmManagement.GetSingleTenantHsmInstance.
| Fields | |
|---|---|
name |
Required. The |
ImportCryptoKeyVersionRequest
Request message forKeyManagementService.ImportCryptoKeyVersion.
| Fields | |
|---|---|
parent |
Required. The The create permission is only required on this key when creating a new Authorization requires the followingIAM 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 followingIAM permission on the specified resource
|
algorithm | Required. The |
import_job |
Required. The Authorization requires the followingIAM 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 fieldwrapped_key_material. This field is legacy. Use the fieldwrapped_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
AnImportJob can be used to createCryptoKeys andCryptoKeyVersions using pre-existing key material, generated outside of Cloud KMS.
When anImportJob 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 ofimport_method. When the wrapping key generation is complete, thestate will be set toACTIVE and thepublic_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 newCryptoKeyVersion in an existingCryptoKey by callingImportCryptoKeyVersion. MultipleCryptoKeyVersions can be imported with a singleImportJob. 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.
AnImportJob 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 theImportJob's public key.
For more information, seeImporting 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 |
crypto_key_backend |
Immutable. The resource name of the backend environment where the key material for the wrapping key resides and where all related cryptographic operations are performed. Currently, this field is only populated for keys stored in HSM_SINGLE_TENANT. Note, this list is non-exhaustive and may apply to additional |
ImportJobState
The state of theImportJob, 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 asACTIVE as soon as the wrapping key is generated. |
ACTIVE | This job may be used inCreateCryptoKey andCreateCryptoKeyVersion requests. |
EXPIRED | This job can no longer be used and may not leave this state once entered. |
ImportMethod
ImportMethod describes the key wrapping method chosen for thisImportJob.
| Enums | |
|---|---|
IMPORT_METHOD_UNSPECIFIED | Not specified. |
RSA_OAEP_3072_SHA1_AES_256 | This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 3072 bit RSA key. For more details, seeRSA AES key wrap mechanism. |
RSA_OAEP_4096_SHA1_AES_256 | This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 4096 bit RSA key. For more details, seeRSA AES key wrap mechanism. |
RSA_OAEP_3072_SHA256_AES_256 | This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 3072 bit RSA key. For more details, seeRSA AES key wrap mechanism. |
RSA_OAEP_4096_SHA256_AES_256 | This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 4096 bit RSA key. For more details, seeRSA AES key wrap mechanism. |
RSA_OAEP_3072_SHA256 | This ImportMethod represents RSAES-OAEP with a 3072 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import. |
RSA_OAEP_4096_SHA256 | This ImportMethod represents RSAES-OAEP with a 4096 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import. |
WrappingPublicKey
The public key component of the wrapping key. For details of the type of key this public key corresponds to, see theImportMethod.
| Fields | |
|---|---|
pem |
The public key, encoded in PEM format. For more information, see theRFC 7468 sections forGeneral Considerations andTextual Encoding of Subject Public Key Info. |
KeyAccessJustificationsEnrollmentConfig
The configuration of a protection level for a project's Key Access Justifications enrollment.
| Fields | |
|---|---|
audit_logging |
Whether the project has KAJ logging enabled. |
policy_enforcement |
Whether the project is enrolled in KAJ policy enforcement. |
KeyAccessJustificationsPolicy
AKeyAccessJustificationsPolicy specifies zero or more allowedAccessReason values for encrypt, decrypt, and sign operations on aCryptoKey.
| Fields | |
|---|---|
allowed_access_reasons[] | The list of allowed reasons for access to a |
KeyAccessJustificationsPolicyConfig
A singleton configuration for Key Access Justifications policies.
| Fields | |
|---|---|
name |
Identifier. The resource name for this |
default_key_access_justification_policy | Optional. The default key access justification policy used when a |
KeyHandle
Resource-oriented representation of a request to Cloud KMS Autokey and the resulting provisioning of aCryptoKey.
| Fields | |
|---|---|
name |
Identifier. Name of the |
kms_key |
Output only. Name of a |
resource_type_selector |
Required. Indicates the resource type that the resulting |
KeyOperationAttestation
Contains an HSM-generated attestation about a key operation. For more information, seeVerifying attestations.
| Fields | |
|---|---|
format | Output only. The format of the attestation data. |
content |
Output only. The attestation data provided by the HSM when the key operation was performed. |
cert_chains | Output only. The certificate chains needed to validate the attestation |
AttestationFormat
Attestation formats provided by the HSM.
| Enums | |
|---|---|
ATTESTATION_FORMAT_UNSPECIFIED | Not specified. |
CAVIUM_V1_COMPRESSED | Cavium HSM attestation compressed with gzip. Note that this format is defined by Cavium and subject to change at any time. Seehttps://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html. |
CAVIUM_V2_COMPRESSED | Cavium HSM attestation V2 compressed with gzip. This is a new format introduced in Cavium's version 3.2-08. |
CertificateChains
Certificate chains needed to verify the attestation. Certificates in chains are PEM-encoded and are ordered based onhttps://tools.ietf.org/html/rfc5246#section-7.4.2.
| Fields | |
|---|---|
cavium_certs[] |
Cavium certificate chain corresponding to the attestation. |
google_card_certs[] |
Google card certificate chain corresponding to the attestation. |
google_partition_certs[] |
Google partition certificate chain corresponding to the attestation. |
KeyRing
AKeyRing is a toplevel logical grouping ofCryptoKeys.
| Fields | |
|---|---|
name |
Output only. The resource name for the |
create_time | Output only. The time at which this |
ListCryptoKeyVersionsRequest
Request message forKeyManagementService.ListCryptoKeyVersions.
| Fields | |
|---|---|
parent |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
page_size |
Optional. Optional limit on the number of |
page_token |
Optional. Optional pagination token, returned earlier via |
view | The fields to include in the response. |
filter |
Optional. Only include resources that match the filter in the response. For more information, seeSorting and filtering list results. |
order_by |
Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, seeSorting and filtering list results. |
ListCryptoKeyVersionsResponse
Response message forKeyManagementService.ListCryptoKeyVersions.
| Fields | |
|---|---|
crypto_key_versions[] | The list of |
next_page_token |
A token to retrieve next page of results. Pass this value in |
total_size |
The total number of This field is not populated if |
ListCryptoKeysRequest
Request message forKeyManagementService.ListCryptoKeys.
| Fields | |
|---|---|
parent |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
page_size |
Optional. Optional limit on the number of |
page_token |
Optional. Optional pagination token, returned earlier via |
version_view | The fields of the primary version to include in the response. |
filter |
Optional. Only include resources that match the filter in the response. For more information, seeSorting and filtering list results. |
order_by |
Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, seeSorting and filtering list results. |
ListCryptoKeysResponse
Response message forKeyManagementService.ListCryptoKeys.
| Fields | |
|---|---|
crypto_keys[] | The list of |
next_page_token |
A token to retrieve next page of results. Pass this value in |
total_size |
The total number of This field is not populated if |
ListEkmConnectionsRequest
Request message forEkmService.ListEkmConnections.
| Fields | |
|---|---|
parent |
Required. The resource name of the location associated with the Authorization requires the followingIAM permission on the specified resource
|
page_size |
Optional. Optional limit on the number of |
page_token |
Optional. Optional pagination token, returned earlier via |
filter |
Optional. Only include resources that match the filter in the response. For more information, seeSorting and filtering list results. |
order_by |
Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, seeSorting and filtering list results. |
ListEkmConnectionsResponse
Response message forEkmService.ListEkmConnections.
| Fields | |
|---|---|
ekm_connections[] | The list of |
next_page_token |
A token to retrieve next page of results. Pass this value in |
total_size |
The total number of This field is not populated if |
ListImportJobsRequest
Request message forKeyManagementService.ListImportJobs.
| Fields | |
|---|---|
parent |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
page_size |
Optional. Optional limit on the number of |
page_token |
Optional. Optional pagination token, returned earlier via |
filter |
Optional. Only include resources that match the filter in the response. For more information, seeSorting and filtering list results. |
order_by |
Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, seeSorting and filtering list results. |
ListImportJobsResponse
Response message forKeyManagementService.ListImportJobs.
| Fields | |
|---|---|
import_jobs[] | The list of |
next_page_token |
A token to retrieve next page of results. Pass this value in |
total_size |
The total number of This field is not populated if |
ListKeyHandlesRequest
Request message forAutokey.ListKeyHandles.
| Fields | |
|---|---|
parent |
Required. Name of the resource project and location from which to list |
page_size |
Optional. Optional limit on the number of |
page_token |
Optional. Optional pagination token, returned earlier via |
filter |
Optional. Filter to apply when listing |
ListKeyHandlesResponse
Response message forAutokey.ListKeyHandles.
| Fields | |
|---|---|
key_handles[] | Resulting |
next_page_token |
A token to retrieve next page of results. Pass this value in |
ListKeyRingsRequest
Request message forKeyManagementService.ListKeyRings.
| Fields | |
|---|---|
parent |
Required. The resource name of the location associated with the Authorization requires the followingIAM permission on the specified resource
|
page_size |
Optional. Optional limit on the number of |
page_token |
Optional. Optional pagination token, returned earlier via |
filter |
Optional. Only include resources that match the filter in the response. For more information, seeSorting and filtering list results. |
order_by |
Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, seeSorting and filtering list results. |
ListKeyRingsResponse
Response message forKeyManagementService.ListKeyRings.
| Fields | |
|---|---|
key_rings[] | The list of |
next_page_token |
A token to retrieve next page of results. Pass this value in |
total_size |
The total number of This field is not populated if |
ListSingleTenantHsmInstanceProposalsRequest
Request message forHsmManagement.ListSingleTenantHsmInstanceProposals.
| Fields | |
|---|---|
parent |
Required. The resource name of the single tenant HSM instance associated with the |
page_size |
Optional. Optional limit on the number of |
page_token |
Optional. Optional pagination token, returned earlier via |
filter |
Optional. Only include resources that match the filter in the response. For more information, seeSorting and filtering list results. |
order_by |
Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, seeSorting and filtering list results. |
show_deleted |
Optional. If set to true, |
ListSingleTenantHsmInstanceProposalsResponse
Response message forHsmManagement.ListSingleTenantHsmInstanceProposals.
| Fields | |
|---|---|
single_tenant_hsm_instance_proposals[] |
The list of |
next_page_token |
A token to retrieve next page of results. Pass this value in |
total_size |
The total number of This field is not populated if |
ListSingleTenantHsmInstancesRequest
Request message forHsmManagement.ListSingleTenantHsmInstances.
| Fields | |
|---|---|
parent |
Required. The resource name of the location associated with the |
page_size |
Optional. Optional limit on the number of |
page_token |
Optional. Optional pagination token, returned earlier via |
filter |
Optional. Only include resources that match the filter in the response. For more information, seeSorting and filtering list results. |
order_by |
Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order. For more information, seeSorting and filtering list results. |
show_deleted |
Optional. If set to true, |
ListSingleTenantHsmInstancesResponse
Response message forHsmManagement.ListSingleTenantHsmInstances.
| Fields | |
|---|---|
single_tenant_hsm_instances[] | The list of |
next_page_token |
A token to retrieve next page of results. Pass this value in |
total_size |
The total number of This field is not populated if |
LocationMetadata
Cloud KMS metadata for the givengoogle.cloud.location.Location.
| Fields | |
|---|---|
hsm_available |
Indicates whether |
ekm_available |
Indicates whether |
hsm_single_tenant_available |
Indicates whether |
MacSignRequest
Request message forKeyManagementService.MacSign.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
data |
Required. The data to sign. The MAC tag is computed over this data field based on the specific algorithm. |
data_crc32c | Optional. An optional CRC32C checksum of the |
MacSignResponse
Response message forKeyManagementService.MacSign.
| Fields | |
|---|---|
name |
The resource name of the |
mac |
The created signature. |
mac_crc32c | Integrity verification field. A CRC32C checksum of the returned |
verified_data_crc32c |
Integrity verification field. A flag indicating whether |
protection_level | The |
MacVerifyRequest
Request message forKeyManagementService.MacVerify.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
data |
Required. The data used previously as a |
data_crc32c | Optional. An optional CRC32C checksum of the |
mac |
Required. The signature to verify. |
mac_crc32c | Optional. An optional CRC32C checksum of the |
MacVerifyResponse
Response message forKeyManagementService.MacVerify.
| Fields | |
|---|---|
name |
The resource name of the |
success |
This field indicates whether or not the verification operation for |
verified_data_crc32c |
Integrity verification field. A flag indicating whether |
verified_mac_crc32c |
Integrity verification field. A flag indicating whether |
verified_success_integrity |
Integrity verification field. This value is used for the integrity verification of [MacVerifyResponse.success]. If the value of this field contradicts the value of [MacVerifyResponse.success], discard the response and perform a limited number of retries. |
protection_level | The |
ProtectionLevel
ProtectionLevel specifies how cryptographic operations are performed. For more information, seeProtection levels.
| Enums | |
|---|---|
PROTECTION_LEVEL_UNSPECIFIED | Not specified. |
SOFTWARE | Crypto operations are performed in software. |
HSM | Crypto operations are performed in a Hardware Security Module. |
EXTERNAL | Crypto operations are performed by an external key manager. |
EXTERNAL_VPC | Crypto operations are performed in an EKM-over-VPC backend. |
HSM_SINGLE_TENANT | Crypto operations are performed in a single-tenant HSM. |
PublicKey
The public keys for a givenCryptoKeyVersion. Obtained viaGetPublicKey.
| Fields | |
|---|---|
pem |
The public key, encoded in PEM format. For more information, see theRFC 7468 sections forGeneral Considerations andTextual Encoding of Subject Public Key Info. |
algorithm | The |
pem_crc32c | Integrity verification field. A CRC32C checksum of the returned NOTE: This field is in Beta. |
name |
The NOTE: This field is in Beta. |
protection_level | The |
public_key_format | The |
public_key | This field contains the public key (with integrity verification), formatted according to the |
PublicKeyFormat
The supportedPublicKey formats.
| Enums | |
|---|---|
PUBLIC_KEY_FORMAT_UNSPECIFIED | If the Otherwise, the public key will be exported through the |
PEM | The returned public key will be encoded in PEM format. See theRFC7468 sections forGeneral Considerations andTextual Encoding of Subject Public Key Info for more information. |
DER | The returned public key will be encoded in DER format (the PrivateKeyInfo structure from RFC 5208). |
NIST_PQC | This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205). |
XWING_RAW_BYTES | The returned public key is in raw bytes format defined in its standardhttps://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem. |
RawDecryptRequest
Request message forKeyManagementService.RawDecrypt.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM 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 |
initialization_vector |
Required. The initialization vector (IV) used during encryption, which must match the data originally provided in |
tag_length |
The length of the authentication tag that is appended to the end of the ciphertext. If unspecified (0), the default value for the key's algorithm will be used (for AES-GCM, the default value is 16). |
ciphertext_crc32c | Optional. An optional CRC32C checksum of the |
additional_authenticated_data_crc32c | Optional. An optional CRC32C checksum of the |
initialization_vector_crc32c | Optional. An optional CRC32C checksum of the |
RawDecryptResponse
Response message forKeyManagementService.RawDecrypt.
| Fields | |
|---|---|
plaintext |
The decrypted data. |
plaintext_crc32c | Integrity verification field. A CRC32C checksum of the returned |
protection_level | The |
verified_ciphertext_crc32c |
Integrity verification field. A flag indicating whether |
verified_additional_authenticated_data_crc32c |
Integrity verification field. A flag indicating whether |
verified_initialization_vector_crc32c |
Integrity verification field. A flag indicating whether |
RawEncryptRequest
Request message forKeyManagementService.RawEncrypt.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM 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 This field may only be used in conjunction with an 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 |
initialization_vector |
Optional. A customer-supplied initialization vector that will be used for encryption. If it is not provided for AES-CBC and AES-CTR, one will be generated. It will be returned in |
initialization_vector_crc32c | Optional. An optional CRC32C checksum of the |
RawEncryptResponse
Response message forKeyManagementService.RawEncrypt.
| Fields | |
|---|---|
ciphertext |
The encrypted data. In the case of AES-GCM, the authentication tag is the |
initialization_vector |
The initialization vector (IV) generated by the service during encryption. This value must be stored and provided in |
tag_length |
The length of the authentication tag that is appended to the end of the ciphertext. |
ciphertext_crc32c | Integrity verification field. A CRC32C checksum of the returned |
initialization_vector_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 |
verified_initialization_vector_crc32c |
Integrity verification field. A flag indicating whether |
name |
The resource name of the |
protection_level | The |
RestoreCryptoKeyVersionRequest
Request message forKeyManagementService.RestoreCryptoKeyVersion.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
ShowEffectiveAutokeyConfigRequest
Request message forShowEffectiveAutokeyConfig.
| Fields | |
|---|---|
parent |
Required. Name of the resource project to the show effective Cloud KMS Autokey configuration for. This may be helpful for interrogating the effect of nested folder configurations on a given resource project. |
ShowEffectiveAutokeyConfigResponse
Response message forShowEffectiveAutokeyConfig.
| Fields | |
|---|---|
key_project |
Name of the key project configured in the resource project's folder ancestry. |
ShowEffectiveKeyAccessJustificationsEnrollmentConfigRequest
Request message forKeyAccessJustificationsConfig.ShowEffectiveKeyAccessJustificationsEnrollmentConfig
| Fields | |
|---|---|
project |
Required. The number or id of the project to get the effective |
ShowEffectiveKeyAccessJustificationsEnrollmentConfigResponse
Response message forKeyAccessJustificationsConfig.ShowEffectiveKeyAccessJustificationsEnrollmentConfig
| Fields | |
|---|---|
hardware_config |
The effective |
software_config |
The effective |
external_config |
The effective |
ShowEffectiveKeyAccessJustificationsPolicyConfigRequest
Request message forKeyAccessJustificationsConfig.ShowEffectiveKeyAccessJustificationsPolicyConfig.
| Fields | |
|---|---|
project |
Required. The number or id of the project to get the effective |
ShowEffectiveKeyAccessJustificationsPolicyConfigResponse
Response message forKeyAccessJustificationsConfig.ShowEffectiveKeyAccessJustificationsPolicyConfig.
| Fields | |
|---|---|
effective_kaj_policy |
The effective |
SingleTenantHsmInstance
ASingleTenantHsmInstance represents a single-tenant HSM instance. It can be used for creatingCryptoKeys with aProtectionLevel of [HSM_SINGLE_TENANT][CryptoKeyVersion.ProtectionLevel.HSM_SINGLE_TENANT], as well as performing cryptographic operations using keys created within theSingleTenantHsmInstance.
| Fields | |
|---|---|
name |
Identifier. The resource name for this |
create_time | Output only. The time at which the |
state | Output only. The state of the |
quorum_auth | Required. The quorum auth configuration for the |
delete_time | Output only. The time at which the |
unrefreshed_duration_until_disable | Output only. The system-defined duration that an instance can remain unrefreshed until it is automatically disabled. This will have a value of 120 days. |
disable_time | Output only. The time at which the instance will be automatically disabled if not refreshed. This field is updated upon creation and after each successful refresh operation and enable. A [RefreshSingleTenantHsmInstance][] operation must be made via a |
QuorumAuth
Configuration for M of N quorum auth.
| Fields | |
|---|---|
total_approver_count |
Required. The total number of approvers. This is the N value used for M of N quorum auth. Must be greater than or equal to 3 and less than or equal to 16. |
required_approver_count |
Output only. The required numbers of approvers. The M value used for M of N quorum auth. Must be greater than or equal to 2 and less than or equal to |
two_factor_public_key_pems[] |
Output only. The public keys associated with the 2FA keys for M of N quorum auth. |
State
The set of states of aSingleTenantHsmInstance.
| Enums | |
|---|---|
STATE_UNSPECIFIED | Not specified. |
CREATING | TheSingleTenantHsmInstance is being created. |
PENDING_TWO_FACTOR_AUTH_REGISTRATION | TheSingleTenantHsmInstance is waiting for 2FA keys to be registered. This can be done by callingCreateSingleTenantHsmInstanceProposal with the [RegisterTwoFactorAuthKeys][] operation. |
ACTIVE | TheSingleTenantHsmInstance is ready to use. ASingleTenantHsmInstance must be in theACTIVE state for allCryptoKeys created within theSingleTenantHsmInstance to be usable. |
DISABLING | TheSingleTenantHsmInstance is being disabled. |
DISABLED | TheSingleTenantHsmInstance is disabled. |
DELETING | TheSingleTenantHsmInstance is being deleted. Requests to the instance will be rejected in this state. |
DELETED | TheSingleTenantHsmInstance has been deleted. |
FAILED | TheSingleTenantHsmInstance has failed and can not be recovered or used. |
SingleTenantHsmInstanceProposal
ASingleTenantHsmInstanceProposal represents a proposal to perform an operation on aSingleTenantHsmInstance.
| Fields | |
|---|---|
name |
Identifier. The resource name for this |
create_time | Output only. The time at which the |
state | Output only. The state of the |
failure_reason |
Output only. The root cause of the most recent failure. Only present if |
delete_time | Output only. The time at which the |
purge_time | Output only. The time at which the soft-deleted |
Union fieldapproval_parameters. The approval parameters for theSingleTenantHsmInstanceProposal. The type of parameters is determined by the operation being proposed.approval_parameters can be only one of the following: | |
quorum_parameters | Output only. The quorum approval parameters for the |
required_action_quorum_parameters |
Output only. Parameters for an approval of a |
Union fieldexpiration. The expiration of theSingleTenantHsmInstanceProposal. If not set, theSingleTenantHsmInstanceProposal will expire in 1 day. The maximum expire time is 7 days. The minimum expire time is 5 minutes.expiration can be only one of the following: | |
expire_time | The time at which the |
ttl | Input only. The TTL for the |
Union fieldoperation. The operation to perform on theSingleTenantHsmInstance.operation can be only one of the following: | |
register_two_factor_auth_keys | Register 2FA keys for the |
disable_single_tenant_hsm_instance |
Disable the |
enable_single_tenant_hsm_instance | Enable the |
delete_single_tenant_hsm_instance | Delete the |
add_quorum_member | Add a quorum member to the |
remove_quorum_member | Remove a quorum member from the |
refresh_single_tenant_hsm_instance |
Refreshes the |
AddQuorumMember
Add a quorum member to theSingleTenantHsmInstance. This will increase thetotal_approver_count by 1. TheSingleTenantHsmInstance must be in theACTIVE state to perform this operation.
| Fields | |
|---|---|
two_factor_public_key_pem |
Required. The public key associated with the 2FA key for the new quorum member to add. Public keys must be associated with RSA 2048 keys. |
DeleteSingleTenantHsmInstance
This type has no fields.
Delete theSingleTenantHsmInstance. Deleting aSingleTenantHsmInstance will make allCryptoKeys attached to theSingleTenantHsmInstance unusable. TheSingleTenantHsmInstance must not be in theDELETING orDELETED state to perform this operation.
DisableSingleTenantHsmInstance
This type has no fields.
Disable theSingleTenantHsmInstance. TheSingleTenantHsmInstance must be in theACTIVE state to perform this operation.
EnableSingleTenantHsmInstance
This type has no fields.
Enable theSingleTenantHsmInstance. TheSingleTenantHsmInstance must be in theDISABLED state to perform this operation.
QuorumParameters
Parameters of quorum approval for theSingleTenantHsmInstanceProposal.
| Fields | |
|---|---|
required_approver_count |
Output only. The required numbers of approvers. This is the M value used for M of N quorum auth. It is less than the number of public keys. |
challenges[] | Output only. The challenges to be signed by 2FA keys for quorum auth. M of N of these challenges are required to be signed to approve the operation. |
approved_two_factor_public_key_pems[] |
Output only. The public keys associated with the 2FA keys that have already approved the |
RefreshSingleTenantHsmInstance
This type has no fields.
Refreshes theSingleTenantHsmInstance. This operation must be performed periodically to keep theSingleTenantHsmInstance active. This operation must be performed beforeunrefreshed_duration_until_disable has passed. TheSingleTenantHsmInstance must be in theACTIVE state to perform this operation.
RegisterTwoFactorAuthKeys
Register 2FA keys for theSingleTenantHsmInstance. This operation requires all Challenges to be signed by 2FA keys. TheSingleTenantHsmInstance must be in thePENDING_TWO_FACTOR_AUTH_REGISTRATION state to perform this operation.
| Fields | |
|---|---|
required_approver_count |
Required. The required numbers of approvers to set for the |
two_factor_public_key_pems[] |
Required. The public keys associated with the 2FA keys for M of N quorum auth. Public keys must be associated with RSA 2048 keys. |
RemoveQuorumMember
Remove a quorum member from theSingleTenantHsmInstance. This will reducetotal_approver_count by 1. TheSingleTenantHsmInstance must be in theACTIVE state to perform this operation.
| Fields | |
|---|---|
two_factor_public_key_pem |
Required. The public key associated with the 2FA key for the quorum member to remove. Public keys must be associated with RSA 2048 keys. |
RequiredActionQuorumParameters
Parameters for an approval that has both required challenges and a quorum.
| Fields | |
|---|---|
required_challenges[] | Output only. A list of specific challenges that must be signed. For some operations, this will contain a single challenge. |
required_approver_count |
Output only. The required number of quorum approvers. This is the M value used for M of N quorum auth. It is less than the number of public keys. |
quorum_challenges[] | Output only. The challenges to be signed by 2FA keys for quorum auth. M of N of these challenges are required to be signed to approve the operation. |
approved_two_factor_public_key_pems[] |
Output only. The public keys associated with the 2FA keys that have already approved the |
State
The set of states of aSingleTenantHsmInstanceProposal.
| Enums | |
|---|---|
STATE_UNSPECIFIED | Not specified. |
CREATING | TheSingleTenantHsmInstanceProposal is being created. |
PENDING | TheSingleTenantHsmInstanceProposal is pending approval. |
APPROVED | TheSingleTenantHsmInstanceProposal has been approved. |
RUNNING | TheSingleTenantHsmInstanceProposal is being executed. |
SUCCEEDED | TheSingleTenantHsmInstanceProposal has been executed successfully. |
FAILED | TheSingleTenantHsmInstanceProposal has failed. |
DELETED | TheSingleTenantHsmInstanceProposal has been deleted and will be purged after the purge_time. |
UpdateAutokeyConfigRequest
Request message forUpdateAutokeyConfig.
| Fields | |
|---|---|
autokey_config | Required. |
update_mask | Required. Masks which fields of the |
UpdateCryptoKeyPrimaryVersionRequest
Request message forKeyManagementService.UpdateCryptoKeyPrimaryVersion.
| Fields | |
|---|---|
name |
Required. The resource name of the Authorization requires the followingIAM permission on the specified resource
|
crypto_key_version_id |
Required. The id of the child |
UpdateCryptoKeyRequest
Request message forKeyManagementService.UpdateCryptoKey.
| Fields | |
|---|---|
crypto_key | Required. Authorization requires the followingIAM permission on the specified resource
|
update_mask | Required. List of fields to be updated in this request. |
UpdateCryptoKeyVersionRequest
Request message forKeyManagementService.UpdateCryptoKeyVersion.
| Fields | |
|---|---|
crypto_key_version | Required. Authorization requires the followingIAM permission on the specified resource
|
update_mask | Required. List of fields to be updated in this request. |
UpdateEkmConfigRequest
Request message forEkmService.UpdateEkmConfig.
| Fields | |
|---|---|
ekm_config | Required. Authorization requires the followingIAM permission on the specified resource
|
update_mask | Required. List of fields to be updated in this request. |
UpdateEkmConnectionRequest
Request message forEkmService.UpdateEkmConnection.
| Fields | |
|---|---|
ekm_connection | Required. Authorization requires the followingIAM permission on the specified resource
|
update_mask | Required. List of fields to be updated in this request. |
UpdateKeyAccessJustificationsPolicyConfigRequest
Request message forKeyAccessJustificationsConfig.UpdateKeyAccessJustificationsPolicyConfig.
| Fields | |
|---|---|
key_access_justifications_policy_config |
Required. |
update_mask | Optional. The list of fields to update. |
VerifyConnectivityRequest
Request message forEkmService.VerifyConnectivity.
| Fields | |
|---|---|
name |
Required. The Authorization requires the followingIAM permission on the specified resource
|
VerifyConnectivityResponse
This type has no fields.
Response message forEkmService.VerifyConnectivity.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-11 UTC.