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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

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

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

注記

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

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

ノートブック用に IAM ポリシーを作成するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

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

  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:GetJobBookmark", "glue:ResetJobBookmark", "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] を選択します。