설정 AWS Lake Formation - AWS Lake Formation

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

설정 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 콘솔에서 IAMID 센터 통합 수동으로 수행하십시오기본 권한 모델을 변경하거나 하이브리드 액세스 모드를 사용하십시오..

  1. https://console.aws.amazon.com/cloudformation 에서 미국 동부 (버지니아 북부) 지역의 IAM 관리자로 AWS CloudFormation 콘솔에 로그인합니다.

  2. 스택 시작을 선택합니다.

  3. 스택 생성 화면에서 다음을 선택합니다.

  4. 스택 이름을 입력합니다.

  5. DatalakeAdminNameDatalakeAdminPassword에는 데이터 레이크 관리자 사용자의 사용자 이름과 비밀번호를 입력합니다.

  6. DatalakeUser1NameDatalakeUser1Password의 경우 데이터 레이크 분석가 사용자의 사용자 이름과 비밀번호를 입력합니다.

  7. DataLakeBucketName생성될 새 버킷 이름을 입력합니다.

  8. 다음을 선택합니다.

  9. 다음 페이지에서 다음을 선택합니다.

  10. 마지막 페이지의 세부 정보를 검토하고 IAM 리소스를 생성할 AWS CloudFormation 수 있음을 인정함을 선택합니다.

  11. 생성을 선택합니다.

    스택 생성에는 최대 2분이 걸릴 수 있습니다.

리소스 정리

AWS CloudFormation 스택 리소스를 정리하려는 경우:

  1. 스택에서 생성하고 데이터 레이크 위치로 등록한 Amazon S3 버킷을 등록 취소합니다.

  2. AWS CloudFormation 스택을 삭제합니다. 그러면 스택에서 생성된 모든 리소스가 삭제됩니다.

데이터 레이크 관리자 생성

처음에는 데이터 레이크 관리자만 데이터 위치 및 Data Catalog 리소스에 대한 Lake Formation 권한을 모든 보안 주체 AWS Identity and Access Management (본인 포함) 에게 부여할 수 있는 유일한 (IAM) 사용자 또는 역할입니다. 데이터 레이크 관리자 기능에 대한 자세한 내용은 암시적 Lake Formation 권한 섹션을 참조하세요. 기본적으로 Lake Formation에서는 최대 30명의 데이터 레이크 관리자를 생성할 수 있습니다.

Lake Formation 콘솔 또는 Lake Formation API의 PutDataLakeSettings 작업을 사용하여 데이터 레이크 관리자를 생성할 수 있습니다.

데이터 레이크 관리자를 생성하려면 다음 권한이 필요합니다. Administrator 사용자는 이러한 권한을 암시적으로 가집니다.

  • lakeformation:PutDataLakeSettings

  • lakeformation:GetDataLakeSettings

사용자에게 AWSLakeFormationDataAdmin 정책을 부여하면 해당 사용자는 Lake Formation 관리자 사용자를 추가로 생성할 수 없습니다.

데이터 레이크 관리자를 생성하려면(콘솔)
  1. 데이터 레이크 관리자로 지정할 사용자가 아직 없다면 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
  2. 데이터 레이크 관리자에게 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" } ] }
  3. (선택 사항) 다음 PassRole 인라인 정책을 사용자에게 연결합니다. 이 정책을 통해 데이터 레이크 관리자는 워크플로를 생성하고 실행할 수 있습니다. iam:PassRole 권한이 있으면 워크플로가 LakeFormationWorkflowRole 역할을 수행하여 크롤러 및 작업을 생성하고 생성된 크롤러 및 작업에 역할을 연결할 수 있습니다. 권장되는 정책 이름은 UserPassRole입니다.

    중요

    <account-id>유효한 AWS 계좌 번호로 바꾸십시오.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }
  4. (선택 사항) 계정에서 교차 계정 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": "*" } ] }
  5. https://console.aws.amazon.com/lakeformation/ 에서 AWS Lake Formation 콘솔을 열고 새로 만든 관리자 사용자 관리자 액세스 권한이 있는 사용자 생성 또는 AdministratorAccess 사용자 AWS 관리형 정책을 사용하는 사용자로 로그인합니다.

  6. Lake Formation 정보 창이 나타나면 1단계에서 생성 또는 선택한 IAM 사용자를 선택한 다음 시작하기를 선택합니다.

  7. Lake Formation 시작 창이 표시되지 않는 경우 다음 단계를 수행하여 Lake Formation 관리자를 구성합니다.

    1. 탐색 창의 관리자에서 관리 역할 및 작업을 선택합니다. 콘솔 페이지의 데이터 레이크 관리자 섹션에서 추가를 선택합니다.

    2. 관리자 추가 대화 상자의 액세스 유형에서 데이터 레이크 관리자를 선택합니다.

    3. 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 Lake Formation 모델에 대한 AWS Glue 데이터 권한 업그레이드의 지시 사항을 따릅니다.

