AWS Glue 및 Lake Formation을 모두 사용하여 교차 계정 권한 관리하기 - AWS Lake Formation

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Glue 및 Lake Formation을 모두 사용하여 교차 계정 권한 관리하기

데이터 카탈로그 리소스 및 기본 데이터에 대한 교차 계정 액세스 권한을 AWS Glue 또는 AWS Lake Formation을 사용하여 부여할 수 있습니다.

AWS Glue에서는 데이터 카탈로그 리소스 정책을 만들거나 업데이트하여 계정 간 권한을 부여합니다. Lake Formation에서는 Lake Formation GRANT/REVOKE 권한 모델과 Grant Permissions API 작업을 사용하여 교차 계정 권한을 부여합니다.

작은 정보

Lake Formation 권한에만 의존하여 데이터 레이크를 보호하는 것이 좋습니다.

Lake Formation 콘솔 또는 AWS Resource Access Manager (AWS RAM) 콘솔을 사용하여 Lake Formation 교차 계정 보조금을 확인할 수 있습니다. 그러나 이러한 콘솔 페이지에는 AWS Glue 데이터 카탈로그 리소스 정책에 의해 부여된 교차 계정 권한이 표시되지 않습니다. 마찬가지로 AWS Glue 콘솔의 설정 페이지를 사용하여 데이터 카탈로그 리소스 정책에서 교차 계정 권한 부여를 볼 수 있지만, 이 페이지에는 Lake Formation을 사용하여 부여된 교차 계정 권한이 표시되지 않습니다.

교차 계정 권한을 보고 관리할 때 권한 부여를 놓치지 않도록 하기 위해, Lake Formation과 AWS Glue는 사용자가 Lake Formation과 AWS Glue의 교차 계정 권한 부여를 인지하고 허용하고 있음을 표시하기 위해 다음 작업을 수행하도록 요구합니다.

AWS Glue 데이터 카탈로그 리소스 정책을 사용하여 교차 계정 권한을 부여하는 경우

계정 (부여자 계정 또는 생산자 계정) 이 리소스를 공유하는 AWS RAM 데 사용되는 교차 계정 부여를 하지 않은 경우, 평소와 같이 Data Catalog 리소스 정책을 저장할 수 있습니다. AWS Glue 그러나 AWS RAM 리소스 공유와 관련된 권한을 이미 부여한 경우 리소스 정책을 성공적으로 저장하려면 다음 중 하나를 수행해야 합니다.

  • AWS Glue 콘솔의 설정 페이지에서 리소스 정책을 저장하면, 정책의 권한이 Lake Formation 콘솔을 사용하여 부여된 모든 권한에 추가된다는 알림이 콘솔에 표시됩니다. 정책을 저장하려면 계속 진행을 선택해야 합니다.

  • glue:PutResourcePolicy API 작업을 사용하여 리소스 정책을 저장하는 경우 EnableHybrid 필드를 'TRUE'(유형 = 문자열)로 설정해야 합니다. 다음 코드 예제는 Python에서 이 작업을 수행하는 방법을 보여줍니다.

    import boto3 import json REGION = 'us-east-2' PRODUCER_ACCOUNT_ID = '123456789012' CONSUMER_ACCOUNT_IDs = ['111122223333'] glue = glue_client = boto3.client('glue') policy = { "Version": "2012-10-17", "Statement": [ { "Sid": "Cataloguers", "Effect": "Allow", "Action": [ "glue:*" ], "Principal": { "AWS": CONSUMER_ACCOUNT_IDs }, "Resource": [ f"arn:aws:glue:{REGION}:{PRODUCER_ACCOUNT_ID}:catalog", f"arn:aws:glue:{REGION}:{PRODUCER_ACCOUNT_ID}:database/*", f"arn:aws:glue:{REGION}:{PRODUCER_ACCOUNT_ID}:table/*/*" ] } ] } policy = json.dumps(policy) glue.put_resource_policy(PolicyInJson=policy, EnableHybrid='TRUE')

    자세한 내용은 개발자 안내서의 PutResourcePolicy 액션 (Python: put_resource_policy) 을 참조하십시오.AWS Glue

Lake Formation 명명된 리소스 방법을 사용하여 교차 계정 권한을 부여하는 경우

계정에 데이터 카탈로그 리소스 정책이 없는 경우 Lake Formation 교차 계정 권한 부여는 평소와 같이 진행됩니다. 그러나 데이터 카탈로그 리소스 정책이 있는 경우, 명명된 리소스 방법을 사용하여 교차 계정 권한 부여가 성공할 수 있도록 하기 위해 다음 명령문을 추가해야 합니다. <region><account-id>유효한 지역 이름과 계정 ID로 바꾸십시오. AWS

{ "Effect": "Allow", "Action": [ "glue:ShareResource" ], "Principal": {"Service": [ "ram.amazonaws.com" ]}, "Resource": [ "arn:aws:glue:<region>:<account-id>:table/*/*", "arn:aws:glue:<region>:<account-id>:database/*", "arn:aws:glue:<region>:<account-id>:catalog" ] }

이 추가 설명이 없으면 Lake Formation 부여는 성공하지만 차단되고 수신자 계정은 부여된 리소스에 액세스할 수 없습니다. AWS RAM

중요

Lake Formation 태그 기반 액세스 제어(LF-TBAC) 방법을 사용하여 계정 간 권한을 부여하는 경우, 최소한 필수 조건에 지정된 권한이 있는 데이터 카탈로그 리소스 정책이 있어야 합니다.

추가 참고: