명명된 리소스 방법을 사용하여 테이블 권한 부여
Lake Formation 콘솔 또는 AWS CLI를 사용하여 데이터 카탈로그 테이블에 대해 Lake Formation 권한을 부여할 수 있습니다. 개별 테이블에 권한을 부여하거나 단일 권한 부여 작업으로 데이터베이스의 모든 테이블에 권한을 부여할 수 있습니다.
데이터베이스의 모든 테이블에 대해 권한을 부여하면 데이터베이스에 대한 DESCRIBE
권한이 암시적으로 부여됩니다. 그러면 데이터베이스가 콘솔의 데이터베이스 페이지에 나타나고 GetDatabases
API 작업에 의해 반환됩니다.
부여할 권한으로 SELECT
를 선택하면 열 필터, 행 필터 또는 셀 필터를 적용할 수 있는 옵션이 제공됩니다.
- Console
-
다음 단계는 명명된 리소스 방법과 Lake Formation 콘솔의 데이터 레이크 권한 부여 페이지를 사용하여 테이블 권한을 부여하는 방법을 설명합니다. 이 페이지는 다음과 같은 섹션으로 나뉘어 있습니다.
-
보안 주체 - 권한을 부여할 사용자, 역할, AWS 계정, 조직 또는 조직 단위.
-
LF 태그 또는 카탈로그 리소스 - 권한을 부여할 데이터베이스, 테이블 또는 리소스 링크.
-
권한 - 부여할 Lake Formation 권한.
참고
테이블 리소스 링크에 대한 권한을 부여하려면 리소스 링크 권한 부여 섹션을 참조하세요.
데이터 레이크 권한 부여 페이지를 엽니다.
AWS Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/
)을 열고 데이터 레이크 관리자, 테이블 생성자 또는 권한 부여 옵션으로 테이블에 대한 권한을 부여받은 사용자로 로그인합니다. 다음 중 하나를 수행합니다.
-
탐색 창의 권한에서 데이터 레이크 권한을 선택합니다. 그런 다음 권한 부여를 선택합니다.
-
탐색 창에서 테이블을 선택합니다. 그런 다음 테이블 페이지에서 테이블을 선택하고 작업 메뉴의 권한에서 권한 부여를 선택합니다.
참고
리소스 링크를 통해 테이블에 대한 권한을 부여할 수 있습니다. 이렇게 하려면 테이블 페이지에서 리소스 링크를 선택하고 작업 메뉴에서 대상에 부여를 선택합니다. 자세한 내용은 Lake Formation에서 리소스 링크가 작동하는 방식 단원을 참조하십시오.
-
-
다음으로 보안 주체 섹션에서 보안 주체 유형을 선택하고 권한을 부여할 보안 주체를 지정합니다.
- IAM 사용자 및 역할
-
IAM 사용자 및 역할 목록에서 하나 이상의 사용자 또는 역할을 선택합니다.
- IAM Identity Center
-
사용자 및 그룹 목록에서 하나 이상의 사용자 또는 그룹을 선택합니다.
- SAML 사용자 및 그룹
-
SAML 및 Amazon QuickSight 사용자 및 그룹의 경우 SAML을 통해 페더레이션된 사용자 또는 그룹에 대한 하나 이상의 Amazon 리소스 이름(ARN)을 입력하거나 Amazon QuickSight 사용자 또는 그룹에 대한 ARN을 입력합니다. 각 ARN을 입력한 후에 Enter 키를 누릅니다.
ARN을 구성하는 방법에 대한 자세한 내용은 Lake Formation 권한 부여 및 취소 AWS CLI 명령 섹션을 참조하세요.
참고
Lake Formation과 Amazon QuickSight 통합은 Amazon QuickSight Enterprise Edition에서만 지원됩니다.
- 외부 계정
-
AWS 계정, AWS 조직 또는 IAM 보안 주체의 경우 IAM 사용자 또는 역할에 대해 하나 이상의 유효한 AWS 계정 ID, 조직 ID, 조직 단위 ID 또는 ARN을 입력합니다. 각 ID를 입력한 후에 Enter 키를 누릅니다.
조직 ID는 'o-'와 10~32개의 소문자 또는 숫자로 구성됩니다.
조직 단위 ID는 'ou-'로 시작하고 뒤에 4~32개의 소문자 또는 숫자가 옵니다(OU가 포함된 루트의 ID). 이 문자열 뒤에는 두 번째 '-' 문자와 8~32개의 추가 소문자 또는 숫자가 옵니다.
-
LF 태그 또는 카탈로그 리소스 섹션에서 데이터베이스를 선택합니다. 그런 다음 테이블을 하나 이상 선택하거나 모든 테이블을 선택합니다.
-
데이터 필터링 없이 권한 지정
권한 섹션에서 부여할 테이블 권한을 선택하고, 선택 사항으로 부여 가능한 권한을 선택합니다.
선택 권한을 부여하면 테이블 및 열 권한 섹션 아래에 데이터 권한 섹션이 나타납니다. 기본적으로 모든 데이터 액세스 옵션이 선택되어 있습니다. 기본값을 수락합니다.
-
권한 부여를 선택합니다.
-
데이터 필터링과 함께 선택 권한을 지정합니다.
선택 권한을 선택합니다. 다른 권한은 선택하지 마세요.
데이터 권한 섹션은 테이블 및 열 권한 섹션 아래에 표시됩니다.
-
다음 중 하나를 수행합니다.
-
단순 열 필터링만 적용합니다.
-
단순 열 기반 액세스를 선택합니다.
-
열을 포함할지 제외할지 선택한 다음 포함하거나 제외할 열을 선택합니다.
외부 AWS 계정이나 조직에 권한을 부여할 때는 포함 목록만 지원됩니다.
-
(선택 사항) 부여 가능한 권한에서 선택 권한에 대한 권한 부여 옵션을 설정합니다.
권한 부여 옵션을 포함하는 경우 권한 부여 수신자는 사용자가 부여한 열에 대한 권한만 부여할 수 있습니다.
참고
열 필터를 지정하고 모든 행을 행 필터로 지정하는 데이터 필터를 생성하는 경우 열 필터링을 적용할 수도 있습니다. 하지만 이렇게 하려면 더 많은 단계가 필요합니다.
-
-
열, 행 또는 셀 필터링을 적용합니다.
-
고급 셀 수준 필터를 선택합니다.
-
(선택 사항) 기존 권한 보기를 확장합니다.
-
(선택 사항) 새 필터 생성을 선택합니다.
-
(선택 사항) 나열된 필터의 세부 정보를 보거나 새 필터를 생성하거나 기존 필터를 삭제하려면 필터 관리를 선택합니다.
새 브라우저 창에 데이터 필터 페이지가 열립니다.
데이터 필터 페이지에서 작업을 마쳤으면 권한 부여 페이지로 돌아가서 필요한 경우 페이지를 새로 고쳐 새로 생성한 데이터 필터를 확인합니다.
-
권한 부여에 적용할 데이터 필터를 하나 이상 선택합니다.
참고
목록에 데이터 필터가 없다면 선택한 테이블에 대해 생성된 데이터 필터가 없는 것입니다.
-
-
-
권한 부여를 선택합니다.
-
- AWS CLI
-
명명된 리소스 방법과 AWS Command Line Interface(AWS CLI)를 사용하여 테이블 권한을 부여할 수 있습니다.
AWS CLI를 사용하여 테이블 권한을 부여하려면
-
grant-permissions
명령을 실행하고 테이블을 리소스로 지정합니다.
예 - 단일 테이블에 대해 권한 부여 - 필터링 없음
다음 예제는 데이터베이스
retail
의 테이블inventory
에 있는 AWS 계정 1111-2222-3333의 사용자datalake_user1
에게SELECT
및ALTER
권한을 부여합니다.aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
참고
등록된 위치에 기본 데이터가 있는 테이블에
ALTER
권한을 부여하는 경우 해당 위치에 대한 데이터 위치 권한도 보안 주체에 부여해야 합니다. 자세한 내용은 데이터 위치 권한 부여 단원을 참조하십시오.예 - 권한 부여 옵션을 사용하여 모든 테이블에 대해 권한 부여 - 필터링 없음
다음 예제는 데이터베이스
retail
의 모든 테이블에 대해 권한 부여 옵션을 사용하여SELECT
권한을 부여합니다.aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ "Table": { "DatabaseName": "retail", "TableWildcard": {} } }'
예 - 간단한 열 필터링을 통해 권한 부여
다음 예제는
persons
테이블에 있는 열의 하위 집합에 대해SELECT
권한을 부여합니다. 여기서는 간단한 열 필터링을 사용합니다.aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"hr", "Name":"persons", "ColumnNames":["family_name", "given_name", "gender"]}}'
예 - 데이터 필터를 통해 권한 부여
이 예제는
orders
테이블에 대해SELECT
권한을 부여하고restrict-pharma
데이터 필터를 적용합니다.aws lakeformation grant-permissions --cli-input-json file://grant-params.json
다음은
grant-params.json
파일의 내용입니다.{ "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"}, "Resource": { "DataCellsFilter": { "TableCatalogId": "111122223333", "DatabaseName": "sales", "TableName": "orders", "Name": "restrict-pharma" } }, "Permissions": ["SELECT"], "PermissionsWithGrantOption": ["SELECT"] }
-