加密類別
Encrypt 轉換會使用 AWS Key Management Service 金鑰加密來源資料欄。Encrypt 轉換每個儲存格最多可加密 128 MiB。其會嘗試在解密時保留格式。若要保留資料類型,資料類型中繼資料必須序列化為小於 1KB。否則,您必須將 preserve_data_type 參數設定為 false。資料類型中繼資料將在加密內容中以純文字儲存。
範例
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
輸出
輸出將是具有原始 `id` 資料欄的 PySpark DataFrame,及包含 `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 | +---+------------+-------------------------+ ```
Encrypt 轉換會將 `source_columns` 作為 `["phone"]` 及將 `kms_key_arn` 作為 `${KMS}` 環境變數的值。轉換會使用指定的 KMS 金鑰加密 `phone` 資料欄中的值。產生的 `df_encrypt` DataFrame 包含原始 `id` 資料欄、原始 `phone` 資料欄,及名為 `phone_encrypted` 的額外資料欄,其中包含 `phone` 資料欄的加密值。
方法
__call__(spark_context, data_frame, source_columns, kms_key_arn, entity_type_filter=None, preserve_data_type=None)
Encrypt 轉換會使用 AWS Key Management Service 金鑰加密來源資料欄。
-
source_columns– 現有資料欄的陣列。 -
kms_key_arn– AWS Key Management Service 金鑰的金鑰 ARN,用於加密來源資料欄。 -
entity_type_filter– 實體類型的選用陣列。可用於僅加密任意文字資料欄中偵測到的 PII。 -
preserve_data_type– 選用布林值。預設為 true。如果為 false,則不會儲存資料類型。
apply(cls, *args, **kwargs)
繼承自 GlueTransform apply。
name(cls)
繼承自 GlueTransform name。
describeArgs(cls)
繼承自 GlueTransform describeArgs。
describeReturn(cls)
繼承自 GlueTransform describeReturn。
describeTransform(cls)
繼承自 GlueTransform describeTransform。
describeErrors(cls)
繼承自 GlueTransform describeErrors。
describe(cls)
繼承自 GlueTransform describe。