주의

데이터 카탈로그에 데이터베이스와 테이블을 생성하는 자동화 기능이 있는 경우 다음 단계를 수행하면 자동화 및 다운스트림 추출, 전환, 적재(ETL) 작업이 실패할 수 있습니다. 기존 프로세스를 수정했거나 필수 보안 주체에게 명시적인 Lake Formation 권한을 부여한 경우에만 진행하세요. Lake Formation 권한에 대한 자세한 내용은 Lake Formation 권한 참조 섹션을 참조하세요.

기본 데이터 카탈로그 설정을 변경하려면
  1. Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/)에서 계속합니다. 에서 생성한 관리자 사용자 관리자 액세스 권한이 있는 사용자 생성 또는 AdministratorAccess AWS 관리형 정책을 사용하는 사용자로 로그인했는지 확인하십시오.

  2. 데이터 카탈로그 설정을 수정합니다.

    1. 탐색 창의 관리에서 데이터 카탈로그 설정을 선택합니다.

    2. 두 확인란을 모두 선택 취소하고 저장을 선택합니다.

      데이터 카탈로그 설정 대화 상자에는 '새로 생성된 데이터베이스 및 테이블에 대한 기본 사용 권한'이라는 부제가 있으며 텍스트에 설명된 두 개의 확인란이 있습니다.
  3. 데이터베이스 생성자의 IAMAllowedPrincipals 권한을 회수합니다.

    1. 탐색 창의 관리에서 관리 역할 및 작업을 선택합니다.

    2. 관리 역할 및 작업 콘솔 페이지의 데이터베이스 생성자 섹션에서 IAMAllowedPrincipals 그룹을 선택하고 권한 회수를 선택합니다.

      권한 회수 대화 상자가 나타나고 데이터베이스 생성 권한이 있는 IAMAllowedPrincipals가 표시됩니다.

    3. 권한 회수를 선택합니다.

Lake Formation 사용자에게 권한 할당

데이터 레이크에 액세스할 수 있는 사용자를 AWS Lake Formation생성하십시오. 이 사용자는 데이터 레이크를 쿼리할 수 있는 최소 권한을 보유합니다.

사용자 또는 그룹 생성에 대한 자세한 내용은 IAM 사용 설명서에서 IAM 자격 증명을 참조하세요.

관리자가 아닌 사용자에게 Lake Formation 데이터에 액세스할 수 있는 권한을 연결하려면
  1. 에서 IAM 콘솔을 열고 생성한 관리자 사용자 관리자 액세스 권한이 있는 사용자 생성 또는 AdministratorAccess AWS 관리형 정책을 사용하는 사용자로 로그인합니다. https://console.aws.amazon.com/iam

  2. 사용자 또는 사용자 그룹을 선택합니다.

  3. 목록에서 정책을 삽입할 사용자 또는 그룹 이름을 선택합니다.

    권한을 선택합니다.

  4. 권한 추가를 선택한 다음 정책 직접 연결을 선택합니다. 필터 정책 텍스트 필드에 Athena를 입력합니다. 결과 목록에서 AmazonAthenaFullAccess 확인란을 선택합니다.

  5. 정책 생성 버튼을 선택합니다. 정책 생성 페이지에서 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": "*" } ] }
  6. 정책 검토 페이지가 표시될 때까지 하단에서 다음 버튼을 선택합니다. 정책 이름을 입력합니다(예: 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 S3 위치를 등록하는 방법에 대한 지침은 데이터 레이크에 Amazon S3 위치 추가 섹션을 참조하세요.

(선택 사항) 외부 데이터 필터링 설정

타사 쿼리 엔진을 사용하여 데이터 레이크의 데이터를 분석 및 처리하려는 경우 외부 엔진이 Lake Formation에서 관리하는 데이터에 액세스하는 것을 허용하도록 옵트인해야 합니다. 옵트인하지 않으면 외부 엔진이 Lake Formation에 등록된 Amazon S3 위치의 데이터에 액세스할 수 없습니다.

Lake Formation은 테이블의 특정 열에 대한 액세스를 제한하는 열 수준 권한을 지원합니다. Amazon Redshift Spectrum 및 Amazon EMR과 같은 Amazon Athena통합 분석 서비스는 에서 필터링되지 않은 테이블 메타데이터를 검색합니다. AWS Glue Data Catalog쿼리 응답에서 열을 실제로 필터링하는 것은 통합 서비스에서 담당합니다. 데이터에 대한 무단 액세스를 방지하기 위해 권한을 적절하게 처리하는 것은 타사 관리자의 책임입니다.

타사 엔진의 데이터 액세스 및 필터링 허용을 옵트인하려면(콘솔)
  1. Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/)에서 계속합니다. Lake Formation PutDataLakeSettings API 작업에 대한 IAM 권한이 있는 보안 주체로 로그인했는지 확인합니다. 등록하십시오. AWS 계정에서 생성한 IAM 관리자 사용자가 이 권한을 가집니다.

  2. 탐색 창의 관리에서 애플리케이션 통합 설정을 선택합니다.

  3. 애플리케이션 통합 설정 페이지에서 다음을 수행합니다.

    1. 외부 엔진이 Lake Formation에 등록된 Amazon S3 위치의 데이터를 필터링하도록 허용 확인란을 선택합니다.

    2. 타사 엔진용으로 정의된 세션 태그 값을 입력합니다.

    3. AWS 계정 ID에는 타사 엔진이 Lake Formation에 등록된 위치에 액세스할 수 있도록 허용된 계정 ID를 입력합니다. 각 계정 ID를 입력한 후에 Enter 키를 누릅니다.

    4. 저장을 선택합니다.

