Amazon Athena の AWS 管理ポリシー - Amazon Athena

Amazon Athena の AWS 管理ポリシー

AWS マネージドポリシーは、AWS が作成および管理するスタンドアロンポリシーです。AWS マネージドポリシーは、多くの一般的なユースケースで権限を提供できるように設計されているため、ユーザー、グループ、ロールへの権限の割り当てを開始できます。

AWS マネージドポリシーは、ご利用の特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることにご注意ください。AWSのすべてのお客様が使用できるようになるのを避けるためです。ユースケース別にカスタマーマネージドポリシーを定義して、マネージドポリシーを絞り込むことをお勧めします。

AWS マネージドポリシーで定義したアクセス権限は変更できません。AWS が AWS マネージドポリシーに定義されている権限を更新すると、更新はポリシーがアタッチされているすべてのプリンシパルアイデンティティ (ユーザー、グループ、ロール) に影響します。新しい AWS のサービス を起動するか、既存のサービスで新しい API オペレーションが使用可能になると、AWS が AWS マネージドポリシーを更新する可能性が最も高くなります。

詳細については、「IAM ユーザーガイド」の「AWS 管理ポリシー」を参照してください。

Athena で管理ポリシーを使用する際の考慮事項

マネージドポリシーは使用しやすく、サービスの高度化に伴い必要になるアクションで自動的に更新されます。Athena で管理ポリシーを使用する場合は、次の点に注意してください。

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

  • 各アイデンティティベースのポリシーは、許可または拒否されるアクションを定義するステートメントで構成されます。ポリシーをユーザーにアタッチするための詳細情報および手順については、「IAM ユーザーガイド」の「管理ポリシーのアタッチ」を参照してください。アクションの一覧については、Amazon Athena API リファレンスを参照してください。

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

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

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

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

AWS 管理ポリシー: AmazonAthenaFullAccess

AmazonAthenaFullAccess マネージドポリシーは Athena への完全なアクセス権を付与します。

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。

アクセス許可のグループ化

AmazonAthenaFullAccess ポリシーは、以下のアクセス許可セットにグループ化されます。

  • athena – Athena リソースへのアクセスをプリンシパルに許可します。

  • glue – AWS Glue データベース、テーブル、およびパーティションへのアクセスをプリンシパルに許可します。これは、プリンシパルが Athena で AWS Glue Data Catalog を使用するのに必要です。

  • s3 – Amazon S3 からのクエリ結果の書き込みと読み込み、Amazon S3 に存在する公開されている Athena データサンプルの読み込み、およびバケットの一覧表示をプリンシパルに許可します。これは、プリンシパルが Athena を使用して Amazon S3 を操作できるようにするために必要です。

  • sns – Amazon SNS トピックの一覧表示と、トピック属性の取得をプリンシパルに許可します。これにより、プリンシパルは Amazon SNS トピックを Athena とともに使用して、モニタリングおよびアラートの目的で使用できるようになります。

  • cloudwatch – CloudWatch アラームの作成、読み込み、削除をプリンシパルに許可します。詳細については、「CloudWatch と EventBridge を使用してクエリをモニタリングし、コストを管理する」を参照してください。

  • lakeformation - プリンシパルが一時的な認証情報を要求して、Lake Formation に登録されているデータレイクの場所にあるデータにアクセスできるようにします。詳細については、「AWS Lake Formation デベロッパーガイド」の「Underlying Data Access Control」(基盤となるデータアクセスコントロール) を参照してください。

  • datazone— プリンシパルで Amazon DataZone プロジェクト、ドメイン、環境を一覧表示できるようにします。Athena での DataZone の使用に関する詳細については、「Athena で Amazon DataZone を使用する」を参照してください。

  • pricing - AWS Billing and Cost Management へのアクセスを提供します。詳細については、「AWS Billing and Cost Management API リファレンス」の「GetProducts」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BaseAthenaPermissions", "Effect": "Allow", "Action": [ "athena:*" ], "Resource": [ "*" ] }, { "Sid": "BaseGluePermissions", "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", "glue:StartColumnStatisticsTaskRun", "glue:GetColumnStatisticsTaskRun", "glue:GetColumnStatisticsTaskRuns", "glue:GetCatalogImportStatus" ], "Resource": [ "*" ] }, { "Sid": "BaseQueryResultsPermissions", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:PutObject", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] }, { "Sid": "BaseAthenaExamplesPermissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::athena-examples*" ] }, { "Sid": "BaseS3BucketPermissions", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "BaseSNSPermissions", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": [ "*" ] }, { "Sid": "BaseCloudWatchPermissions", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricAlarm", "cloudwatch:DescribeAlarms", "cloudwatch:DeleteAlarms", "cloudwatch:GetMetricData" ], "Resource": [ "*" ] }, { "Sid": "BaseLakeFormationPermissions", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "*" ] }, { "Sid": "BaseDataZonePermissions", "Effect": "Allow", "Action": [ "datazone:ListDomains", "datazone:ListProjects", "datazone:ListAccountEnvironments" ], "Resource": [ "*" ] }, { "Sid": "BasePricingPermissions", "Effect": "Allow", "Action": [ "pricing:GetProducts" ], "Resource": [ "*" ] } ] }

