Clase de descifrado - AWS Glue

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.