Classe Encrypt
La trasformazione Encrypt esegue la crittografia delle colonne di origine utilizzando la chiave del Servizio di gestione delle chiavi AWS. 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à un DataFrame PySpark con la colonna `id` originale e una colonna aggiuntiva contenente i valori crittografati della colonna `phone`.
``` +---+------------+-------------------------+ | 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. Il DataFrame `df_encrypt` risultante contiene le colonne `id` e `phone` originali e una colonna aggiuntiva denominata `phone_encrypted` contenente i valori crittografati della colonna `phone`.
Metodi
__call__(spark_context, data_frame, source_columns, kms_key_arn, entity_type_filter=None, preserve_data_type=None)
La trasformazione Encrypt esegue la crittografia delle colonne di origine utilizzando la chiave del Servizio di gestione delle chiavi AWS.
-
source_columns: una matrice di colonne esistenti. -
kms_key_arn: l'ARN della chiave del Servizio di gestione delle chiavi AWS da utilizzare per eseguire la crittografia delle 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 nome.
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.