ステップ 2: AWS Glue 用の IAM ロールを作成する
ユーザーに代わり他のサービスを呼び出す際に AWS Glue が引き受けることができる、IAM ロールのアクセス許可を付与する必要があります。これには、AWS Glue で使用するすべてのソース、ターゲット、スクリプト、および一時ディレクトリでの Amazon S3 へのアクセスが含まれます。クローラ、ジョブ、および開発エンドポイントによって許可が必要です。
AWS Identity and Access Management (IAM) を使用してアクセス権限を提供できます。AWS Glue に渡す IAM ロールにポリシーを追加します。
用に IAM ロールを作成するには AWS Glue
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
左のナビゲーションペインで、[ロール] を選択します。
-
[ロールの作成] を選択します。
-
信頼されたエンティティの種類として [AWS サービス] を選択します。次に、サービスまたはユースケースに対して [AWS Glue] を検索して選択します。[Next] を選択します。
-
[許可の追加] のページで、必要な許可を含むポリシーを選択します。例えば、一般的な AWS Glue 許可の AWS マネージドポリシー
AWSGlueServiceRole
や Amazon S3 リソースにアクセスするための AWS マネージドポリシー [AmazonS3FullAccess] などがあります。次いで、[次へ] を選択します。注記
Amazon S3 のソースとターゲットに対するアクセス許可を、このロールのポリシーの 1 つにより付与してください。独自のポリシーを、特定の Amazon S3 リソースにアクセスするために指定します。データソースには、
s3:ListBucket
およびs3:GetObject
アクセス許可が必要です。データターゲットには、s3:ListBucket
、s3:PutObject
、およびs3:DeleteObject
アクセス許可が必要です。リソースの Amazon S3 ポリシーの作成については、「Specifying Resources in a Policy」を参照してください。Amazon S3 ポリシーの例については、「Writing IAM Policies: How to Grant Access to an Amazon S3 Bucket」を参照してください。 SSE-KMS で暗号化された Amazon S3 のソースとターゲットにアクセスする予定がある場合は、AWS Glue のクローラ、ジョブ、開発エンドポイントに、データを復号化するためのポリシーをアタッチしてください。詳細については、「Protecting Data Using Server-Side Encryption with AWS KMS-Managed Keys (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
のプレフィックスが付けられたロールを作成します。AWSGlueServiceRole
が提供するポリシーでは、IAM サービスロールが AWS Glue で始まることを想定しています。それ以外の場合は、ユーザーにポリシーを追加して、IAM ロールのiam:PassRole
アクセス許可をユーザーの命名規則に一致させる必要があります。[ロールの作成] を選択します。注記
ロールを使用してノートブックを作成すると、そのロールがインタラクティブセッションに渡され、その両方で同じロールを使用できるようになります。このように、
iam:PassRole
のアクセス許可がロールのポリシーの一部として必要です。次の例を使用して、ロール用の新しいポリシーを作成します。アカウント番号とロール名を自分のものに置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::090000000210:role/<role_name>" } ] }
-
ロールにタグを追加します (オプション)。タグは AWS リソースに追加できるキーと値のペアであり、リソースの識別、整理、検索するために役立ちます。続いて、[Create role] (ロールの作成) を選択します。