Class: Google::Apis::DlpV2::GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig

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

Replaces an identifier with a surrogate using Format Preserving Encryption ( FPE) with the FFX mode of operation; however when used in the ReidentifyContent API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/sensitive-data-protection/docs/ pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig

Returns a new instance of GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig.



2045
2046
2047
# File 'lib/google/apis/dlp_v2/classes.rb', line 2045

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

Instance Attribute Details

#common_alphabetString

Common alphabets. Corresponds to the JSON property commonAlphabet

Returns:

  • (String)


2009
2010
2011
# File 'lib/google/apis/dlp_v2/classes.rb', line 2009

def common_alphabet
  @common_alphabet
end

#contextGoogle::Apis::DlpV2::GooglePrivacyDlpV2FieldId

General identifier of a data field in a storage service. Corresponds to the JSON property context



2014
2015
2016
# File 'lib/google/apis/dlp_v2/classes.rb', line 2014

def context
  @context
end

#crypto_keyGoogle::Apis::DlpV2::GooglePrivacyDlpV2CryptoKey

This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. Corresponds to the JSON property cryptoKey



2022
2023
2024
# File 'lib/google/apis/dlp_v2/classes.rb', line 2022

def crypto_key
  @crypto_key
end

#custom_alphabetString

This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range [2, 95]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~!@#$%^&*()_-+= []|\:;"'<,>.?/ Corresponds to the JSON propertycustomAlphabet`

Returns:

  • (String)


2033
2034
2035
# File 'lib/google/apis/dlp_v2/classes.rb', line 2033

def custom_alphabet
  @custom_alphabet
end

#radixFixnum

The native way to select the alphabet. Must be in the range [2, 95]. Corresponds to the JSON property radix

Returns:

  • (Fixnum)


2038
2039
2040
# File 'lib/google/apis/dlp_v2/classes.rb', line 2038

def radix
  @radix
end

#surrogate_info_typeGoogle::Apis::DlpV2::GooglePrivacyDlpV2InfoType

Type of information detected by the API. Corresponds to the JSON property surrogateInfoType



2043
2044
2045
# File 'lib/google/apis/dlp_v2/classes.rb', line 2043

def surrogate_info_type
  @surrogate_info_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2050
2051
2052
2053
2054
2055
2056
2057
# File 'lib/google/apis/dlp_v2/classes.rb', line 2050

def update!(**args)
  @common_alphabet = args[:common_alphabet] if args.key?(:common_alphabet)
  @context = args[:context] if args.key?(:context)
  @crypto_key = args[:crypto_key] if args.key?(:crypto_key)
  @custom_alphabet = args[:custom_alphabet] if args.key?(:custom_alphabet)
  @radix = args[:radix] if args.key?(:radix)
  @surrogate_info_type = args[:surrogate_info_type] if args.key?(:surrogate_info_type)
end