계정과 공유되는 데이터베이스 또는 테이블에 대한 권한 부여
다른 AWS 계정에 속한 데이터 카탈로그 리소스를 AWS 계정과 공유한 후에는 데이터 레이크 관리자로서 내 계정의 다른 보안 주체에게 공유 리소스에 대한 권한을 부여할 수 있습니다. 하지만 리소스에 대한 권한을 다른 AWS 계정이나 조직에 부여할 수는 없습니다.
AWS Lake Formation 콘솔, API 또는 AWS Command Line Interface(AWS CLI)를 사용하여 권한을 부여할 수 있습니다.
공유 데이터베이스(명명된 리소스 방법, 콘솔)에 대한 권한 부여
-
명명된 리소스 방법을 사용하여 데이터베이스 권한 부여의 지침을 따르세요. LF 태그 또는 카탈로그 리소스 아래의 데이터베이스 목록에서 데이터베이스의 리소스 링크가 아닌 외부 계정의 데이터베이스를 선택했는지 확인합니다.
데이터베이스 목록에 데이터베이스가 표시되지 않으면 데이터베이스에 대한 AWS Resource Access Manager(AWS RAM) 리소스 공유 초대를 수락했는지 확인합니다. 자세한 내용은 AWS RAM에서 리소스 공유 초대 수락 단원을 참조하십시오.
또한
CREATE_TABLE
및ALTER
권한의 경우 데이터 위치 권한 부여(동일 계정)의 지침을 따르고 등록된 계정 위치 필드에 소유 계정 ID를 입력해야 합니다.
공유 테이블(명명된 리소스 방법, 콘솔)에 대한 권한 부여
-
명명된 리소스 방법을 사용하여 테이블 권한 부여의 지침을 따르세요. LF 태그 또는 카탈로그 리소스 아래의 데이터베이스 목록에서 데이터베이스의 리소스 링크가 아닌 외부 계정의 데이터베이스를 선택했는지 확인합니다.
테이블 목록에 테이블이 표시되지 않으면 테이블에 대한 AWS RAM 리소스 공유 초대를 수락했는지 확인합니다. 자세한 내용은 AWS RAM에서 리소스 공유 초대 수락 단원을 참조하십시오.
또한
ALTER
권한의 경우, 데이터 위치 권한 부여(동일 계정)의 지침을 따르고 등록된 계정 위치 필드에 소유 계정 ID를 입력해야 합니다.
공유 리소스(LF-TBAC 방법, 콘솔)에 대한 권한을 얻으려면
-
데이터 카탈로그 권한 부여 의 지침을 따르세요. LF 태그 또는 카탈로그 리소스 섹션에서 외부 계정이 내 계정에 부여한 정확한 LF 태그 표현식 또는 해당 표현식의 하위 집합을 부여합니다.
예를 들어 외부 계정에서 부여 옵션을 사용하여 내 계정에 LF 태그 표현식
module=customers AND environment=production
을 부여한 경우, 데이터 레이크 관리자는 계정의 보안 주체에 동일한 표현식 또는module=customers
또는environment=production
을 부여할 수 있습니다. LF 태그 표현식을 통해 리소스에 부여된 Lake Formation 권한과 동일하거나 하위 집합(예:SELECT
,ALTER
등)만 부여할 수 있습니다.
공유 테이블(명명된 리소스 방법, AWS CLI)에 대한 권한 부여
-
다음과 유사한 명령을 입력합니다. 이 예에서는
-
AWS 계정 ID는 1111-2222-3333입니다.
-
테이블을 소유하고 내 계정에 테이블을 부여한 계정은 1234-5678-9012입니다.
-
공유 테이블
pageviews
에 대한SELECT
권한이 사용자datalake_user1
에게 부여되고 있습니다. 해당 사용자는 계정의 보안 주체입니다. -
pageviews
테이블은 계정 1234-5678-9012가 소유한analytics
데이터베이스에 있습니다.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"CatalogId":"123456789012", "DatabaseName":"analytics", "Name":"pageviews"}}'
단,
resource
인수의CatalogId
속성에 소유 계정을 지정해야 합니다. -