ステップ 2: AWS Glue 用の IAM ロールを作成する - AWS Glue

ステップ 2: AWS Glue 用の IAM ロールを作成する

ユーザーに代わり他のサービスを呼び出す際に AWS Glue が引き受けることができる、IAM ロールのアクセス許可を付与する必要があります。これには、AWS Glue で使用するすべてのソース、ターゲット、スクリプト、および一時ディレクトリでの Amazon S3 へのアクセスが含まれます。クローラ、ジョブ、および開発エンドポイントによって許可が必要です。

AWS Identity and Access Management (IAM) を使用してアクセス権限を提供できます。AWS Glue に渡す IAM ロールにポリシーを追加します。

用に IAM ロールを作成するには AWS Glue
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. 左のナビゲーションペインで、[ロール] を選択します。

  3. [ロールの作成] を選択します。

  4. ロールタイプについては、[AWS Service] (サービス) を選択してから、[Glue] を見つけて選択し、[Next: Permissions] (次へ: アクセス許可) をクリックします。

  5. [アクセス権限ポリシーをアタッチする] のページで、必要なアクセス権限を含むポリシーを選択します。例えば、一般的な AWS 許可の AWSGlueServiceRole マネージドポリシーAWS Glue や、Amazon S3リソースへアクセスするための AWS マネージドポリシー AmazonS3FullAccess などがあります。続いて、[Next: Review] をクリックします。

    注記

    Amazon S3 のソースとターゲットに対するアクセス許可を、このロールのポリシーの 1 つにより付与してください。独自のポリシーを、特定の Amazon S3 リソースにアクセスするために指定します。データソースには、s3:ListBucket および s3:GetObject アクセス許可が必要です。データターゲットには、s3:ListBuckets3: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" ] } ] }
  6. [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>" } ] }