2단계: AWS Glue에 대한 IAM 역할 생성
AWS Glue가 사용자 대신 다른 서비스를 호출할 때 이용할 수 있도록 IAM 역할 권한을 부여해야 합니다. 여기에는 AWS Glue에서 사용하는 소스, 대상, 스크립트 및 임시 디렉터리에 대한 Amazon S3 액세스 권한이 포함됩니다. 크롤러, 작업 및 개발 엔드포인트는 권한이 필요합니다.
AWS Identity and Access Management(IAM)을 사용하여 그러한 권한을 제공합니다. IAM 역할에 정책을 추가하여 AWS Glue에 전달합니다.
AWS Glue용 IAM 역할 생성
AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
왼쪽 탐색 창에서 역할(Roles)을 선택합니다.
-
역할 생성을 선택합니다.
-
역할 유형의 경우, AWS 서비스(Service)를 선택하고 Glue를 찾아 선택한 후, 다음: 권한(Next: Permissions)을 선택합니다.
-
권한 정책 연결(Attach permissions policy) 페이지에서 필요한 권한이 포함된 정책을 선택합니다. 예를 들어 일반 AWS Glue 권한에 대한 AWS 관리형 정책
AWSGlueServiceRole
과 Amazon S3 리소스에 대한 액세스에 대한 AWS 관리형 정책 AmazonS3FullAccess가 있습니다. 그런 다음 다음: 검토(Next: Review)를 선택합니다.참고
이 역할의 정책 중 하나가 Amazon S3 소스 및 대상에 대한 권한을 보장한다는 것을 확인합니다. 특정 Amazon S3 리소스에 액세스를 위한 자체 정책을 제공하고자 할 수 있습니다. 데이터 원본은
s3:ListBucket
및s3:GetObject
권한을 요구합니다. 데이터 대상은s3:ListBucket
,s3:PutObject
및s3:DeleteObject
권한을 요구합니다. 리소스에 대한 Amazon S3 정책을 생성하는 방법은 정책에서 리소스 지정을 참조하세요. Amazon S3 정책 예제는 IAM 정책 작성하기: Amazon S3 버킷으로의 액세스를 보장하는 방법을 참조하세요. SSE-KMS로 암호화된 Amazon S3 소스 및 대상에 액세스하고자 할 경우, AWS Glue 크롤러, 작업 및 개발 엔드포인트가 데이터를 복호화할 수 있게 허용하는 정책을 연결합니다. 자세한 내용은 AWS KMS 관리형 키(SSE-KMS)를 사용하는 서버 측 암호화로 데이터 보호를 참조하세요.
다음은 예입니다.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "kms:Decrypt" ], "Resource":[ "arn:aws:kms:*:
account-id-without-hyphens
:key/key-id
" ] } ] } -
[역할 이름(Role name)]에 역할 이름을 입력합니다(예:
AWSGlueServiceRoleDefault
). 이름의 접두사가 문자열AWSGlueServiceRole
인 역할을 생성하고, 콘솔 사용자가 서비스로 해당 역할을 전달할 수 있도록 합니다. AWS Glue가 제공한 정책에서는 IAM 서비스 역할이AWSGlueServiceRole
로 시작될 것으로 예상합니다. 그렇지 않으면 정책을 추가하여 IAM 역할에 대한iam:PassRole
권한을 사용자에게 부여하고 이름 규정과 일치시켜야 합니다. 역할 생성을 선택합니다.참고
역할이 있는 노트북을 생성하면 해당 역할이 대화형 세션으로 전달되므로 두 위치에서 동일한 역할을 사용할 수 있습니다. 따라서
iam:PassRole
권한은 역할의 정책의 일부여야 합니다.다음 예제를 사용하여 역할에 대한 새 정책을 생성합니다. 계정 번호를 사용자의 고유한 역할 이름으로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::090000000210:role/<role_name>" } ] }