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 Encrypt trasformazione può crittografare fino a 128 MiB per cella. Tenterà di preservare il formato durante la decrittografia. Per preservare il tipo di dati, i metadati del tipo di dati devono essere serializzati a meno di 1 KB. Altrimenti, è necessario impostare il preserve_data_type parametro su false. I metadati dei tipi di dati verranno archiviati in testo semplice nel contesto di 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 PySpark DataFrame 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 Encrypt trasformazione prende `source_columns` come `["phone"]` e `kms_key_arn` come valore della variabile di ambiente `$ {KMS} `. La trasformazione crittografa i 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=Nessuno, preserve_data_type=Nessuno)

La trasformazione Encrypt crittografa le colonne di origine utilizzando la AWS 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 opzionale di tipi di entità. Può essere utilizzato per crittografare solo le PII rilevate nella colonna di testo libero.

  • preserve_data_type— Booleano opzionale. Il valore predefinito è true. Se false, il tipo di dati non verrà memorizzato.

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.