영어 버전 문서로 돌아가기
애플리케이션의 키 관리
애플리케이션의 키 관리
마지막 업데이트 날짜: 2024년 10월 04일
이 주제는 애플리케이션에서 열 암호화 키를 관리하는 방법을 설명합니다. 마스터 키를 제공하는 방법과 이러한 마스터 키를 사용하여 암호화된 데이터를 읽고 쓰는 방법을 설명합니다.
마스터 키 제공
마스터 키를 제공하려면 다음을 수행하십시오.
다음 형식으로 명시적인 마스터 키를 전달하십시오.
parameter name: "encryption.key.list" parameter value: "<master key ID>:<master key (base64)> , <master key ID>:<master key (base64)>.."
예를 들어,
sc.hadoopConfiguration.set("encryption.key.list" , "k1:iKwfmI5rDf7HwVBcqeNE6w== , k2:LjxH/aXxMduX6IQcwQgOlw== , k3:rnZHCxhUHr79Y6zvQnxSEQ==")
base64 인코딩 앞의 마스터 키 길이는 16, 24 또는 32바이트(128, 192 또는 256비트)입니다.
암호화된 데이터 쓰기
암호화된 데이터를 쓰려면 다음을 수행하십시오.
암호화할 열과 사용할 마스터 키를 지정하십시오.
parameter name: "encryption.column.keys" parameter value: "<master key ID>:<column>,<column>;<master key ID>:<column> .."
푸터 키를 지정하십시오.
parameter name: "encryption.footer.key" parameter value: "<master key ID>"
예를 들어,
dataFrame.write .option("encryption.footer.key" , "k1") .option("encryption.column.keys" , "k2:SSN,Address;k3:CreditCard") .parquet("<path to encrypted files>")
참고: ` "" `는 URL에 문자열 ` .encrypted `를 포함해야 합니다 (예: `/path/to/my_table.parquet.encrypted`). ` "encryption.column.keys" ` 매개변수 또는 ` "encryption.footer.key" ` 매개변수가 설정되지 않으면 예외가 발생합니다.
암호화된 데이터 읽기
필요한 메타데이터는 암호화된 Parquet 파일에 저장되어 있습니다.
암호화된 데이터를 읽으려면 다음을 수행하십시오.
암호화 키를 제공하십시오.
sc.hadoopConfiguration.set("encryption.key.list" , "k1:iKwfmI5rDf7HwVBcqeNE6w== , k2:LjxH/aXxMduX6IQcwQgOlw== , k3:rnZHCxhUHr79Y6zvQnxSEQ==")
다음과 같은 일반 Parquet 읽기 명령을 호출하십시오.
val dataFrame = spark.read.parquet("<path to encrypted files>")
참고: ` "" `는 URL에 문자열 ` .encrypted `를 포함해야 합니다 (예: `/path/to/my_table.parquet.encrypted`).
상위 주제: Parquet 암호화
주제가 도움이 되었습니까?
0/1000