Clase CryptographicHash - AWS Glue

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.