ステップ 4: ノートブックサービスの IAM ポリシーを作成する - AWS Glue

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

ステップ 4: ノートブックサービスの IAM ポリシーを作成する

開発エンドポイントでノートブックを使用する予定の場合は、ノートブックサーバーの作成時にアクセス許可を指定する必要があります。AWS Identity and Access Management (IAM) を使用してアクセス権限を提供できます。

このポリシーは、AWS Glue がこのポリシーを使用してロールを引き受ける際に必要となるアカウント内のリソースを管理する Amazon S3 アクションの一部を許可します。このポリシーで指定されているリソースの中には、Amazon S3 バケット、Amazon S3 ETL スクリプト、および Amazon EC2 リソース用の AWS Glue で使用されるデフォルトの名前があります。分かりやすいように、AWS Glue デフォルトでは aws-glue-* のプレフィックスが付いた Amazon S3 オブジェクトをアカウント内のバケットに書き込みます。

注記

AWS 管理ポリシー AWSGlueServiceNotebookRole を使用する場合は、このステップをスキップできます。

このステップでは、AWSGlueServiceNotebookRole に似たポリシーを作成します。AWSGlueServiceNotebookRole の最新バージョンは IAM コンソールにあります。

ノートブックの IAM ポリシーを作成するには

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. 左のナビゲーションペインの [Policies (ポリシー)] を選択します。

  3. [Create Policy (ポリシーの作成)] を選択します。

  4. [ポリシーの作成] 画面で、JSON 編集のためのタブに移動します。次の JSON ステートメントを使用してポリシードキュメントを作成して、[ポリシーの確認] を選択します。

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "glue:CreateDatabase", "glue:CreatePartition", "glue:CreateTable", "glue:DeleteDatabase", "glue:DeletePartition", "glue:DeleteTable", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartition", "glue:GetPartitions", "glue:GetTable", "glue:GetTableVersions", "glue:GetTables", "glue:UpdateDatabase", "glue:UpdatePartition", "glue:UpdateTable", "glue:CreateBookmark", "glue:GetBookmark", "glue:UpdateBookmark", "glue:GetMetric", "glue:PutMetric", "glue:CreateConnection", "glue:CreateJob", "glue:DeleteConnection", "glue:DeleteJob", "glue:GetConnection", "glue:GetConnections", "glue:GetDevEndpoint", "glue:GetDevEndpoints", "glue:GetJob", "glue:GetJobs", "glue:UpdateJob", "glue:BatchDeleteConnection", "glue:UpdateConnection", "glue:GetUserDefinedFunction", "glue:UpdateUserDefinedFunction", "glue:GetUserDefinedFunctions", "glue:DeleteUserDefinedFunction", "glue:CreateUserDefinedFunction", "glue:BatchGetPartition", "glue:BatchDeletePartition", "glue:BatchCreatePartition", "glue:BatchDeleteTable", "glue:UpdateDevEndpoint", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketAcl" ], "Resource":[ "*" ] }, { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":[ "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:DeleteObject" ], "Resource":[ "arn:aws:s3:::aws-glue*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateTags", "ec2:DeleteTags" ], "Condition":{ "ForAllValues:StringEquals":{ "aws:TagKeys":[ "aws-glue-service-resource" ] } }, "Resource":[ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*" ] } ] }

    次の表は、このポリシーによって付与されたアクセス権限を示しています。

    アクション リソース 説明

    "glue:*"

    "*"

    すべての AWS Glue API オペレーションを実行する権限を付与します。

    "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketAcl"

    "*"

    ノートブックサーバーから Amazon S3 バケットの一覧表示を許可します。

    "s3:GetObject"

    "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue-*"

    ノートブックのサンプルやチュートリアルで使用されている Amazon S3 オブジェクトを取得できます。

    命名規則: Amazon S3 バケット名は [crawler-public] および [aws-glue-] で始まります。

    "s3:PutObject", "s3:DeleteObject"

    "arn:aws:s3:::aws-glue*"

    ノートブックからアカウントへの Amazon S3 オブジェクトの書き込みと削除を許可します。

    命名規則: [aws-glue] という Amazon S3 フォルダを使用します。

    "ec2:CreateTags", "ec2:DeleteTags"

    "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*"

    ノートブックサーバー用に作成された Amazon EC2 リソースのタグ付けを許可します。

    命名規則: AWS Glue は Amazon EC2 インスタンスを [aws-glue-service-resource] とタグ付けします。

  5. [Review Policy (ポリシーの確認)] 画面で、[Policy Name (ポリシー名)]([GlueServiceNotebookPolicyDefault] など)を入力します。オプションの説明を入力し、ポリシーが適切であることを確認したら、[Create policy] を選択します。