Classe de chiffrement - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Classe de chiffrement

La Encrypt transformation chiffre les colonnes source à l'aide de la AWS clé du service de gestion des clés. La Encrypt transformation peut chiffrer jusqu'à 128 MiB par cellule. Il tentera de préserver le format lors du déchiffrement. Pour préserver le type de données, les métadonnées du type de données doivent être sérialisées à moins de 1 Ko. Dans le cas contraire, vous devez définir le preserve_data_type paramètre sur false. Les métadonnées du type de données seront stockées en texte brut dans le contexte du chiffrement.

Exemple

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

Sortie

La sortie sera une PySpark DataFrame avec la colonne « id » d'origine et une colonne supplémentaire contenant les valeurs cryptées de la colonne « 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 transformation prend le `source_columns` comme `["phone"]` et le `kms_key_arn` comme valeur de la variable d'environnement `$ {KMS} `. La transformation chiffre les valeurs de la colonne « phone » à l'aide de la clé KMS spécifiée. Le `df_encrypt` qui en résulte DataFrame contient la colonne `id` d'origine, la colonne `phone` d'origine et une colonne supplémentaire nommée `phone_encrypted` contenant les valeurs cryptées de la colonne `phone`.

Méthodes

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

La Encrypt transformation chiffre les colonnes source à l'aide de la AWS clé du service de gestion des clés.

  • source_columns— Un tableau de colonnes existantes.

  • kms_key_arn— L'ARN AWS clé du service de gestion des clés à utiliser pour chiffrer les colonnes source.

  • entity_type_filter— Tableau facultatif de types d'entités. Peut être utilisé pour chiffrer uniquement les informations personnelles détectées dans une colonne de texte libre.

  • preserve_data_type— Booléen facultatif. La valeur par défaut est true (vrai). Si la valeur est fausse, le type de données ne sera pas enregistré.

apply(cls, *args, **kwargs)

Hérité de GlueTransform s'appliquent.

name(cls)

Hérité de GlueTransform name.

describeArgs(cls)

Hérité de GlueTransform describeArgs.

describeReturn(cls)

Hérité de GlueTransform describeReturn.

describeTransform(cls)

Hérité de GlueTransform describeTransform.

describeErrors(cls)

Hérité de GlueTransform describeErrors.

describe(cls)

Hérité de GlueTransform describe.