Criptografar classe
A transformação Encrypt
criptografa as colunas de origem usando a chave do AWS Key Management Service. A transformação Encrypt
pode criptografar até 128 MiB por célula. Ela tentará preservar o formato na decodificação. Para preservar o tipo de dado, os metadados do tipo de dado devem ser serializados para menos de 1 KB. Caso contrário, você deve definir o parâmetro preserve_data_type
como falso. Os metadados do tipo de dado serão armazenados em texto simples no contexto de criptografia.
Exemplo
from pyspark.context import SparkContext from pyspark.sql import SparkSession from awsgluedi.transforms import * kms = "${KMS}" sc = SparkContext() spark = SparkSession(sc) input_df = spark.createDataFrame( [ (1, "1234560000"), (2, "1234560001"), (3, "1234560002"), (4, "1234560003"), (5, "1234560004"), (6, "1234560005"), (7, "1234560006"), (8, "1234560007"), (9, "1234560008"), (10, "1234560009"), ], ["id", "phone"], ) try: df_encrypt = pii.Encrypt.apply( data_frame=input_df, spark_context=sc, source_columns=["phone"], kms_key_arn=kms ) except: print("Unexpected Error happened ") raise
Saída
A saída será um PySpark DataFrame com a coluna “id” original e uma coluna adicional contendo os valores criptografados da coluna “telefone”.
``` +---+------------+-------------------------+ | id| phone | phone_encrypted | +---+------------+-------------------------+ | 1| 1234560000| EncryptedData1234...abc | | 2| 1234560001| EncryptedData5678...def | | 3| 1234560002| EncryptedData9012...ghi | | 4| 1234560003| EncryptedData3456...jkl | | 5| 1234560004| EncryptedData7890...mno | | 6| 1234560005| EncryptedData1234...pqr | | 7| 1234560006| EncryptedData5678...stu | | 8| 1234560007| EncryptedData9012...vwx | | 9| 1234560008| EncryptedData3456...yz0 | | 10| 1234560009| EncryptedData7890...123 | +---+------------+-------------------------+ ```
A transformação Encrypt
usa "source_columns" como `["phone"]` e "kms_key_arn" como o valor da variável de ambiente "$ {KMS}". A transformação criptografa os valores na coluna "telefone" usando a chave KMS especificada. O DataFrame `df_encrypt` resultante contém a coluna “d” original, a coluna “telefone” original e uma coluna adicional chamada “telefone_criptografado” contendo os valores criptografados da coluna “telefone”.
Métodos
__call__(spark_context, data_frame, source_columns, kms_key_arn, entity_type_filter=None, preserve_data_type=None)
A transformação Encrypt
criptografa as colunas de origem usando a chave do AWS Key Management Service.
-
source_columns
: uma matriz de colunas existentes. -
kms_key_arn
: o ARN da chave do AWS Key Management Service a ser usado para criptografar as colunas de origem. -
entity_type_filter
: matriz opcional de tipos de entidades. Pode ser usada para criptografar somente as PII detectadas na coluna de texto livre. -
preserve_data_type
: booleano opcional. O valor padrão é verdadeiro. Se for falso, o tipo de dado não será armazenado.
apply(cls, *args, **kwargs)
Herdado de GlueTransform
apply.
name(cls)
Herdado de GlueTransform
name.
describeArgs(cls)
Herdado de GlueTransform
describeArgs.
describeReturn(cls)
Herdado de GlueTransform
describeReturn.
describeTransform(cls)
Herdado de GlueTransform
describeTransform.
describeErrors(cls)
Herdado de GlueTransform
describeErrors.
describe(cls)
Herdado de GlueTransform
describe.