Classe CryptographicHash - AWS Glue

Classe CryptographicHash

A transformação CryptographicHash aplica um algoritmo aos valores de hash na coluna.

Exemplo

from pyspark.context import SparkContext from pyspark.sql import SparkSession from awsgluedi.transforms import * secret = "${SECRET}" 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_output = pii.CryptographicHash.apply( data_frame=input_df, spark_context=sc, source_columns=["id", "phone"], secret_id=secret, algorithm="HMAC_SHA256", output_format="BASE64", ) df_output.show() except: print("Unexpected Error happened ") raise

Saída

A saída será:

``` +---+------------+-------------------+-------------------+ | id| phone | id_hashed | phone_hashed | +---+------------+-------------------+-------------------+ | 1| 1234560000 | QUI1zXTJiXmfIb... | juDBAmiRnnO3g... | | 2| 1234560001 | ZAUWiZ3dVTzCo... | vC8lgUqBVDMNQ... | | 3| 1234560002 | ZP4VvZWkqYifu... | Kl3QAkgswYpzB... | | 4| 1234560003 | 3u8vO3wQ8EQfj... | CPBzK1P8PZZkV... | | 5| 1234560004 | eWkQJk4zAOIzx... | aLf7+mHcXqbLs... | | 6| 1234560005 | xtI9fZCJZCvsa... | dy2DFgdYWmr0p... | | 7| 1234560006 | iW9hew7jnHuOf... | wwfGMCOEv6oOv... | | 8| 1234560007 | H9V1pqvgkFhfS... | g9WKhagIXy9ht... | | 9| 1234560008 | xDhEuHaxAUbU5... | b3uQLKPY+Q5vU... | | 10| 1234560009 | GRN6nFXkxk349... | VJdsKt8VbxBbt... | +---+------------+-------------------+-------------------+ ```

A transformação calcula os hashes criptográficos dos valores nas colunas “id” e “phone” usando o algoritmo e a chave secreta especificados e codifica os hashes no formato Base64. O DataFrame “df_output” resultante contém todas as colunas do DataFrame “input_df” original, além das colunas “id_hashed” e “phone_hashed” adicionais com os hashes computados.

Métodos

__call__(spark_context, data_frame, source_columns, secret_id, algorithm=None, secret_version=None, create_secret_if_missing=False, output_format=None, entity_type_filter=None)

A transformação CryptographicHash aplica um algoritmo aos valores de hash na coluna.

  • source_columns: uma matriz de colunas existentes.

  • secret_id: o ARN da chave secreta do Secrets Manager. A chave usada no algoritmo do prefixo do código de autenticação de mensagens por hash (HMAC) para hash das colunas de origem.

  • secret_version: optional. O padrão é a versão mais recente do segredo.

  • entity_type_filter: matriz opcional de tipos de entidades. Pode ser usada para criptografar somente as PII detectadas na coluna de texto livre.

  • create_secret_if_missing: booleano opcional. Se verdadeiro, tentará criar o segredo em nome do chamador.

  • algorithm: o algoritmo usado para fazer o hash de seus dados. Valores de enumeração válidos: MD5, SHA1, SHA256, SHA512, HMAC_MD5, HMAC_SHA1, HMAC_SHA256, HMAC_SHA512.

aplicar(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.