AWS 管理ポリシー: AWSQuicksightAthenaAccess

AWSQuicksightAthenaAccess は Amazon QuickSight が Athena との統合に必要とするアクションにアクセス権を付与します。AWSQuicksightAthenaAccess ポリシーは IAM ID にアタッチできます。このポリシーは、Athena で Amazon QuickSight を使用するプリンシパルのみにアタッチします。このポリシーには、非推奨となったために現行のパブリック API に含まれていない、または JDBC ドライバーおよび ODBC ドライバーのみで使用される Athena 用のアクションがいくつか含まれています。

アクセス許可のグループ化

AWSQuicksightAthenaAccess ポリシーは、以下のアクセス許可セットにグループ化されます。

  • athena – Athena リソースに対するクエリの実行をプリンシパルに許可します。

  • glue – AWS Glue データベース、テーブル、およびパーティションへのアクセスをプリンシパルに許可します。これは、プリンシパルが Athena で AWS Glue Data Catalog を使用するのに必要です。

  • s3 – Amazon S3 からのクエリ結果の書き込みおよび読み込みを行うことをプリンシパルに許可します。

  • lakeformation - プリンシパルが一時的な認証情報を要求して、Lake Formation に登録されているデータレイクの場所にあるデータにアクセスできるようにします。詳細については、「AWS Lake Formation デベロッパーガイド」の「Underlying Data Access Control」(基盤となるデータアクセスコントロール) を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:BatchGetQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:ListQueryExecutions", "athena:StartQueryExecution", "athena:StopQueryExecution", "athena:ListWorkGroups", "athena:ListEngineVersions", "athena:GetWorkGroup", "athena:GetDataCatalog", "athena:GetDatabase", "athena:GetTableMetadata", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:ListTableMetadata" ], "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", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] }, { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "*" ] } ] }

Athena による AWS 管理ポリシーの更新

Athena の AWS 管理ポリシーの更新に関する詳細を、このサービスがこれらの変更の追跡を開始した以降の分について表示します。

変更 説明 日付

AmazonAthenaFullAccess - 既存のポリシーへの更新

Athena が公開されている AWS Glue GetCatalogImportStatus API を使用してカタログのインポートステータスを取得できるようにします。

2024 年 6 月 18 日

AmazonAthenaFullAccess - 既存のポリシーへの更新

datazone:ListDomainsdatazone:ListProjectsdatazone:ListAccountEnvironments のアクセス許可が追加され、Athena ユーザーが Amazon DataZone のドメイン、プロジェクト、環境を操作できるようになりました。詳細については、「Athena で Amazon DataZone を使用する」を参照してください。

2024 年 1 月 3 日

AmazonAthenaFullAccess - 既存のポリシーへの更新

glue:StartColumnStatisticsTaskRunglue:GetColumnStatisticsTaskRunglue:GetColumnStatisticsTaskRuns のアクセス許可が追加されたのは、Athena に AWS Glue を呼び出してコストベースのオプティマイザー機能の統計を取得する権限を与えるためです。詳細については、「コストベースオプティマイザーを使用する」を参照してください。

2024 年 1 月 3 日

AmazonAthenaFullAccess - 既存のポリシーへの更新

Athena は、AWS Billing and Cost Management へのアクセスを提供するために pricing:GetProducts を追加しました。詳細については、「AWS Billing and Cost Management API リファレンス」の「GetProducts」を参照してください。

2023 年 1 月 25 日

AmazonAthenaFullAccess - 既存のポリシーへの更新

CloudWatch メトリクス値を取得するため、Athena は cloudwatch:GetMetricData を追加しました。詳細については、「Amazon CloudWatch API リファレンス」の「GetMetricData」を参照してください。

2022 年 11 月 14 日

AmazonAthenaFullAccess および AWSQuicksightAthenaAccess – 既存のポリシーの更新

Athena が s3:PutBucketPublicAccessBlock を追加して、Athena によって作成されたバケットのパブリックアクセスのブロックを有効にしました。

2021 年 7 月 7 日

Athena が変更の追跡を開始

Athena が AWS 管理ポリシーの変更の追跡を開始しました。

2021 年 7 月 7 日