Enkripsi kelas - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Enkripsi kelas

EncryptTransformasi mengenkripsi kolom sumber menggunakan AWS kunci Key Management Service. EncryptTransformasi dapat mengenkripsi hingga 128 MiB per sel. Ini akan mencoba untuk mempertahankan format pada dekripsi. Untuk mempertahankan tipe data, metadata tipe data harus diserialisasikan hingga kurang dari 1KB. Jika tidak, Anda harus mengatur preserve_data_type parameter ke false. Metadata tipe data akan disimpan dalam plaintext dalam konteks enkripsi.

Contoh

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

Outputnya akan berupa PySpark DataFrame kolom `id` asli dan kolom tambahan yang berisi nilai terenkripsi dari kolom `telepon`.

``` +---+------------+-------------------------+ | 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 | +---+------------+-------------------------+ ```

EncryptTransformasi mengambil `source_columns` sebagai `["phone"]` dan `kms_key_arn` sebagai nilai variabel lingkungan `$ {KMS} `. Transformasi mengenkripsi nilai di kolom `telepon` menggunakan kunci KMS yang ditentukan. Hasil `df_encrypt` DataFrame berisi kolom `id` asli, kolom `phone` asli, dan kolom tambahan bernama `phone_encrypted` yang berisi nilai terenkripsi dari kolom `phone`.

Metode

__call__ (spark_context, data_frame, source_columns, kms_key_arn, entity_type_filter=Tidak ada, preserve_data_type = tidak ada)

EncryptTransformasi mengenkripsi kolom sumber menggunakan AWS kunci Key Management Service.

  • source_columns— Array kolom yang ada.

  • kms_key_arn— Kunci ARN dari kunci Layanan Manajemen AWS Kunci yang akan digunakan untuk Mengenkripsi kolom sumber.

  • entity_type_filter— Array opsional tipe entitas. Dapat digunakan untuk mengenkripsi hanya PII yang terdeteksi di kolom teks bebas.

  • preserve_data_type— Boolean opsional. Default ke true. Jika false, tipe data tidak akan disimpan.

apply(cls, *args, **kwargs)

Warisan dari GlueTransform apply.

name(cls)

Warisan dari GlueTransform nama.

describeArgs(cls)

Warisan dari GlueTransform describeArgs.

describeReturn(cls)

Warisan dari GlueTransform describeReturn.

describeTransform(cls)

Warisan dari GlueTransform describeTransform.

describeErrors(cls)

Warisan dari GlueTransform describeErrors.

describe(cls)

Warisan dari GlueTransform describe.