기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Glue 데이터 권한을 AWS Lake Formation 모델로 업그레이드
AWS Lake Formation 권한을 사용하면 데이터 레이크의 데이터에 대한 세분화된 액세스 제어가 가능합니다. Lake Formation 권한 모델을 사용하여 Amazon Simple Storage Service(S3)에서 기존 AWS Glue Data Catalog 객체와 데이터 위치를 관리할 수 있습니다.
Lake Formation 권한 모델은 API 서비스 액세스에 대해 대략적인 AWS Identity and Access Management(IAM) 권한을 사용합니다. Lake Formation은 Lake Formation의 데이터 필터링 및 셀 수준 보안 기능을 사용하여 사용자 및 애플리케이션의 열, 행 및 셀 수준에서 테이블 액세스를 제한합니다. 이와 달리 AWS Glue 모델은 ID 기반 및 리소스 기반 IAM 정책을 통해 데이터 액세스 권한을 부여합니다.
전환하려면 이 안내서의 단계를 따르세요.
자세한 내용은 Lake Formation 권한 개요 단원을 참조하십시오.
기본 권한 정보
AWS Glue와의 하위 버전 호환성을 유지하기 위해 기본적으로 AWS Lake Formation은 기존의 모든 AWS Glue 데이터 카탈로그 리소스에 대한 Super
권한을 IAMAllowedPrincipals
그룹에 부여하고, IAM 액세스 제어만 사용 설정이 활성화된 경우 새 데이터 카탈로그 리소스에 대한 Super
권한을 부여합니다. 이로 인해 데이터 카탈로그 리소스 및 Amazon S3 위치에 대한 액세스가 AWS Identity and Access Management(IAM) 정책에 의해서만 효과적으로 제어됩니다. IAMAllowedPrincipals
그룹에는 IAM 정책에 따라 데이터 카탈로그 객체에 대한 액세스가 허용된 모든 IAM 사용자 및 역할이 포함됩니다. Super
권한을 사용하면 보안 주체는 해당 권한이 부여된 데이터베이스 또는 테이블에서 지원되는 모든 Lake Formation 작업을 수행할 수 있습니다.
Lake Formation에 기존 데이터 카탈로그 리소스의 위치를 등록하거나 하이브리드 액세스 모드를 사용하여 Lake Formation으로 데이터에 대한 액세스를 관리할 수 있습니다. 하이브리드 액세스 모드에서 Amazon S3 위치를 등록하면 해당 위치 아래의 데이터베이스 및 테이블에 대한 보안 주체를 선택하여 Lake Formation 권한을 활성화할 수 있습니다.
데이터 레이크 권한을 IAM 및 Amazon S3 모델에서 Lake Formation 권한으로 쉽게 전환하려면 데이터 카탈로그에 대해 하이브리드 액세스 모드를 사용하는 것이 좋습니다. 하이브리드 액세스 모드를 사용하면 다른 기존 사용자 또는 워크로드를 중단하지 않고도 특정 사용자 집합에 대해 Lake Formation 권한을 활성화할 수 있는 증분 경로가 제공됩니다.
자세한 내용은 하이브리드 액세스 모드 단원을 참조하십시오.
기본 데이터 카탈로그 설정을 비활성화하면 테이블의 모든 기존 사용자를 Lake Formation으로 한 번에 이동할 수 있습니다.
기존 AWS Glue 데이터 카탈로그 데이터베이스 및 테이블에서 Lake Formation 권한을 사용하려면 다음을 수행해야 합니다.
-
각 데이터베이스 및 테이블에 대한 사용자의 기존 IAM 권한을 확인합니다.
-
Lake Formation에서 이러한 권한을 복제합니다.
-
데이터가 포함된 각 Amazon S3 위치의 경우:
-
해당 위치를 참조하는 각 데이터 카탈로그 리소스에 대한
IAMAllowedPrincipals
그룹의Super
권한을 취소합니다. -
Lake Formation에 위치를 등록합니다.
-
-
기존의 세분화된 액세스 제어 IAM 정책을 정리합니다.
중요
데이터 카탈로그를 전환하는 동안 새 사용자를 추가하려면 이전과 같이 IAM에서 세부적인 AWS Glue 권한을 설정해야 합니다. 또한 이 섹션에 설명된 대로 Lake Formation에서 이러한 권한을 복제해야 합니다. 새로운 사용자가 이 안내서에 설명된 대략적인 IAM 정책을 가지고 있는 경우 해당 사용자는 IAMAllowedPrincipals
에 부여된 Super
권한이 있는 데이터베이스 또는 테이블을 나열할 수 있습니다. 또한 해당 리소스의 메타데이터도 볼 수 있습니다.
이 섹션의 단계에 따라 Lake Formation 권한 모델로 업그레이드하세요.
주제
1단계: 사용자 및 역할의 기존 권한 나열
기존 AWS Glue 데이터베이스 및 테이블에서 AWS Lake Formation 권한을 사용하려면 먼저 사용자의 기존 권한을 확인해야 합니다.
중요
시작하기 전에 Lake Formation 시작하기 섹션의 작업을 완료하세요.
API 작업 사용
AWS Identity and Access Management(IAM) ListPoliciesGrantingServiceAccess API 작업을 사용하여 각 보안 주체(사용자 또는 역할)에 연결된 IAM 정책을 결정합니다. 결과에 반환된 정책을 통해 보안 주체에 부여된 IAM 권한을 확인할 수 있습니다. 각 보안 주체에 대해 개별적으로 API를 호출해야 합니다.
다음 AWS CLI 예제는 사용자 glue_user1
에 연결된 정책을 반환합니다.
aws iam list-policies-granting-service-access --arn arn:aws:iam::111122223333:user/glue_user1 --service-namespaces glue
이 명령은 다음과 유사한 결과를 반환합니다.
{ "PoliciesGrantingServiceAccess": [ { "ServiceNamespace": "glue", "Policies": [ { "PolicyType": "INLINE", "PolicyName": "GlueUserBasic", "EntityName": "glue_user1", "EntityType": "USER" }, { "PolicyType": "MANAGED", "PolicyArn": "arn:aws:iam::aws:policy/AmazonAthenaFullAccess", "PolicyName": "AmazonAthenaFullAccess" } ] } ], "IsTruncated": false }
AWS Management Console 사용
AWS Identity and Access Management(IAM) 콘솔의 사용자 또는 역할 요약 페이지에 있는 액세스 관리자 탭에서도 이 정보를 볼 수 있습니다.
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 사용자 또는 역할을 선택합니다.
-
목록에서 이름을 선택하여 해당 요약 페이지를 열고 액세스 관리자 탭을 선택합니다.
-
각 정책을 검사하여 각 사용자에게 권한이 있는 데이터베이스, 테이블 및 작업의 조합을 결정합니다.
데이터 처리 작업에서 데이터에 액세스하는 역할을 맡을 수 있으므로 이 프로세스 중에는 사용자 외에 역할도 검사해야 합니다.
AWS CloudTrail 사용하기
기존 권한을 확인하는 또 다른 방법은 로그의 additionaleventdata
필드에 insufficientLakeFormationPermissions
항목이 포함된 AWS Glue API 호출을 AWS CloudTrail에서 찾는 것입니다. 이 항목은 사용자가 동일한 작업을 수행하기 위해 Lake Formation 권한이 필요한 데이터베이스와 테이블을 나열합니다.
이것은 데이터 액세스 로그이므로 사용자 및 해당 권한의 포괄적인 목록을 생성하지 못할 수 있습니다. 사용자의 데이터 액세스 패턴 대부분을 캡처할 수 있는 넓은 시간 범위(예: 몇 주 또는 몇 개월)를 선택하는 것이 좋습니다.
자세한 내용은 AWS CloudTrail 사용 설명서에서 CloudTrail 이벤트 기록을 사용하여 이벤트 보기를 참조하세요.
다음으로, AWS Glue 권한과 일치하도록 Lake Formation 권한을 설정할 수 있습니다. 2단계: 동등한 Lake Formation 권한 설정 섹션을 참조하세요.
2단계: 동등한 Lake Formation 권한 설정
1단계: 사용자 및 역할의 기존 권한 나열에서 수집된 정보를 사용하여 AWS Glue 권한과 일치하는 AWS Lake Formation 권한을 부여합니다. 다음과 같은 방법으로 권한 부여를 수행할 수 있습니다.
-
Lake Formation 콘솔 또는 AWS CLI를 사용합니다.
데이터 카탈로그 리소스에 대한 권한 부여 섹션을 참조하세요.
-
GrantPermissions
또는BatchGrantPermissions
API 작업을 사용합니다.권한 API 섹션을 참조하세요.
자세한 내용은 Lake Formation 권한 개요 단원을 참조하십시오.
Lake Formation 권한을 설정했으면 3단계: 사용자에게 Lake Formation을 사용할 수 있는 IAM 권한 부여 섹션으로 진행합니다.
3단계: 사용자에게 Lake Formation을 사용할 수 있는 IAM 권한 부여
AWS Lake Formation 권한 모델을 사용하려면 보안 주체가 Lake Formation API에 대한 AWS Identity and Access Management(IAM) 권한을 가지고 있어야 합니다.
IAM에서 다음 정책을 생성하여 데이터 레이크에 액세스해야 하는 모든 사용자에게 연결합니다. 정책 이름을 LakeFormationDataAccess
로 지정합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }
다음으로, 한 번에 하나씩 데이터 위치를 Lake Formation 권한으로 업그레이드합니다. 4단계: 데이터 스토어를 Lake Formation 권한 모델로 전환 섹션을 참조하세요.
4단계: 데이터 스토어를 Lake Formation 권한 모델로 전환
한 번에 하나씩 데이터 위치를 Lake Formation 권한으로 업그레이드합니다. 그렇게 하려면 데이터 카탈로그에서 참조하는 모든 Amazon Simple Storage Service(S3) 경로를 등록할 때까지 이 전체 섹션을 반복합니다.
Lake Formation 권한 확인
위치를 등록하기 전에 확인 단계를 수행하여 올바른 보안 주체에게 필요한 Lake Formation 권한이 있는지 그리고 권한이 없어야 하는 보안 주체에게는 Lake Formation 권한이 부여되지 않았는지 확인합니다. Lake Formation GetEffectivePermissionsForPath
API 작업을 사용하여 Amazon S3 위치를 참조하는 데이터 카탈로그 리소스와 해당 리소스에 대한 권한이 있는 보안 주체를 식별합니다.
다음 AWS CLI 예제는 Amazon S3 버킷 products
를 참조하는 데이터 카탈로그 데이터베이스 및 테이블을 반환합니다.
aws lakeformation get-effective-permissions-for-path --resource-arn arn:aws:s3:::products --profile datalake_admin
profile
옵션을 기록해 둡니다. 데이터 레이크 관리자로 명령을 실행하는 것이 좋습니다.
다음은 반환된 결과에서 발췌한 내용입니다.
{ "PermissionsWithGrantOption": [ "SELECT" ], "Resource": { "TableWithColumns": { "Name": "inventory_product", "ColumnWildcard": {}, "DatabaseName": "inventory" } }, "Permissions": [ "SELECT" ], "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1", "DataLakePrincipalType": "IAM_USER" } },...
중요
AWS Glue 데이터 카탈로그가 암호화되면 GetEffectivePermissionsForPath
는 Lake Formation 정식 출시 이후에 생성되거나 수정된 데이터베이스 및 테이블만 반환합니다.
기존 데이터 카탈로그 리소스 보호
다음으로, 해당 위치에 대해 식별한 각 테이블과 데이터베이스에 대해 IAMAllowedPrincipals
의 Super
권한을 취소합니다.
주의
데이터 카탈로그에 데이터베이스와 테이블을 생성하는 자동화 기능이 있는 경우 다음 단계를 수행하면 자동화 및 다운스트림 추출, 전환, 적재(ETL) 작업이 실패할 수 있습니다. 기존 프로세스를 수정했거나 필수 보안 주체에게 명시적인 Lake Formation 권한을 부여한 경우에만 진행하세요. Lake Formation 권한에 대한 자세한 내용은 Lake Formation 권한 참조 섹션을 참조하세요.
테이블에 대해 IAMAllowedPrincipals
의 Super
권한을 취소하려면
-
AWS Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/
)을 엽니다. 데이터 레이크 관리자로 로그인합니다. -
탐색 창에서 테이블을 선택합니다.
-
테이블 페이지에서 원하는 테이블 옆의 라디오 버튼을 선택합니다.
-
작업 메뉴에서 취소를 선택합니다.
-
권한 취소 대화 상자의 IAM 사용자 및 역할 목록에서 그룹 제목까지 아래로 스크롤하여 IAMAllowedPrincipals를 선택합니다.
-
테이블 권한에서 슈퍼가 선택되어 있는지 확인한 다음 취소를 선택합니다.
데이터베이스에 대해 IAMAllowedPrincipals
의 Super
권한을 취소하려면
-
AWS Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/
)을 엽니다. 데이터 레이크 관리자로 로그인합니다. -
탐색 창에서 Databases(데이터베이스)를 선택합니다.
-
데이터베이스 페이지에서 원하는 데이터베이스 옆의 라디오 버튼을 선택합니다.
-
[Actions] 메뉴에서 [Edit]을 선택합니다.
-
데이터베이스 편집 페이지에서 이 데이터베이스의 새 테이블에 대해 IAM 액세스 제어만 사용을 선택 취소한 다음 저장을 선택합니다.
-
데이터베이스 페이지로 돌아가서 데이터베이스가 계속 선택되어 있는지 확인한 다음 작업 메뉴에서 취소를 선택합니다.
-
권한 취소 대화 상자의 IAM 사용자 및 역할 목록에서 그룹 제목까지 아래로 스크롤하여 IAMAllowedPrincipals를 선택합니다.
-
데이터베이스 권한에서 슈퍼가 선택되어 있는지 확인한 다음 취소를 선택합니다.
Amazon S3 위치에 대한 Lake Formation 권한 설정
다음으로, Lake Formation에 Amazon S3 위치를 등록합니다. 이를 위해 데이터 레이크에 Amazon S3 위치 추가에 설명된 프로세스를 사용할 수 있습니다. 또는 보안 인증 정보 벤딩 API에 설명된 RegisterResource
API 작업을 사용합니다.
참고
상위 위치가 등록된 경우 하위 위치를 등록할 필요가 없습니다.
이러한 단계를 완료하고 사용자가 데이터에 액세스할 수 있는지 테스트했다면 Lake Formation 권한으로 업그레이드된 것입니다. 다음 단계 5단계: 새 데이터 카탈로그 리소스 보호에서 계속합니다.
5단계: 새 데이터 카탈로그 리소스 보호
다음으로, 기본 데이터 카탈로그 설정을 변경하여 모든 새 데이터 카탈로그 리소스를 보호합니다. 새 데이터베이스 및 테이블에 대해 AWS Identity and Access Management(IAM) 액세스 제어만 사용하려면 옵션을 해제합니다.
주의
데이터 카탈로그에 데이터베이스와 테이블을 생성하는 자동화 기능이 있는 경우 다음 단계를 수행하면 자동화 및 다운스트림 추출, 전환, 적재(ETL) 작업이 실패할 수 있습니다. 기존 프로세스를 수정했거나 필수 보안 주체에게 명시적인 Lake Formation 권한을 부여한 경우에만 진행하세요. Lake Formation 권한에 대한 자세한 내용은 Lake Formation 권한 참조 섹션을 참조하세요.
기본 데이터 카탈로그 설정을 변경하려면
-
AWS Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/
)을 엽니다. IAM 관리 사용자(사용자 Administrator
또는AdministratorAccess
AWS 관리형 정책을 사용하는 다른 사용자)로 로그인합니다. -
탐색 창에서 설정을 선택합니다.
-
데이터 카탈로그 설정 페이지에서 두 확인란의 선택을 모두 취소한 다음 저장을 선택합니다.
다음 단계는 향후 사용자에게 추가 데이터베이스 또는 테이블에 대한 액세스 권한을 부여하는 것입니다. 6단계: 사용자에게 향후 데이터 레이크 액세스를 위한 새 IAM 정책 제공 섹션을 참조하세요.
6단계: 사용자에게 향후 데이터 레이크 액세스를 위한 새 IAM 정책 제공
나중에 추가 데이터 카탈로그 데이터베이스 또는 테이블에 대한 액세스 권한을 사용자에게 부여하려면 다음과 같은 대략적인 AWS Identity and Access Management(IAM) 인라인 정책을 제공해야 합니다. 정책 이름을 GlueFullReadAccess
로 지정합니다.
중요
데이터 카탈로그의 모든 데이터베이스와 테이블에 대해 IAMAllowedPrincipals
에서 Super
을 취소하기 전에 이 정책을 사용자에게 연결하면 해당 사용자는 Super
권한이 IAMAllowedPrincipals
에 부여된 모든 리소스에 대한 모든 메타데이터를 볼 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueFullReadAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions" ], "Resource": "*" } ] }
참고
이 단계와 이전 단계에서 지정된 인라인 정책에는 최소한의 IAM 권한이 포함되어 있습니다. 데이터 레이크 관리자, 데이터 분석가 및 기타 사용자를 위한 권장 정책은 Lake Formation 페르소나 및 IAM 권한 참조 섹션을 참조하세요.
다음으로 7단계: 기존 IAM 정책 정리 섹션으로 진행합니다.
7단계: 기존 IAM 정책 정리
AWS Lake Formation 권한을 설정하고 대략적인 액세스 제어 AWS Identity and Access Management(IAM) 정책을 생성 및 연결한 후에는 다음 마지막 단계를 완료합니다.
-
Lake Formation에서 복제했던 이전의 세분화된 액세스 제어 IAM 정책을 사용자, 그룹 및 역할에서 제거합니다.
이렇게 하면 해당 보안 주체가 Amazon Simple Storage Service(S3)의 데이터에 더 이상 직접 액세스할 수 없게 됩니다. 그런 다음 Lake Formation을 통해 해당 보안 주체에 대한 데이터 레이크 액세스를 완전히 관리할 수 있습니다.