Lake Formation 자격 증명을 사용하도록 크롤러 구성 - AWS Glue

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

Lake Formation 자격 증명을 사용하도록 크롤러 구성

AWS Lake Formation 자격 증명을 사용하여 동일한 AWS 계정 위치 또는 다른 위치에 기본 Amazon S3 위치가 있는 Amazon S3 데이터 스토어 또는 데이터 카탈로그 테이블에 액세스하도록 크롤러를 구성할 수 있습니다. AWS 계정크롤러와 데이터 카탈로그 테이블이 동일한 계정에 있는 경우 기존 데이터 카탈로그 테이블을 크롤러의 대상으로 구성할 수 있습니다. 현재 데이터 카탈로그 테이블을 크롤러의 대상으로 사용할 때 단일 카탈로그 테이블이 있는 단일 카탈로그 대상만 허용됩니다.

참고

데이터 카탈로그 테이블을 크롤러 대상으로 정의할 때 데이터 카탈로그 테이블의 기본 위치가 Amazon S3 위치인지 확인합니다. Lake Formation 자격 증명을 사용하는 크롤러는 기본 Amazon S3 위치가 있는 데이터 카탈로그 대상만 지원합니다.

크롤러와 등록된 Amazon S3 위치 또는 데이터 카탈로그 테이블이 동일한 계정에 있는 경우 필요한 설정(계정 내 크롤링)

크롤러가 Lake Formation 자격 증명을 사용하여 데이터 스토어 또는 데이터 카탈로그 테이블에 액세스할 수 있도록 하려면 Lake Formation에 데이터 위치를 등록해야 합니다. 또한 크롤러의 IAM 역할에는 Amazon S3 버킷이 등록된 대상에서 데이터를 읽을 수 있는 권한이 있어야 합니다.

AWS Management Console 또는 AWS Command Line Interface ()AWS CLI를 사용하여 다음 구성 단계를 완료할 수 있습니다.

AWS Management Console
  1. 크롤러 소스에 액세스하도록 크롤러를 구성하기 전에 데이터 스토어 또는 데이터 카탈로그의 데이터 위치를 Lake Formation에 등록합니다. Lake Formation 콘솔 (https://console.aws.amazon.com/lakeformation/) 에서 Amazon S3 위치를 크롤러가 정의된 데이터 레이크의 루트 위치로 등록합니다. AWS 계정 자세한 내용을 알아보려면 Registering an Amazon S3 location(Amazon S3 위치 등록)을 참조하세요.

  2. 크롤러가 Lake Formation의 대상에서 데이터를 읽을 수 있도록 크롤러 실행에 사용되는 IAM 역할에 데이터 위치 권한을 부여합니다. 자세한 내용을 알아보려면 Granting data location permissions (same account)(데이터 위치 권한 부여(동일한 계정))를 참조하세요.

  3. 출력 데이터베이스로 지정된 데이터베이스에 크롤러 역할 액세스 권한(Create )을 부여합니다. 자세한 내용을 알아보려면 Granting database permissions using the Lake Formation console and the named resource method(Lake Formation 콘솔 및 명명된 리소스 메서드를 사용하여 데이터베이스 권한 부여)를 참조하세요.

  4. IAM콘솔 (https://console.aws.amazon.com/iam/) 에서 크롤러의 IAM 역할을 생성합니다. 역할에 lakeformation:GetDataAccess 정책을 추가합니다.

  5. AWS Glue 콘솔 (https://console.aws.amazon.com/glue/) 에서 크롤러를 구성하는 동안 Amazon S3 데이터 원본 크롤링에 Lake Formation 자격 증명 사용 옵션을 선택합니다.

    참고

    이 accountId 필드는 계정 내 크롤링의 경우 선택 사항입니다.

AWS CLI
aws glue --profile demo create-crawler --debug --cli-input-json '{ "Name": "prod-test-crawler", "Role": "arn:aws:iam::111122223333:role/service-role/AWSGlueServiceRole-prod-test-run-role", "DatabaseName": "prod-run-db", "Description": "", "Targets": { "S3Targets":[ { "Path": "s3://crawl-testbucket" } ] }, "SchemaChangePolicy": { "UpdateBehavior": "LOG", "DeleteBehavior": "LOG" }, "RecrawlPolicy": { "RecrawlBehavior": "CRAWL_EVERYTHING" }, "LineageConfiguration": { "CrawlerLineageSettings": "DISABLE" }, "LakeFormationConfiguration": { "UseLakeFormationCredentials": true, "AccountId": "111122223333" }, "Configuration": { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }, "Tables": {"AddOrUpdateBehavior": "MergeNewColumns" } }, "Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" } }, "CrawlerSecurityConfiguration": "", "Tags": { "KeyName": "" } }'