Clase de descifrado
La transformación Decrypt
descifra el interior de AWS Glue. Sus datos también se pueden descifrar fuera de AWS Glue con el SDK de cifrado de AWS. Si el ARN de la clave de KMS proporcionado no coincide con el que se ha utilizado para cifrar la columna, se produce un error en la operación de descifrado.
Ejemplo
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
Salida
El resultado será un elemento DataFrame PySpark con la columna `id` original y la columna `phone` descifrada:
``` +---+------------+ | id| phone| +---+------------+ | 1| 1234560000| | 2| 1234560001| | 3| 1234560002| | 4| 1234560003| | 5| 1234560004| | 6| 1234560005| | 7| 1234560006| | 8| 1234560007| | 9| 1234560008| | 10| 1234560009| +---+------------+ ```
La transformación Encrypt
toma las `source_columns` como `["phone"]` y `kms_key_arn` como el valor de la variable de entorno `${KMS}`. La transformación cifra los valores de la columna `phone` mediante la clave de KMS especificada. A continuación, el elemento DataFrame `df_encrypt` cifrado se pasa a la transformación Decrypt
desde el módulo `awsglue.pii`. Toma las `source_columns` como `["phone"]` y `kms_key_arn` como el valor de la variable de entorno `${KMS}`. La transformación descifra los valores cifrados de la columna `phone` con la misma clave de KMS. El elemento DataFrame `df_decrypt` resultante contiene la columna `id` original y la columna `phone` descifrada.
Métodos
__call__(spark_context, data_frame, source_columns, kms_key_arn)
La transformación Decrypt
descifra el interior de AWS Glue. Sus datos también se pueden descifrar fuera de AWS Glue con el SDK de cifrado de AWS. Si el ARN de la clave de KMS proporcionado no coincide con el que se ha utilizado para cifrar la columna, se produce un error en la operación de descifrado.
-
source_columns
: matriz de columnas existentes. -
kms_key_arn
: el ARN de la clave de AWS Key Management Service que se utilizará para descifrar las columnas de origen.
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.