KMS Inventory V1 API - Class Google::Cloud::Kms::V1::ImportJob (v0.11.2)

Reference documentation and code samples for the KMS Inventory V1 API class Google::Cloud::Kms::V1::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][google.cloud.kms.v1.KeyManagementService.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.

Inherits

  • Object

Extended By

  • Google::Protobuf::MessageExts::ClassMethods

Includes

  • Google::Protobuf::MessageExts

Methods

#attestation

def attestation() -> ::Google::Cloud::Kms::V1::KeyOperationAttestation
Returns
  • (::Google::Cloud::Kms::V1::KeyOperationAttestation) — 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 ImportMethod is one with a protection level of HSM.

#create_time

def create_time() -> ::Google::Protobuf::Timestamp
Returns

#expire_event_time

def expire_event_time() -> ::Google::Protobuf::Timestamp
Returns

#expire_time

def expire_time() -> ::Google::Protobuf::Timestamp
Returns

#generate_time

def generate_time() -> ::Google::Protobuf::Timestamp
Returns

#import_method

def import_method() -> ::Google::Cloud::Kms::V1::ImportJob::ImportMethod
Returns

#import_method=

def import_method=(value) -> ::Google::Cloud::Kms::V1::ImportJob::ImportMethod
Parameter
Returns

#name

def name() -> ::String
Returns
  • (::String) — Output only. The resource name for this ImportJob in the format projects/*/locations/*/keyRings/*/importJobs/*.

#protection_level

def protection_level() -> ::Google::Cloud::Kms::V1::ProtectionLevel
Returns

#protection_level=

def protection_level=(value) -> ::Google::Cloud::Kms::V1::ProtectionLevel
Parameter
Returns

#public_key

def public_key() -> ::Google::Cloud::Kms::V1::ImportJob::WrappingPublicKey
Returns

#state

def state() -> ::Google::Cloud::Kms::V1::ImportJob::ImportJobState
Returns