Classe de déchiffrement - AWS Glue

Classe de déchiffrement

La transformation Decrypt déchiffre à l’intérieur d’AWS Glue. Vos données peuvent également être déchiffrées en dehors d’AWS Glue avec le kit SDK de chiffrement AWS. Si l’ARN de la clé KMS fourni ne correspond pas à celui utilisé pour chiffrer la colonne, l’opération de déchiffrement échoue.

exemple

from pyspark.context import SparkContext from pyspark.sql import SparkSession from awsgluedi.transforms import * kms = "${KMS}" 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_encrypt = pii.Encrypt.apply( data_frame=input_df, spark_context=sc, source_columns=["phone"], kms_key_arn=kms ) df_decrypt = pii.Decrypt.apply( data_frame=df_encrypt, spark_context=sc, source_columns=["phone"], kms_key_arn=kms ) df_decrypt.show() except: print("Unexpected Error happened ") raise

Sortie

La sortie sera un DataFrame PySpark avec la colonne `id` d’origine et la colonne `phone` déchiffrée :

``` +---+------------+ | id| phone| +---+------------+ | 1| 1234560000| | 2| 1234560001| | 3| 1234560002| | 4| 1234560003| | 5| 1234560004| | 6| 1234560005| | 7| 1234560006| | 8| 1234560007| | 9| 1234560008| | 10| 1234560009| +---+------------+ ```

La transformation Encrypt prend la valeur `source_columns` comme `["phone"]` et `kms_key_arn` comme valeur de la variable d’environnement `$ {KMS}`. La transformation chiffre les valeurs de la colonne `phone` à l’aide de la clé KMS spécifiée. Le DataFrame chiffré `df_encrypt` est ensuite transmis à la transformation Decrypt depuis le module `awsglue.pii`. Il prend la valeur `source_columns` comme `["phone"]` et `kms_key_arn` comme valeur de la variable d’environnement `${KMS}`. La transformation déchiffre les valeurs chiffrées de la colonne `phone` à l’aide de la même clé KMS. Le DataFrame `df_decrypt` qui en résulte contient la colonne `id` d’origine et la colonne `phone` déchiffrée.

Méthodes

__call__(spark_context, data_frame, source_columns, kms_key_arn)

La transformation Decrypt déchiffre à l’intérieur d’AWS Glue. Vos données peuvent également être déchiffrées en dehors d’AWS Glue avec le kit SDK de chiffrement AWS. Si l’ARN de la clé KMS fourni ne correspond pas à celui utilisé pour chiffrer la colonne, l’opération de déchiffrement échoue.

  • source_columns : tableau de colonnes existantes.

  • kms_key_arn : ARN de la clé AWS Key Management Service à utiliser pour déchiffrer les colonnes source.

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.