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.