Amazon Athena
ユーザーガイド

ユーザーアクセス用の管理ポリシー

自分自身または他のユーザーに対して Athena サービスアクションを許可または拒否するには、ユーザーやグループなどのプリンシパルにアタッチされた、アイデンティティベース (IAM) ポリシーを使用します。

各アイデンティティベース (IAM) ポリシーは、許可または拒否されるアクションを定義するステートメントで構成されます。アクションの一覧については、Amazon Athena API リファレンスを参照してください。

管理ポリシーは使いやすく、自動更新されてサービスの進化に伴う必須アクションが反映されます。ポリシーをユーザーにアタッチするための詳細情報および手順については、AWS Identity and Access Management ユーザーガイドの「管理ポリシーのアタッチ」を参照してください。

Athena には次の管理ポリシーがあります。

  • AmazonAthenaFullAccess 管理ポリシーは Athena へのフルアクセスを付与します。これを、Athena へのフルアクセスを必要とするユーザーや他のプリンシパルにアタッチします。「AmazonAthenaFullAccess 管理ポリシー」を参照してください。

  • AWSQuicksightAthenaAccess 管理ポリシーでは、Amazon QuickSight と Athena の統合に必要なアクションに対するアクセス権を付与します。このポリシーは、Amazon QuickSight を Athena と併用するプリンシパルにアタッチします。「AWSQuicksightAthenaAccess 管理ポリシー」を参照してください。

カスタマー管理ポリシーおよびアイデンティティベースのインラインポリシーを使用すると、ポリシー内でより詳細な Athena アクションを指定してアクセスを微調整できます。AmazonAthenaFullAccess ポリシーを開始点として使用し、次に Amazon Athena API リファレンスに示されている特定のアクションを許可または拒否することをお勧めします。インラインポリシーの詳細については、AWS Identity and Access Management ユーザーガイドの「管理ポリシーとインラインポリシー」を参照してください。

JDBC を使用して接続するプリンシパルに対しては、JDBC ドライバーの認証情報をアプリケーションに提供する必要があります。詳細については、「JDBC 接続のサービスアクション」を参照してください。

Athena で AWS Glue を使用して移行済みであり、AWS Glue データカタログの暗号化を選択している場合は、Athena で使用するアイデンティティベースの IAM ポリシーに追加のアクションを指定する必要があります。詳細については、「AWS Glue データカタログの暗号化されたメタデータへのアクセス」を参照してください。

重要

ワークグループを作成して使用する場合、ポリシーにワークグループアクションへの適切なアクセス許可が含まれていることを確認してください。詳細については、「 ワークグループにアクセスするための IAM ポリシー」および「ワークグループのポリシーの例」を参照してください。

AmazonAthenaFullAccess 管理ポリシー

AmazonAthenaFullAccess 管理ポリシーは Athena へのフルアクセスを付与します。

管理ポリシーの内容は変わるため、ここに示すポリシーは古くなっている可能性があります。IAM コンソールで最新のポリシーを確認してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::athena-examples*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricAlarm", "cloudwatch:DescribeAlarms", "cloudwatch:DeleteAlarms" ], "Resource": [ "*" ] } ] }

AWSQuicksightAthenaAccess 管理ポリシー

追加の管理ポリシー AWSQuicksightAthenaAccess では、Amazon QuickSight と Athena の統合に必要なアクションに対するアクセス許可を付与します。このポリシーに含まれる Athena のアクションには、廃止されており、現在公開されている API に含まれていないもの、または JDBC ドライバーおよび ODBC ドライバーでのみ使用されるものがあります。このポリシーは、Amazon QuickSight を Athena と併用するプリンシパルにのみアタッチします。

管理ポリシーの内容は変わるため、ここに示すポリシーは古くなっている可能性があります。IAM コンソールで最新のポリシーを確認してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:BatchGetQueryExecution", "athena:CancelQueryExecution", "athena:GetCatalogs", "athena:GetExecutionEngine", "athena:GetExecutionEngines", "athena:GetNamespace", "athena:GetNamespaces", "athena:GetQueryExecution", "athena:GetQueryExecutions", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:GetTable", "athena:GetTables", "athena:ListQueryExecutions", "athena:RunQuery", "athena:StartQueryExecution", "athena:StopQueryExecution" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] } ] }

JDBC および ODBC 接続を介したアクセス

Athena や Amazon S3 バケットなど、AWS のサービスやリソースへのアクセスを取得するには、JDBC または ODBC ドライバーの認証情報をアプリケーションに提供します。JDBC ドライバーバージョン 2.0.2、または ODBC ドライバーバージョン 1.0.3 を使用している場合は、AWSQuicksightAthenaAccess 管理ポリシーにリストされているすべてのアクションがアクセスポリシーに含まれることを確認します。

JDBC ドライバーの最新バージョンについては、「JDBC ドライバーでの接続」を参照してください。

ODBC ドライバーの最新バージョンについては、「ODBC ドライバーでの接続」を参照してください。