Class: Google::Apis::DlpV2::GooglePrivacyDlpV2CryptoKey

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/dlp_v2/classes.rb,
lib/google/apis/dlp_v2/representations.rb,
lib/google/apis/dlp_v2/representations.rb

Overview

This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by KMS). When using KMS to wrap/unwrap DEKs, be sure to set an appropriate IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot unwrap the data crypto key.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GooglePrivacyDlpV2CryptoKey

Returns a new instance of GooglePrivacyDlpV2CryptoKey.



1376
1377
1378
# File 'lib/google/apis/dlp_v2/classes.rb', line 1376

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#kms_wrappedGoogle::Apis::DlpV2::GooglePrivacyDlpV2KmsWrappedCryptoKey

Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128/192/256 bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a kms-wrapped crypto key: dlp.kms.encrypt Corresponds to the JSON property kmsWrapped



1362
1363
1364
# File 'lib/google/apis/dlp_v2/classes.rb', line 1362

def kms_wrapped
  @kms_wrapped
end

#transientGoogle::Apis::DlpV2::GooglePrivacyDlpV2TransientCryptoKey

Use this to have a random data crypto key generated. It will be discarded after the request finishes. Corresponds to the JSON property transient



1368
1369
1370
# File 'lib/google/apis/dlp_v2/classes.rb', line 1368

def transient
  @transient
end

#unwrappedGoogle::Apis::DlpV2::GooglePrivacyDlpV2UnwrappedCryptoKey

Using raw keys is prone to security risks due to accidentally leaking the key. Choose another type of key if possible. Corresponds to the JSON property unwrapped



1374
1375
1376
# File 'lib/google/apis/dlp_v2/classes.rb', line 1374

def unwrapped
  @unwrapped
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1381
1382
1383
1384
1385
# File 'lib/google/apis/dlp_v2/classes.rb', line 1381

def update!(**args)
  @kms_wrapped = args[:kms_wrapped] if args.key?(:kms_wrapped)
  @transient = args[:transient] if args.key?(:transient)
  @unwrapped = args[:unwrapped] if args.key?(:unwrapped)
end