외부 엔진이 세션 태그 검증 없이 데이터에 액세스할 수 있도록 허용하려면 전체 테이블 액세스를 위한 애플리케이션 통합 섹션을 참조하세요.

(선택 사항) 데이터 카탈로그 암호화 키에 대한 액세스 권한 부여

암호화된 경우 데이터 카탈로그 데이터베이스 및 테이블에 대한 Lake Formation 권한을 부여해야 하는 모든 보안 주체에게 AWS KMS 키에 대한 권한을 부여 AWS Identity and Access Management (IAM) 하십시오. AWS Glue Data Catalog

자세한 내용은 개발자 안내서AWS Key Management Service 를 참조하세요.

(선택 사항) 워크플로를 위한 IAM 역할 생성

를 사용하면 AWS Glue 크롤러가 실행하는 워크플로를 사용하여 데이터를 가져올 수 있습니다. AWS Lake Formation워크플로는 데이터를 데이터 레이크로 가져오는 일정과 데이터 소스를 정의합니다. Lake Formation에서 제공하는 템플릿 또는 청사진을 사용하여 워크플로를 쉽게 정의할 수 있습니다.

워크플로를 생성할 때는 Lake Formation에 데이터를 수집하는 데 필요한 권한을 부여하는 AWS Identity and Access Management (IAM) 역할을 할당해야 합니다.

다음 절차는 IAM에 친숙한 경우를 가정합니다.

워크플로에 대한 IAM 역할을 생성하려면
  1. 에서 https://console.aws.amazon.com/iam IAM 콘솔을 열고 생성한 관리자 사용자 관리자 액세스 권한이 있는 사용자 생성 또는 관리형 정책을 사용하는 사용자로 로그인합니다 AdministratorAccess AWS .

  2. 탐색 창에서 역할, 역할 생성을 차례로 선택합니다.

  3. 역할 생성 페이지에서 AWS 서비스, Glue를 차례로 선택합니다. 다음을 선택합니다.

  4. 권한 추가 페이지에서 AWSGlueServiceRole관리형 정책을 검색하고 목록에서 정책 이름 옆의 확인란을 선택합니다. 그런 다음 역할 생성 마법사를 완료하여 역할 이름을 LFWorkflowRole로 지정합니다. 완료하려면 역할 생성을 선택합니다.

  5. 역할 페이지로 돌아가서 역할 이름 LFflowRole을 검색하고 선택합니다.

  6. 역할 요약 페이지의 권한 탭에서 인라인 정책 생성을 선택합니다. 정책 생성 화면에서 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 역할을 수행하여 크롤러 및 작업(워크플로 인스턴스)을 생성하고 생성된 크롤러 및 작업에 역할을 연결할 수 있도록 합니다.

  7. 역할 LakeFormationWorkflowRole에 두 개의 정책이 연결되어 있는지 확인합니다.

  8. 데이터 레이크 위치 외부의 데이터를 수집하는 경우 소스 데이터에 대한 읽기 권한을 부여하는 인라인 정책을 추가합니다.