Clase CryptographicHash
La transformación CryptographicHash
aplica un algoritmo a los valores de hash de la columna.
Ejemplo
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
Salida
El resultado 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... | +---+------------+-------------------+-------------------+ ```
La transformación calcula los hashes criptográficos de los valores de las columnas `id` y `phone` mediante el algoritmo y la clave secreta especificados y codifica los hashes en formato Base64. El elemento DataFrame `df_output` resultante contiene todas las columnas de la `input_df` original, además de las columnas adicionales `id_hashed` y `phone_hashed` con los valores hash calculados.
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)
La transformación CryptographicHash
aplica un algoritmo a los valores de hash de la columna.
-
source_columns
: matriz de columnas existentes. -
secret_id
: el ARN de la clave secreta de Secrets Manager. La clave utilizada en el algoritmo de prefijo del código de autenticación de mensajes basado en hash (HMAC) para codificar las columnas de origen. -
secret_version
: opcional. De forma predeterminada, es la última versión secreta. -
entity_type_filter
: matriz opcional de tipos de entidades. Se puede usar para cifrar solo la PII detectada en la columna de texto libre. -
create_secret_if_missing
: booleano opcional. Si es verdadero, intentará crear el secreto en nombre de la persona que llama. -
algorithm
: el algoritmo utilizado para codificar sus datos. Valores de enumeración válidos: MD5, SHA1, SHA256, SHA512, HMAC_MD5, HMAC_SHA1, HMAC_SHA256, HMAC_SHA512.
apply(cls, *args, **kwargs)
Heredado de GlueTransform
apply.
name(cls)
Heredado de GlueTransform
name.
describeArgs(cls)
Heredado de GlueTransform
describeArgs.
describeReturn(cls)
Heredado de GlueTransform
describeReturn.
describeTransform(cls)
Heredado de GlueTransform
describeTransform.
describeErrors(cls)
Heredado de GlueTransform
describeErrors.
describe(cls)
Heredado de GlueTransform
describe.