Classe Encrypt - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Classe Encrypt

La Encrypt trasformazione crittografa le colonne di origine utilizzando la chiave del servizio di gestione delle AWS chiavi. La trasformazione Encrypt può crittografare fino a 128 MiB per cella. Cercherà di mantenere il formato durante la decrittografia. Per mantenere il tipo di dati, i metadati correlati devono essere serializzati a meno di 1 KB. In caso contrario, è necessario impostare il parametro preserve_data_type su false. I metadati del tipo di dati saranno archiviati in formato di testo semplice nel contesto della crittografia.

Esempio

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 ) except: print("Unexpected Error happened ") raise

Output

L'output sarà composto dalla colonna `id` originale e da una colonna aggiuntiva contenente i valori crittografati della colonna `phone`. PySpark DataFrame

``` +---+------------+-------------------------+ | id| phone | phone_encrypted | +---+------------+-------------------------+ | 1| 1234560000| EncryptedData1234...abc | | 2| 1234560001| EncryptedData5678...def | | 3| 1234560002| EncryptedData9012...ghi | | 4| 1234560003| EncryptedData3456...jkl | | 5| 1234560004| EncryptedData7890...mno | | 6| 1234560005| EncryptedData1234...pqr | | 7| 1234560006| EncryptedData5678...stu | | 8| 1234560007| EncryptedData9012...vwx | | 9| 1234560008| EncryptedData3456...yz0 | | 10| 1234560009| EncryptedData7890...123 | +---+------------+-------------------------+ ```

La trasformazione Encrypt prende le `source_columns`, come `[“phone”]` e `kms_key_arn`, come valore della variabile di ambiente `${KMS}`. La trasformazione esegue la crittografia dei valori nella colonna `phone` utilizzando la chiave KMS specificata. La `df_encrypt` risultante DataFrame contiene la colonna `id` originale, la colonna `phone` originale e una colonna aggiuntiva denominata `phone_encrypted` contenente i valori criptati della colonna `phone`.

Metodi

__call__(spark_context, data_frame, source_columns, kms_key_arn, entity_type_filter=None, preserve_data_type=None)

EncryptLa trasformazione crittografa le AWS colonne di origine utilizzando la chiave del servizio di gestione delle chiavi.

  • source_columns: una matrice di colonne esistenti.

  • kms_key_arn— L'ARN della chiave del servizio di gestione delle AWS chiavi da utilizzare per crittografare le colonne di origine.

  • entity_type_filter: matrice facoltativa dei tipi di entità. Può essere utilizzata per crittografare solo le informazioni di identificazione personale (PII) rilevate nella colonna a testo libero.

  • preserve_data_type: booleano facoltativo. Il valore predefinito è true. Se false, il tipo di dati non sarà archiviato.

apply(cls, *args, **kwargs)

Ereditato da GlueTransform apply.

name(cls)

Ereditato da GlueTransform name.

describeArgs(cls)

Ereditato da GlueTransform describeArgs.

describeReturn(cls)

Ereditato da GlueTransform describeReturn.

describeTransform(cls)

Ereditato da GlueTransform describeTransform.

describeErrors(cls)

Ereditato da GlueTransform describeErrors.

describe(cls)

Ereditato da GlueTransform describe.