암호화 클래스 - AWS Glue

암호화 클래스

Encrypt변환은 키 관리 서비스 키를 사용하여 소스 열을 암호화합니다. AWS Encrypt변환은 셀당 최대 128MiB까지 암호화할 수 있습니다. 복호화 시 형식 보존을 시도합니다. 데이터 유형을 보존하려면 데이터 유형 메타데이터를 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` 열과 `phone` 열의 암호화된 값을 포함하는 추가 열이 포함된 PySpark DataFrame a가 됩니다.

``` +---+------------+-------------------------+ | 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'를 `["전화"] `로 취하고 `kms_key_arn`은 `$ {KMS}` 환경 변수의 값으로 취합니다. 변환은 지정된 KMS 키를 사용하여 '전화' 열의 값을 암호화합니다. 결과 `df_encrypt`에는 원래 `id` 열, 원래 `전화` 열, `phone` 열의 암호화된 값을 DataFrame 포함하는 `phone_encrypted`라는 추가 열이 포함됩니다.

메서드

__call__ (스파크_컨텍스트, 데이터_프레임, 소스_열, kms_key_arn, Entity_Type_Filter=없음, Preserve_Data_Type=없음)

Encrypt변환은 키 관리 서비스 키를 사용하여 소스 열을 AWS 암호화합니다.

  • source_columns— 기존 열의 배열.

  • kms_key_arn— 소스 열을 암호화하는 데 사용할 AWS 키 관리 서비스 키의 키 ARN입니다.

  • entity_type_filter— 엔티티 유형의 선택적 배열. 감지된 PII만 자유 텍스트 열에서 암호화하는 데 사용할 수 있습니다.

  • preserve_data_type— 선택적 부울. 기본값은 true입니다. false인 경우 데이터 유형이 저장되지 않습니다.

apply(cls, *args, **kwargs)

GlueTransform apply에서 상속됩니다.

name(cls)

GlueTransform 이름에서 상속됩니다.

describeArgs(cls)

GlueTransform describeArgs에서 상속됩니다.

describeReturn(cls)

GlueTransform describeReturn에서 상속됩니다.

describeTransform(cls)

GlueTransform describeTransform에서 상속됩니다.

describeErrors(cls)

GlueTransform describeErrors에서 상속됩니다.

describe(cls)

GlueTransform describe에서 상속됩니다.