ETL 작업에 필요한 IAM 권한 검토
AWS Glue Studio를 사용하여 작업을 생성하는 경우 작업은 생성 시 지정한 IAM 역할의 권한을 갖게 됩니다. 이 IAM 역할은 데이터 원본에서 데이터를 추출하고, 대상에 데이터를 쓰고, AWS Glue 리소스에 액세스할 수 있는 권한이 있어야 합니다.
작업을 위해 생성하는 역할의 이름이 AWSGlueServiceRole
문자열로 시작해야 AWS Glue Studio에서 올바르게 사용할 수 있습니다. 예를 들어 역할 이름을 AWSGlueServiceRole-FlightDataJob
으로 지정할 수 있습니다.
데이터 원본 및 데이터 대상 권한
AWS Glue Studio 작업에서 사용하는 모든 소스, 대상, 스크립트, 임시 디렉터리를 위해 작업이 Amazon S3에 액세스할 수 있어야 합니다. 특정 Amazon S3 리소스에 대한 세분화된 액세스를 제공하는 정책을 생성할 수 있습니다.
-
데이터 원본은
s3:ListBucket
및s3:GetObject
권한을 요구합니다. -
데이터 대상은
s3:ListBucket
,s3:PutObject
및s3:DeleteObject
권한을 요구합니다.
참고
IAM 정책은 변환 호스팅 AWS Glue 변환에 사용되는 특정 버킷에 대한 s3:GetObject
을(를) 허용해야 합니다.
다음 버킷은 AWS 서비스 계정이 소유하며 전 세계에서 읽을 수 있습니다. 이러한 버킷은 AWS Glue Studio 비주얼 에디터를 통해 액세스할 수 있는 변환의 하위 집합과 관련된 소스 코드의 저장소 역할을 합니다. 버킷에 대한 권한은 버킷에서의 다른 API 작업을 거부하도록 설정됩니다. 변환을 위해 제공하는 스크립트는 누구나 읽을 수 있지만, 서비스 팀 외부의 누구도 스크립트에 내용을 “입력”할 수 없습니다. AWS Glue 작업이 실행되면 해당 파일을 로컬 가져오기로 불러와서 로컬 컨테이너로 다운로드합니다. 이후에는 해당 계정과 더 이상 통신할 수 없습니다.
지역: 버킷 이름
-
af-south-1: aws-glue-studio-transforms-762339736633-prod-af-south-1
-
ap-east-1: aws-glue-studio-transforms-125979764932-prod-ap-east-1
-
ap-northeast-2: aws-glue-studio-transforms-673535381443-prod-ap-northeast-2
-
ap-northeast-3: aws-glue-studio-transforms-149976050262-prod-ap-northeast-3
-
ap-south-1: aws-glue-studio-transforms-584702181950-prod-ap-south-1
-
ap-south-2: aws-glue-studio-transforms-380279651983-prod-ap-south-2
-
ap-southeast-1: aws-glue-studio-transforms-737106620487-prod-ap-southeast-1
-
ap-southeast-2: aws-glue-studio-transforms-234881715811-prod-ap-southeast-2
-
ap-southeast-3: aws-glue-studio-transforms-151265630221-prod-ap-southeast-3
-
ap-southeast-4: aws-glue-studio-transforms-052235663858-prod-ap-southeast-4
-
ca-central-1: aws-glue-studio-transforms-622716468547-prod-ca-central-1
-
ca-west-1: aws-glue-studio-transforms-915795495192-prod-ca-west-1
-
eu-central-1: aws-glue-studio-transforms-560373232017-prod-eu-central-1
-
eu-central-2: aws-glue-studio-transforms-907358657121-prod-eu-central-2
-
eu-north-1: aws-glue-studio-transforms-312557305497-prod-eu-north-1
-
eu-south-1: aws-glue-studio-transforms-939684186351-prod-eu-south-1
-
eu-south-2: aws-glue-studio-transforms-239737454084-prod-eu-south-2
-
eu-west-1: aws-glue-studio-transforms-244479516193-prod-eu-west-1
-
eu-west-2: aws-glue-studio-transforms-804222392271-prod-eu-west-2
-
eu-west-3: aws-glue-studio-transforms-371299348807-prod-eu-west-3
-
il-central-1: aws-glue-studio-transforms-806964611811-prod-il-central-1
-
me-central-1: aws-glue-studio-transforms-733304270342-prod-me-central-1
-
me-south-1: aws-glue-studio-transforms-112120182341-prod-me-south-1
-
sa-east-1: aws-glue-studio-transforms-881619130292-prod-sa-east-1
-
us-east-1: aws-glue-studio-transforms-510798373988-prod-us-east-1
-
us-east-2: aws-glue-studio-transforms-251189692203-prod-us-east-2
-
us-west-1: aws-glue-studio-transforms-593230150239-prod-us-west-1
-
us-west-2: aws-glue-studio-transforms-818035625594-prod-us-west-2
-
ap-northeast-1: aws-glue-studio-transforms-200493242866-prod-ap-northeast-1
-
cn-north-1: aws-glue-studio-transforms-071033555442-prod-cn-north-1
-
cn-northwest-1: aws-glue-studio-transforms-070947029561-prod-cn-northwest-1
-
us-gov-west-1: aws-glue-studio-transforms-227493901923-prod-us-gov-west-1-2604
Amazon Redshift를 데이터 원본으로 선택하면 클러스터 권한에 대한 역할을 제공할 수 있습니다. Amazon Redshift 클러스터에 대해 실행되는 작업은 임시 자격 증명을 사용하여 임시 스토리지용 Amazon S3에 액세스하는 명령을 실행합니다. 작업이 1시간 이상 실행되면 이러한 자격 증명이 만료되어 작업이 실패합니다. 이 문제를 방지하기 위해 임시 자격 증명을 사용하여 작업에 필요한 권한을 부여하는 역할을 Amazon Redshift 클러스터 자체에 할당할 수 있습니다. 자세한 내용은 AWS Glue Developer Guide의 Moving Data to and from Amazon Redshift를 참조하세요.
작업이 Amazon S3 이외의 데이터 원본 또는 대상을 사용하는 경우 이러한 데이터 원본 및 대상에 액세스하기 위해 작업에서 사용하는 IAM 역할에 필요한 권한을 연결해야 합니다. 자세한 내용은 AWS Glue Developer Guide의 Setting Up Your Environment to Access Data Stores를 참조하세요.
데이터 스토어에 커넥터 및 연결을 사용하는 경우 커넥터 사용에 필요한 권한에 설명된 대로 추가 권한이 필요합니다.
작업 삭제에 필요한 권한
AWS Glue Studio의 콘솔에서 여러 작업을 선택하여 삭제할 수 있습니다. 이 작업을 수행하려면 glue:BatchDeleteJob
권한이 있어야 합니다. 이는 작업 삭제에 glue:DeleteJob
권한이 필요한 AWS Glue 콘솔과 다릅니다.
AWS Key Management Service 권한
AWS Key Management Service(AWS KMS)에서 서버 측 암호화를 사용하는 Amazon S3 소스 및 대상에 액세스하려는 경우 작업에 사용되는 AWS Glue Studio 역할에 작업에서 데이터를 복호화할 수 있도록 하는 정책을 연결합니다. 작업 역할에는 kms:ReEncrypt
, kms:GenerateDataKey
및 kms:DescribeKey
권한이 필요합니다. 또한 작업 역할에는 AWS KMS 고객 마스터 키(CMK)로 암호화된 Amazon S3 객체를 업로드하거나 다운로드할 수 있는 kms:Decrypt
권한이 필요합니다.
AWS KMS CMK를 사용하면 추가 요금이 부과됩니다. 자세한 내용은 AWS Key Management Service Developer Guide의 AWS Key Management Service Concepts - Customer Master Keys (CMKs) 및 AWS Key Management Service Pricing
커넥터 사용에 필요한 권한
AWS Glue 사용자 정의 커넥터 및 연결을 사용하여 데이터 스토어에 액세스하는 경우 AWS Glue ETL 작업을 실행하는 데 사용되는 역할에 연결된 추가 권한이 필요합니다.
-
AWS Marketplace에서 구입한 커넥터 액세스를 위한 AWS 관리형 정책
AmazonEC2ContainerRegistryReadOnly
. -
glue:GetJob
및glue:GetJobs
권한. -
연결에 사용되는 보안 암호 액세스를 위한 AWS Secrets Manager 권한. 예제 IAM 정책을 보려면 예: 보안 암호 값을 검색할 수 있는 권한을 참조하세요.
AWS Glue ETL 작업이 Amazon VPC를 실행하는 VPC 내에서 실행되는 경우 VPC는 ETL 작업에 사용할 VPC 구성에 설명된 대로 구성되어야 합니다.