기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
메타데이터 액세스 제어
Data Catalog 리소스에 대한 액세스 제어의 경우, 다음 논의에서는 Lake Formation 권한을 통한 세분화된 액세스 제어와 IAM 정책을 통한 대략적인 액세스 제어를 가정합니다.
데이터 카탈로그 리소스에 대한 Lake Formation 권한을 부여하는 방법에는 두 가지가 있습니다.
-
지정된 리소스 액세스 제어 — 이 방법을 사용하면 데이터베이스 또는 테이블 이름을 지정하여 특정 데이터베이스 또는 테이블에 대한 권한을 부여합니다. 보조금의 형식은 다음과 같습니다.
[권한 부여 옵션을 사용하여] 리소스에 대한 권한을 주도자에게 부여합니다.
부여 옵션을 사용하면 피부여자가 다른 주체에게 권한을 부여하도록 허용할 수 있습니다.
-
태그 기반 액세스 제어 - 이 방법을 사용하면 데이터 카탈로그 데이터베이스, 테이블 및 열에 하나 이상의 LF 태그를 할당하고 주도자에게 하나 이상의 LF 태그에 대한 권한을 부여합니다. 각 LF-태그는 다음과 같은 키-값 쌍입니다.
department=sales
데이터 카탈로그 리소스의 LF 태그와 일치하는 LF 태그가 있는 보안 주체는 해당 리소스에 액세스할 수 있습니다. 이 방법은 데이터베이스와 테이블 수가 많은 데이터 레이크에 사용하는 것이 좋습니다. 에 자세히 설명되어 Lake Formation 태그 기반 액세스 제어 있습니다.
주체가 리소스에 대해 갖는 권한은 두 메서드에서 부여한 권한을 합친 것입니다.
다음 표에는 데이터 카탈로그 리소스에서 사용 가능한 Lake Formation 권한이 요약되어 있습니다. 열 제목은 권한이 부여된 리소스를 나타냅니다.
카탈로그 | 데이터베이스 | 표 |
---|---|---|
CREATE_DATABASE |
CREATE_TABLE |
ALTER |
ALTER |
DROP |
|
DROP |
DESCRIBE |
|
DESCRIBE |
SELECT * |
|
INSERT * |
||
DELETE * |
예를 들어, 데이터베이스에 CREATE_TABLE
권한이 부여됩니다. 즉, 주도자는 해당 데이터베이스에 테이블을 생성할 수 있습니다.
별표 (*) 가 있는 권한은 Data Catalog 리소스에 부여되지만 기본 데이터에도 적용됩니다. 예를 들어 메타데이터 테이블에 대한 DROP
권한을 사용하면 데이터 카탈로그에서 테이블을 삭제할 수 있습니다. 하지만 동일한 테이블에 DELETE
권한이 부여되면 예를 들어 DELETE
SQL 문을 사용하여 Amazon S3에서 테이블의 기본 데이터를 삭제할 수 있습니다. 이러한 권한이 있으면 Lake Formation 콘솔에서 테이블을 보고 AWS Glue API를 사용하여 테이블에 대한 정보를 검색할 수도 있습니다. 따라서, SELECT
INSERT
, DELETE
는 모두 데이터 카탈로그 권한과 데이터 액세스 권한입니다.
테이블에 권한을 부여하는 SELECT
경우 하나 이상의 열을 포함하거나 제외하는 필터를 추가할 수 있습니다. 이를 통해 메타데이터 테이블 열에 대한 세밀한 액세스 제어가 가능하여 통합 서비스 사용자가 쿼리를 실행할 때 볼 수 있는 열을 제한할 수 있습니다. IAM 정책만으로는 이 기능을 사용할 수 없습니다.
이름이 지정된 Super
특수 권한도 있습니다. Super
권한을 통해 주체는 권한이 부여된 데이터베이스 또는 테이블에서 지원되는 모든 Lake Formation 작업을 수행할 수 있습니다. 이 권한은 다른 Lake Formation 권한과 함께 사용할 수 있습니다. 예를 들어 메타데이터 테이블에 Super
SELECT
, 및 INSERT
를 부여할 수 있습니다. 보안 주체는 테이블에서 지원되는 모든 작업을 수행할 수 있으며Super
, 취소해도 SELECT
및 INSERT
권한은 그대로 유지됩니다.
각 권한에 대한 자세한 내용은 을 참조하십시오. 호수 형성 권한 참조
중요
다른 사용자가 만든 데이터 카탈로그 테이블을 보려면 해당 테이블에 대해 하나 이상의 Lake Formation 권한을 부여받아야 합니다. 테이블에 대해 하나 이상의 권한을 부여받은 경우 테이블의 포함된 데이터베이스도 볼 수 있습니다.
Lake Formation 콘솔, API 또는 AWS Command Line Interface () AWS CLI 를 사용하여 데이터 카탈로그 권한을 부여하거나 취소할 수 있습니다. 다음은 데이터베이스에 테이블을 생성할 수 있는 datalake_user1
권한을 사용자에게 부여하는 AWS CLI 명령의 retail
예입니다.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
다음은 Lake Formation 권한으로 세분화된 액세스 제어를 보완하는 대략적인 액세스 제어 IAM 정책의 예입니다. 모든 메타데이터 데이터베이스 또는 테이블에 대한 모든 작업을 허용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*Database*", "glue:*Table*", "glue:*Partition*" ], "Resource": "*" } ] }
다음 예시도 복잡하지만 좀 더 제한적입니다. 지정된 계정 및 지역의 데이터 카탈로그에 있는 모든 메타데이터 데이터베이스 및 테이블에 대한 읽기 전용 작업을 허용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": "arn:aws:glue:us-east-1:111122223333:*" } ] }
이러한 정책을 IAM 기반의 세분화된 액세스 제어를 구현하는 다음 정책과 비교해 보십시오. 지정된 계정 및 지역의 고객 관계 관리 (CRM) 메타데이터 데이터베이스에 있는 테이블의 하위 집합에 대한 권한만 부여합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/CRM", "arn:aws:glue:us-east-1:111122223333:table/CRM/P*" ] } ] }
세부적인 액세스 제어 정책의 추가 예는 을 참조하십시오. Lake Formation 페르소나 및 IAM 권한 레퍼런스