ワークグループのポリシーの例 - Amazon Athena

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

ワークグループのポリシーの例

このセクションには、ワークグループに対するさまざまなアクションを有効にするために使用できるポリシーの例が含まれています。IAM ポリシーを使用するときは、常に IAM のベストプラクティスに従うようにしてください。詳細については、IAM ユーザーガイドの「IAM でのセキュリティベストプラクティス」を参照してください。

ワークグループは、Athena によって管理されている IAM リソースです。そのため、ワークグループポリシーが入力として workgroup を実行するアクションを使用する場合、ワークグループの ARN を次のように指定する必要があります。

"Resource": [arn:aws:athena:<region>:<user-account>:workgroup/<workgroup-name>]

<workgroup-name> は、ワークグループの名前です。たとえば、test_workgroup という名前のワークグループの場合は、次のようにリソースとして指定します。

"Resource": ["arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"]

mazon Athena アクションの完全なリストについては、Amazon Athena API リファレンスの API アクション名を参照してください。IAM ポリシーの詳細については、「IAM ユーザーガイド」で「ビジュアルエディタでのポリシーの作成」を参照してください。ワークグループ用の IAM ポリシーの作成に関する詳細については、「 ワークグループにアクセスするための IAM ポリシー」を参照してください。

すべてのワークグループへのフルアクセスのポリシーの例

次のポリシーでは、アカウントに存在している可能性があるすべてのワークグループリソースへのフルアクセスを許可します。アカウントの他のすべてのユーザーのワークグループを管理する必要があるユーザーにこのポリシーを使用することをお勧めします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:*" ], "Resource": [ "*" ] } ] }
指定したワークグループへのフルアクセスのポリシーの例

次のポリシーでは、workgroupA という名前の 1 つの特定のワークグループリソースへのフルアクセスを許可します。特定のワークグループを完全に制御しているユーザーにこのポリシーを使用できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListEngineVersions", "athena:ListWorkGroups", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:BatchGetQueryExecution", "athena:GetQueryExecution", "athena:ListQueryExecutions", "athena:StartQueryExecution", "athena:StopQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:CreateNamedQuery", "athena:GetNamedQuery", "athena:BatchGetNamedQuery", "athena:ListNamedQueries", "athena:DeleteNamedQuery", "athena:CreatePreparedStatement", "athena:GetPreparedStatement", "athena:ListPreparedStatements", "athena:UpdatePreparedStatement", "athena:DeletePreparedStatement" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA" ] }, { "Effect": "Allow", "Action": [ "athena:DeleteWorkGroup", "athena:UpdateWorkGroup", "athena:GetWorkGroup", "athena:CreateWorkGroup" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA" ] } ] }
指定したワークグループでクエリを実行するためのポリシーの例

次のポリシーでは、ユーザは指定された workgroupA でクエリを実行し、それらを表示することを許可されています。ユーザーは、ワークグループの更新や削除など、ワークグループ自体の管理タスクを実行することはできません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListEngineVersions", "athena:ListWorkGroups", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:GetWorkGroup", "athena:BatchGetQueryExecution", "athena:GetQueryExecution", "athena:ListQueryExecutions", "athena:StartQueryExecution", "athena:StopQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:CreateNamedQuery", "athena:GetNamedQuery", "athena:BatchGetNamedQuery", "athena:ListNamedQueries", "athena:DeleteNamedQuery", "athena:CreatePreparedStatement", "athena:GetPreparedStatement", "athena:ListPreparedStatements", "athena:UpdatePreparedStatement", "athena:DeletePreparedStatement" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA" ] } ] }
プライマリワークグループでクエリを実行するためのポリシーの例

上記の例を変更して、特定のユーザーがプライマリワークグループでクエリを実行できるようにすることができます。

注記

指定したワークグループでクエリを実行するように設定されているすべてのユーザーに、このプライマリワークグループのリソースを追加することをお勧めします。このリソースをワークグループのユーザーポリシーに追加すると、指定したワークグループが削除されたり無効になったりした場合に役立ちます。この場合、プライマリワークグループでクエリを実行し続けることができます。

アカウントのユーザーがプライマリワークグループでクエリを実行できるようにするには、次の例のように、プライマリワークグループの ARN を含む行を Example policy for running queries in a specified workgroup のリソースセクションに追加します。

arn:aws:athena:us-east-1:123456789012:workgroup/primary"
指定したワークグループに対する管理オペレーションのポリシーの例

次のポリシーでは、ユーザはワークグループ test_workgroup の作成、削除、詳細の取得、および更新を許可されています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListEngineVersions" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:CreateWorkGroup", "athena:GetWorkGroup", "athena:DeleteWorkGroup", "athena:UpdateWorkGroup" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup" ] } ] }
ワークグループを一覧表示するためのポリシーの例

次のポリシーでは、すべてのワークグループをすべてのユーザーが一覧表示できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListWorkGroups" ], "Resource": "*" } ] }
特定のワークグループでクエリを実行および停止するためのポリシーの例

このポリシーでは、ユーザーは、ワークグループでクエリを実行できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:StopQueryExecution" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup" ] } ] }
特定のワークグループで名前付きクエリを使用するポリシーの例

次のポリシーでは、ユーザーは指定されたワークグループの名前付きクエリに関する情報を作成、削除、および取得するアクセス権限を持っています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:CreateNamedQuery", "athena:GetNamedQuery", "athena:DeleteNamedQuery" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup" ] } ] }
例 Athena で Spark ノートブックを操作するための
ポリシーの例

Athena で Spark ノートブックを操作するには、次のようなポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreatingWorkGroupWithDefaults", "Action": [ "athena:CreateWorkGroup", "s3:CreateBucket", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "s3:GetBucketLocation", "athena:ImportNotebook" ], "Effect": "Allow", "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*", "arn:aws:s3:::123456789012-us-east-1-athena-results-bucket-*", "arn:aws:iam::123456789012:role/service-role/AWSAthenaSparkExecutionRole-*", "arn:aws:iam::123456789012:policy/service-role/AWSAthenaSparkRolePolicy-*" ] }, { "Sid": "AllowRunningCalculations", "Action": [ "athena:ListWorkGroups", "athena:GetWorkGroup", "athena:StartSession", "athena:CreateNotebook", "athena:ListNotebookMetadata", "athena:ListNotebookSessions", "athena:GetSessionStatus", "athena:GetSession", "athena:GetNotebookMetadata", "athena:CreatePresignedNotebookUrl" ], "Effect": "Allow", "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*" }, { "Sid": "AllowListWorkGroupAndEngineVersions", "Action": [ "athena:ListWorkGroups", "athena:ListEngineVersions" ], "Effect": "Allow", "Resource": "*" } ] }