Criptografar classe - AWS Glue

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.