이 문서에서는 Unity 카탈로그를 사용하여 경로에서 s3a://
파일을 읽기 위해 KMS 키를 사용하여 서버 쪽 암호화를 구성하는 방법을 설명합니다. 암호화된 S3 버킷의 외부 테이블 및 볼륨에 대한 클라우드 간 액세스가 필요한 사용자를 위해 제공됩니다.
Unity 카탈로그를 사용하여 S3에 대한 암호화 구성
Unity 카탈로그의 외부 테이블 및 볼륨이 S3의 데이터에 액세스할 수 있도록 서버 쪽 암호화를 구성할 수 있습니다. 델타 공유를 사용하여 공유되는 외부 테이블에서는 SSE 암호화가 지원되지 않습니다.
1단계: AWS에서 KMS 키 정책 업데이트
S3에서 데이터를 보호하기 위해 AWS는 Amazon S3 관리형 키(SSE-S3) 또는 AWS KMS 키(SSE-KMS)를 사용하여 SSE(서버 쪽 암호화)를 지원합니다. AWS S3 관리형 키를 사용하는 경우 2단계로 건너뜁니다.
AWS에서 KMS 서비스로 이동합니다.
사용 권한을 추가할 키를 클릭합니다.
키 정책 섹션에서 정책 보기로 전환을 선택합니다.
예를 들어 S3에서 키를 사용할 수 있도록 하는 키 정책 섹션을 편집합니다.
{ "Sid": "Allow access through S3 for all principals in the account that are authorized to use S3", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "<AWS ACCOUNT ID>", "kms:ViaService": "s3.<REGION>.amazonaws.com" } } },
클릭하여 변경 내용 저장.
2단계: Unity 카탈로그를 사용하여 S3에 대한 액세스 구성
Azure Data Lake Storage에 연결하기 위한 스토리지 자격 증명 만들기의 지침을 사용하여 S3에 연결할 스토리지 자격 증명을 만듭니다.
S3 버킷과 동일한 계정에 IAM 정책을 만들어야 합니다. SSE-KMS를 사용하는 경우 정책에 다음을 포함합니다.
{ "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": [ "arn:aws:kms:<KMS-KEY>" ], "Effect": "Allow" },
1단계: IAM 역할 만들기를 참조하세요.
외부 위치 만들기의 지침에 따라 클라우드 스토리지를 Azure Databricks에 연결하여 S3에 연결할 외부 위치를 만듭니다.
외부 위치에서 암호화 알고리즘 구성의 지침( AWS S3에만 해당)을 사용하여 외부 위치에서 서버 쪽 암호화를 구성합니다.