AWS Glue Studio에서 노트북 시작하기
AWS Glue Studio를 통해 노트북을 시작하는 경우 데이터를 탐색하고 몇 초 만에 작업 스크립트 개발을 시작할 수 있도록 모든 구성 단계가 완료됩니다.
다음 섹션에서는 ETL 작업에 대해 AWS Glue Studio에서 노트북을 사용하기 위해 역할을 생성하고 적절한 권한을 부여하는 방법을 설명합니다.
AWS Glue에서 정의한 작업에 대한 자세한 내용은 AWS Glue에서 정의한 작업을 참조하세요.
IAM 역할에 권한 부여
AWS Glue Studio 설정은 노트북을 사용하기 위한 전제 조건입니다.
AWS Glue에서 노트북을 사용하려면 역할에 다음이 필요합니다.
-
sts:AssumeRole
작업(및 태그 지정을 원할 경우sts:TagSession
작업)을 수행하기 위한 AWS Glue와의 신뢰 관계 -
노트북, AWS Glue 및 대화형 세션에 대한 모든 권한을 포함하는 IAM 정책.
-
전달 역할에 대한 IAM 정책(역할이 노트북에서 대화형 세션으로 전달될 수 있어야 하기 때문)
예를 들어 새 역할을 생성할 때 역할에 AWSGlueConsoleFullAccessRole
과 같은 표준 AWS 관리형 정책을 추가한 후 노트북 작업에 대한 새 정책과 IAM PassRole 정책에 대한 다른 새 정책을 추가할 수 있습니다.
AWS Glue와의 신뢰 관계에 필요한 작업
노트북 세션을 시작할 때 노트북에 전달되는 역할의 신뢰 관계에 sts:AssumeRole
을 추가해야 합니다. 세션에 태그가 포함되어 있는 경우 sts:TagSession
작업도 전달해야 합니다. 이러한 작업이 없으면 노트북 세션을 시작할 수 없습니다.
예:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
노트북의 IAM 권한을 포함하는 정책
다음 샘플 정책은 노트북에 대한 필수적인 AWS IAM 권한을 설명합니다. 새 역할을 생성하는 경우 다음을 포함하는 정책을 생성합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:StartNotebook", "glue:TerminateNotebook", "glue:GlueNotebookRefreshCredentials", "glue:DeregisterDataPreview", "glue:GetNotebookInstanceStatus", "glue:GlueNotebookAuthorize" ], "Resource": "*" } ] }
다음 IAM 정책을 사용하여 특정 리소스에 대한 액세스를 허용할 수 있습니다.
-
AwsGlueSessionUserRestrictedNotebookServiceRole: 세션을 제외한 모든 AWS Glue 리소스에 대한 전체 액세스 권한을 제공합니다. 사용자가 자신과 연결된 노트북 세션만 생성하고 사용할 수 있도록 허용합니다. 이 정책에는 다른 AWS 서비스에서 AWS Glue 리소스를 관리하는 데 AWS Glue에서 필요한 기타 권한도 포함됩니다.
-
AwsGlueSessionUserRestrictedNotebookPolicy: 사용자가 자신과 연결된 노트북 세션만 생성하고 사용할 수 있도록 허용하는 권한을 제공합니다. 이 정책에는 제한된 AWS Glue 세션 역할을 사용자가 전달할 수 있도록 명시적으로 허용하는 권한도 포함되어 있습니다.
역할을 전달하는 IAM 정책
역할이 있는 노트북을 생성하면 해당 역할이 대화형 세션으로 전달되므로 두 위치에서 동일한 역할을 사용할 수 있습니다. 따라서 iam:PassRole
권한은 역할의 정책의 일부여야 합니다.
다음 예제를 사용하여 역할에 대한 새 정책을 생성합니다. 계정 번호를 사용자의 고유한 역할 이름으로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
090000000210
:role/<role_name
>" } ] }