Classe CryptographicHash
La transformation CryptographicHash applique un algorithme aux valeurs de hachage de la colonne.
exemple
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
Sortie
Le résultat sera :
``` +---+------------+-------------------+-------------------+ | 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 transformation calcule les hachages cryptographiques des valeurs des colonnes `id` et `phone` à l’aide de l’algorithme et de la clé secrète spécifiés, et code les hachages au format Base64. Le DataFrame `df_output` qui en résulte contient toutes les colonnes du DataFrame `input_df` d’origine, plus les colonnes supplémentaires `id_hashed` et `phone_hashed` avec les hachages calculés.
Méthodes
__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 transformation CryptographicHash applique un algorithme aux valeurs de hachage de la colonne.
-
source_columns: tableau de colonnes existantes. -
secret_id: ARN de la clé secrète Secrets Manager Clé utilisée dans l’algorithme de préfixe de code d’authentification de message utilisant hash (HMAC) pour hacher les colonnes source. -
secret_version: facultatif. Par défaut, la version du secret la plus récente. -
entity_type_filter: tableau facultatif de types d’entité. Peut être utilisé pour chiffrer uniquement les informations personnelles détectées dans une colonne en texte libre. -
create_secret_if_missing: valeur booléenne facultative. Si la valeur est true, il essaiera de créer le secret au nom de l’appelant. -
algorithm: l’algorithme utilisé pour hacher vos données. Valeurs d’énumération valides : MD5, SHA1, SHA256, SHA512, HMAC_MD5, HMAC_SHA1, HMAC_SHA256, HMAC_SHA512.
apply(cls, *args, **kwargs)
Hérité de GlueTransform s'appliquent.
name(cls)
Hérité de GlueTransform name.
describeArgs(cls)
Hérité de GlueTransform describeArgs.
describeReturn(cls)
Hérité de GlueTransform describeReturn.
describeTransform(cls)
Hérité de GlueTransform describeTransform.
describeErrors(cls)
Hérité de GlueTransform describeErrors.
describe(cls)
Hérité de GlueTransform describe.