기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
설정 AWS Lake Formation
다음 섹션에서는 Lake Formation 처음 설정에 대한 정보를 제공합니다. Lake Formation 사용을 시작할 때 이 섹션의 모든 주제가 필요한 것은 아닙니다. 지침을 사용하여 Lake Formation 권한 모델을 설정하여 Amazon Simple Storage Service(Amazon S3)에서 기존 AWS Glue Data Catalog 객체 및 데이터 위치를 관리할 수 있습니다.
이 섹션에서는 Lake Formation 리소스를 설정하는 두 가지 방법을 보여줍니다.
AWS CloudFormation 템플릿 사용
Lake Formation 콘솔 사용
AWS 콘솔을 사용하여 Lake Formation을 설정하려면 로 이동합니다데이터 레이크 관리자 생성.
AWS CloudFormation 템플릿을 사용하여 Lake Formation 리소스 설정
참고
AWS CloudFormation 스택은 2단계와 5단계를 제외하고 위의 1~6단계를 수행합니다. Lake Formation 콘솔에서 기본 권한 모델 변경 또는 하이브리드 액세스 모드 사용 및 를 IAM Identity Center 통합 수동으로 수행합니다.
미국 동부(버지니아 북부) 리전의 IAM 관리자로 https://console.aws.amazon.com/cloudformation
에서 AWS CloudFormation 콘솔에 로그인합니다. 스택 시작
을 선택합니다. 스택 생성 화면에서 다음을 선택합니다.
스택 이름을 입력합니다.
DatalakeAdminName 및 에 데이터 레이크 관리자 사용자의 사용자 이름과 암호를 DatalakeAdminPassword입력합니다.
DatalakeUser1Name 및 DatalakeUser1Password 에 데이터 레이크 분석가 사용자의 사용자 이름과 암호를 입력합니다.
에 생성할 새 버킷 이름을 DataLakeBucketName입력합니다.
Next(다음)를 선택합니다.
다음 페이지에서 다음을 선택합니다.
마지막 페이지의 세부 정보를 검토하고 가 IAM 리소스를 생성할 AWS CloudFormation 수 있음을 인정함을 선택합니다.
생성(Create)을 선택합니다.
스택 생성에는 최대 2분이 걸릴 수 있습니다.
리소스 정리
AWS CloudFormation 스택 리소스를 정리하려는 경우:
스택에서 생성하고 데이터 레이크 위치로 등록한 Amazon S3 버킷을 등록 취소합니다.
AWS CloudFormation 스택을 삭제합니다. 그러면 스택에서 생성된 모든 리소스가 삭제됩니다.
데이터 레이크 관리자 생성
데이터 레이크 관리자는 처음에는 모든 보안 주체 AWS Identity and Access Management (본인 포함IAM)에게 데이터 위치 및 데이터 카탈로그 리소스에 대한 Lake Formation 권한을 부여할 수 있는 유일한 () 사용자 또는 역할입니다. 데이터 레이크 관리자 기능에 대한 자세한 내용은 암시적 Lake Formation 권한 섹션을 참조하세요. 기본적으로 Lake Formation에서는 최대 30명의 데이터 레이크 관리자를 생성할 수 있습니다.
Lake Formation 콘솔 또는 Lake Formation 의 PutDataLakeSettings
작업을 사용하여 데이터 레이크 관리자를 생성할 수 있습니다API.
데이터 레이크 관리자를 생성하려면 다음 권한이 필요합니다. Administrator
사용자는 이러한 권한을 암시적으로 가집니다.
-
lakeformation:PutDataLakeSettings
-
lakeformation:GetDataLakeSettings
사용자에게 AWSLakeFormationDataAdmin
정책을 부여하면 해당 사용자는 Lake Formation 관리자 사용자를 추가로 생성할 수 없습니다.
데이터 레이크 관리자를 생성하려면(콘솔)
-
데이터 레이크 관리자가 될 사용자가 아직 없는 경우 IAM 콘솔을 사용하여 생성합니다. 그렇지 않으면 기존 사용자 중에서 데이터 레이크 관리자를 선택합니다.
참고
IAM 관리 사용자(
AdministratorAccess
AWS 관리형 정책이 있는 사용자)를 데이터 레이크 관리자로 선택하지 않는 것이 좋습니다.다음 AWS 관리형 정책을 사용자에게 연결합니다.
정책 필수? 참고 AWSLakeFormationDataAdmin
필수 기본 데이터 레이크 관리자 권한. 이 AWS 관리형 정책에는 사용자가 새 데이터 레이크 관리자를 생성하지 못하도록 제한 PutDataLakeSetting
하는 Lake Formation API 작업에 대한 설명 거부가 포함되어 있습니다.AWSGlueConsoleFullAccess
,CloudWatchLogsReadOnlyAccess
선택 사항 데이터 레이크 관리자가 Lake Formation 청사진에서 생성된 워크플로의 문제를 해결하려는 경우 이러한 정책을 연결합니다. 이러한 정책을 통해 데이터 레이크 관리자는 에서 문제 해결 정보를 볼 수 있습니다.AWS Glue 콘솔 및 Amazon CloudWatch Logs 콘솔. 워크플로에 대한 자세한 내용은 Lake Formation의 워크플로를 사용하여 데이터 가져오기 섹션을 참조하세요. AWSLakeFormationCrossAccountManager
선택 사항 데이터 레이크 관리자가 데이터 카탈로그 리소스에 대한 교차 계정 권한을 부여 및 취소할 수 있도록 하려면 이 정책을 연결합니다. 자세한 내용은 Lake Formation에서의 교차 계정 데이터 공유 단원을 참조하십시오. AmazonAthenaFullAccess
선택 사항 데이터 레이크 관리자가 에서 쿼리를 실행할 경우 이 정책을 연결합니다 Amazon Athena. -
데이터 레이크 관리자에게 Lake Formation 서비스 연결 역할을 생성할 수 있는 권한을 부여하는 다음 인라인 정책을 연결합니다. 권장되는 정책 이름은
LakeFormationSLR
입니다.서비스 연결 역할을 사용하면 데이터 레이크 관리자가 Amazon S3 위치를 Lake Formation에 더 쉽게 등록할 수 있습니다. Lake Formation 서비스 연결 역할에 대한 자세한 내용은 Lake Formation에 서비스 연결 역할 사용 섹션을 참조하세요.
중요
다음 모든 정책에서 를 바꿉니다.
<account-id>
유효한 AWS 계정 번호가 있어야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::
<account-id>
:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] } -
(선택 사항) 다음
PassRole
인라인 정책을 사용자에게 연결합니다. 이 정책을 통해 데이터 레이크 관리자는 워크플로를 생성하고 실행할 수 있습니다.iam:PassRole
권한이 있으면 워크플로가LakeFormationWorkflowRole
역할을 수행하여 크롤러 및 작업을 생성하고 생성된 크롤러 및 작업에 역할을 연결할 수 있습니다. 권장되는 정책 이름은UserPassRole
입니다.중요
Replace
<account-id>
유효한 AWS 계정 번호가 있어야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::
<account-id>
:role/LakeFormationWorkflowRole" ] } ] } -
(선택 사항) 계정에서 교차 계정 Lake Formation 권한을 부여하거나 수신하는 경우 이 추가 인라인 정책을 연결합니다. 이 정책을 통해 데이터 레이크 관리자는 AWS Resource Access Manager (AWS RAM) 리소스 공유 초대를 보고 수락할 수 있습니다. 또한 AWS Organizations 관리 계정의 데이터 레이크 관리자의 경우 정책에 조직에 대한 교차 계정 부여를 활성화할 수 있는 권한이 포함됩니다. 자세한 내용은 Lake Formation에서의 교차 계정 데이터 공유 단원을 참조하십시오.
권장되는 정책 이름은
RAMAccess
입니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
-
에서 AWS Lake Formation 콘솔을 열고 에서 생성한 관리자 사용자 또는
AdministratorAccess
사용자 AWS 관리형 정책을 사용하는 사용자관리자 액세스 권한이 있는 사용자 생성로 https://console.aws.amazon.com/lakeformation/로그인합니다. -
Lake Formation 시작 창이 나타나면 1단계에서 생성하거나 선택한 IAM 사용자를 선택한 다음 시작하기를 선택합니다.
-
Lake Formation 시작 창이 표시되지 않는 경우 다음 단계를 수행하여 Lake Formation 관리자를 구성합니다.
-
탐색 창의 관리자에서 관리 역할 및 작업을 선택합니다. 콘솔 페이지의 데이터 레이크 관리자 섹션에서 추가를 선택합니다.
-
관리자 추가 대화 상자의 액세스 유형에서 데이터 레이크 관리자를 선택합니다.
IAM 사용자 및 역할 에서 1단계에서 생성하거나 선택한 IAM 사용자를 선택한 다음 저장을 선택합니다.
-
기본 권한 모델 변경 또는 하이브리드 액세스 모드 사용
Lake Formation은 기존 AWS Glue Data Catalog 동작과의 호환성을 위해 활성화된 'IAM액세스 제어만 사용' 설정으로 시작합니다. 이 설정을 사용하면 IAM 정책 및 Amazon S3 버킷 정책을 통해 데이터 레이크의 데이터와 메타데이터에 대한 액세스를 관리할 수 있습니다.
IAM 및 Amazon S3 모델에서 Lake Formation 권한으로 데이터 레이크 권한을 쉽게 전환하려면 데이터 카탈로그에 하이브리드 액세스 모드를 사용하는 것이 좋습니다. 하이브리드 액세스 모드를 사용하면 다른 기존 사용자 또는 워크로드를 중단하지 않고도 특정 사용자 집합에 대해 Lake Formation 권한을 활성화할 수 있는 증분 경로가 제공됩니다.
자세한 내용은 하이브리드 액세스 모드 단원을 참조하십시오.
기본 설정을 비활성화하면 테이블의 모든 기존 사용자를 Lake Formation으로 한 번에 이동할 수 있습니다.
중요
기존 AWS Glue Data Catalog 데이터베이스 및 테이블은 이 섹션의 지침을 따르지 마세요. 그 대신 업그레이드 AWS GlueAWS Lake Formation 모델에 대한 데이터 권한의 지시 사항을 따릅니다.
주의
Data Catalog에 데이터베이스와 테이블을 생성하는 자동화가 있는 경우 다음 단계로 인해 자동화 및 다운스트림 추출, 변환 및 로드(ETL) 작업이 실패할 수 있습니다. 기존 프로세스를 수정했거나 필수 보안 주체에게 명시적인 Lake Formation 권한을 부여한 경우에만 진행하세요. Lake Formation 권한에 대한 자세한 내용은 Lake Formation 권한 참조 섹션을 참조하세요.
기본 데이터 카탈로그 설정을 변경하려면
-
의 Lake Formation 콘솔에서 계속합니다https://console.aws.amazon.com/lakeformation/
. 에서 생성한 관리자 사용자 또는 AdministratorAccess
AWS 관리형 정책을 사용하는 사용자관리자 액세스 권한이 있는 사용자 생성로 로그인했는지 확인합니다. 데이터 카탈로그 설정을 수정합니다.
-
탐색 창의 관리에서 데이터 카탈로그 설정을 선택합니다.
-
두 확인란을 모두 선택 취소하고 저장을 선택합니다.
-
데이터베이스 생성자의
IAMAllowedPrincipals
권한을 회수합니다.-
탐색 창의 관리에서 관리 역할 및 작업을 선택합니다.
-
관리 역할 및 작업 콘솔 페이지의 데이터베이스 생성자 섹션에서
IAMAllowedPrincipals
그룹을 선택하고 권한 회수를 선택합니다.권한 회수 대화 상자가 나타나고 데이터베이스 생성 권한이 있는
IAMAllowedPrincipals
가 표시됩니다. -
권한 회수를 선택합니다.
-
Lake Formation 사용자에게 권한 할당
에서 데이터 레이크에 액세스할 수 있는 사용자를 생성합니다 AWS Lake Formation. 이 사용자는 데이터 레이크를 쿼리할 수 있는 최소 권한을 보유합니다.
사용자 또는 그룹 생성에 대한 자세한 내용은 IAM 사용 설명서의 IAM 자격 증명을 참조하세요.
관리자가 아닌 사용자에게 Lake Formation 데이터에 액세스할 수 있는 권한을 연결하려면
-
에서 IAM 콘솔을 열고 에서 생성한 관리자 사용자로 로그인관리자 액세스 권한이 있는 사용자 생성하거나
AdministratorAccess
AWS 관리형 정책을 사용하는 사용자로 https://console.aws.amazon.com/iam로그인합니다. -
사용자 또는 사용자 그룹을 선택합니다.
-
목록에서 정책을 삽입할 사용자 또는 그룹 이름을 선택합니다.
권한을 선택합니다.
-
권한 추가를 선택한 다음 정책 직접 연결을 선택합니다. 필터 정책 텍스트 필드에
Athena
를 입력합니다. 결과 목록에서AmazonAthenaFullAccess
확인란을 선택합니다. -
정책 생성 버튼을 선택합니다. 정책 생성 페이지에서 JSON 탭을 선택합니다. 다음 코드를 복사하여 정책 편집기에 붙여 넣습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
-
정책 검토 페이지가 표시될 때까지 하단에서 다음 버튼을 선택합니다. 정책 이름을 입력합니다(예:
DatalakeUserBasic
). 정책 생성을 선택한 다음 정책 탭 또는 브라우저 창을 닫습니다.
데이터 레이크에 대한 Amazon S3 위치 구성
Lake Formation을 사용하여 데이터 레이크의 데이터를 관리하고 보호하려면 먼저 Amazon S3 위치를 등록해야 합니다. 위치를 등록하면 해당 Amazon S3 경로와 해당 경로 아래의 모든 폴더가 등록되므로 Lake Formation에서 스토리지 수준 권한을 적용할 수 있습니다. 사용자가 Amazon Athena와 같은 통합 엔진에서 데이터를 요청하면 Lake Formation은 사용자 권한을 사용하지 않고 데이터 액세스를 제공합니다.
위치를 등록할 때 해당 위치에 대한 읽기/쓰기 권한을 부여하는 IAM 역할을 지정합니다. Lake Formation은 등록된 Amazon S3 위치의 데이터에 대한 액세스를 요청하는 통합 AWS 서비스에 임시 자격 증명을 제공할 때 해당 역할을 맡습니다. Lake Formation 서비스 연결 역할(SLR)을 지정하거나 자체 역할을 생성할 수 있습니다.
다음과 같은 상황에서는 사용자 지정 역할을 사용합니다.
-
Amazon CloudWatch Logs에 지표를 게시할 계획입니다. 사용자 정의 역할에는 SLR 권한 외에도 CloudWatch 로그에 로그를 추가하고 지표를 게시하기 위한 정책이 포함되어야 합니다. 필요한 CloudWatch 권한을 부여하는 인라인 정책의 예는 섹션을 참조하세요위치를 등록하는 데 사용되는 역할에 대한 요구 사항.
-
Amazon S3 위치가 다른 계정에 있습니다. 세부 정보는 다른 AWS 계정에 Amazon S3 위치 등록을 참조하세요.
-
Amazon S3 위치에 AWS 관리형 키로 암호화된 데이터가 포함되어 있습니다. 자세한 내용은 암호화된 Amazon S3 위치 등록 및 AWS 계정 전반에서 암호화된 Amazon S3 위치 등록 섹션을 참조하세요.
-
Amazon 를 사용하여 Amazon S3 위치에 액세스할 계획입니다EMR. 역할 요구 사항에 대한 자세한 내용은 Amazon EMR 관리 안내서의 IAM Lake Formation에 대한 역할을 참조하세요.
선택한 역할에는 위치를 등록하는 데 사용되는 역할에 대한 요구 사항에 설명된 대로 필요한 권한이 있어야 합니다. Amazon S3 위치를 등록하는 방법에 대한 지침은 데이터 레이크에 Amazon S3 위치 추가 섹션을 참조하세요.
(선택 사항) 외부 데이터 필터링 설정
타사 쿼리 엔진을 사용하여 데이터 레이크의 데이터를 분석 및 처리하려는 경우 외부 엔진이 Lake Formation에서 관리하는 데이터에 액세스하는 것을 허용하도록 옵트인해야 합니다. 옵트인하지 않으면 외부 엔진이 Lake Formation에 등록된 Amazon S3 위치의 데이터에 액세스할 수 없습니다.
Lake Formation은 테이블의 특정 열에 대한 액세스를 제한하는 열 수준 권한을 지원합니다. Amazon Athena, Amazon Redshift Spectrum 및 Amazon과 같은 통합 분석 서비스는 에서 필터링되지 않은 테이블 메타데이터를 EMR 검색합니다 AWS Glue Data Catalog. 쿼리 응답에서 열을 실제로 필터링하는 것은 통합 서비스에서 담당합니다. 데이터에 대한 무단 액세스를 방지하기 위해 권한을 적절하게 처리하는 것은 타사 관리자의 책임입니다.
타사 엔진의 데이터 액세스 및 필터링 허용을 옵트인하려면(콘솔)
-
의 Lake Formation 콘솔에서 계속합니다https://console.aws.amazon.com/lakeformation/
. Lake Formation PutDataLakeSettings
API 작업에 대한 IAM 권한이 있는 보안 주체로 로그인했는지 확인합니다. 에서 생성한 IAM 관리자 사용자에게에 가입 AWS 계정는 이 권한이 있습니다. -
탐색 창의 관리에서 애플리케이션 통합 설정을 선택합니다.
-
애플리케이션 통합 설정 페이지에서 다음을 수행합니다.
-
외부 엔진이 Lake Formation에 등록된 Amazon S3 위치의 데이터를 필터링하도록 허용 확인란을 선택합니다.
-
타사 엔진용으로 정의된 세션 태그 값을 입력합니다.
-
AWS 계정 IDs에 서드 파티 엔진IDs이 Lake Formation에 등록된 위치에 액세스할 수 있는 계정을 입력합니다. 각 계정 ID를 입력한 후에 Enter 키를 누릅니다.
-
저장(Save)을 선택합니다.
-
외부 엔진이 세션 태그 검증 없이 데이터에 액세스할 수 있도록 허용하려면 전체 테이블 액세스를 위한 애플리케이션 통합 섹션을 참조하세요.
(선택 사항) 데이터 카탈로그 암호화 키에 대한 액세스 권한 부여
AWS Glue Data Catalog 이 암호화된 경우 Data Catalog 데이터베이스 및 테이블에 Lake Formation 권한을 부여해야 하는 보안 주체에게 AWS KMS 키에 대한 AWS Identity and Access Management (IAM) 권한을 부여합니다.
자세한 내용은 개발자 안내서AWS Key Management Service 를 참조하세요.
(선택 사항) 워크플로에 대한 IAM 역할 생성
를 사용하면 AWS Glue 크롤러가 실행하는 워크플로를 사용하여 데이터를 가져올 AWS Lake Formation수 있습니다. 워크플로는 데이터를 데이터 레이크로 가져오는 일정과 데이터 소스를 정의합니다. Lake Formation에서 제공하는 템플릿 또는 청사진을 사용하여 워크플로를 쉽게 정의할 수 있습니다.
워크플로를 생성할 때 Lake Formation에 데이터를 수집하는 데 필요한 권한을 부여하는 AWS Identity and Access Management (IAM) 역할을 할당해야 합니다.
다음 절차에서는 에 익숙하다고 가정합니다IAM.
워크플로에 대한 IAM 역할을 생성하려면
-
에서 IAM 콘솔을 열고 에서 생성한 관리자 사용자 또는
AdministratorAccess
AWS 관리형 정책을 사용하는 사용자관리자 액세스 권한이 있는 사용자 생성로 https://console.aws.amazon.com/iam로그인합니다. -
탐색 창에서 역할, 역할 생성을 차례로 선택합니다.
-
역할 생성 페이지에서 AWS 서비스, Glue를 차례로 선택합니다. Next(다음)를 선택합니다.
-
권한 추가 페이지에서 AWSGlueServiceRole 관리형 정책을 검색하고 목록의 정책 이름 옆에 있는 확인란을 선택합니다. 그런 다음 역할 생성 마법사를 완료하여 역할 이름을
LFWorkflowRole
로 지정합니다. 완료하려면 역할 생성을 선택합니다. -
역할 페이지로 돌아가서 역할 이름
LFflowRole
을 검색하고 선택합니다. -
역할 요약 페이지의 권한 탭에서 인라인 정책 생성을 선택합니다. 정책 생성 화면에서 JSON 탭으로 이동하여 다음 인라인 정책을 추가합니다. 권장되는 정책 이름은
LakeFormationWorkflow
입니다.중요
다음 정책에서 를 바꿉니다.
<account-id>
유효한 AWS 계정 번호가 있습니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" }, { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": [ "arn:aws:iam::
<account-id>
:role/LakeFormationWorkflowRole" ] } ] }다음은 이 정책의 권한에 대한 간략한 설명입니다.
-
lakeformation:GetDataAccess
는 워크플로에서 생성된 작업을 대상 위치에 쓸 수 있도록 합니다. -
lakeformation:GrantPermissions
은 워크플로가 대상 테이블에 대한SELECT
권한을 부여할 수 있도록 합니다. -
iam:PassRole
은 서비스가LakeFormationWorkflowRole
역할을 수행하여 크롤러 및 작업(워크플로 인스턴스)을 생성하고 생성된 크롤러 및 작업에 역할을 연결할 수 있도록 합니다.
-
-
역할
LakeFormationWorkflowRole
에 두 개의 정책이 연결되어 있는지 확인합니다. -
데이터 레이크 위치 외부의 데이터를 수집하는 경우 소스 데이터에 대한 읽기 권한을 부여하는 인라인 정책을 추가합니다.