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 transformation Encrypt chiffre les colonnes source à l’aide de la clé AWS Key Management Service. La transformation Encrypt peut chiffrer jusqu’à 128 Mio par cellule. Elle 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 paramètre preserve_data_type sur false. Les métadonnées du type de données seront stockées en texte clair 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

Le résultat sera un DataFrame PySpark avec la colonne `id` d’origine et une colonne supplémentaire contenant les valeurs chiffré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 transformation Encrypt prend la valeur `source_columns` comme `["phone"]` et `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 DataFrame `df_encrypt` qui en résulte contient la colonne `id` d’origine, la colonne `phone` d’origine et une colonne supplémentaire nommée `phone_encrypted` contenant les valeurs chiffré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 transformation Encrypt chiffre les colonnes source à l’aide de la clé AWS Key Management Service.

  • source_columns : tableau de colonnes existantes.

  • kms_key_arn : ARN de la clé AWS Key Management Service à utiliser pour chiffrer les colonnes source.

  • entity_type_filter : tableau facultatif de types d’entité. Peut être utilisé pour chiffrer uniquement les informations personnelles détectées dans une colonne en texte libre.

  • preserve_data_type : valeur booléenne facultative. La valeur par défaut est true (vrai). Si la valeur est false, le type de données ne sera pas stocké.

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.