View a markdown version of this page

Athena でデータソースを作成して使用するアクセス許可 - Amazon Athena

Athena でデータソースを作成して使用するアクセス許可

Lambda アクセス許可のない AWS Glue Data Catalog フェデレーションコネクタ

  • コネクタ管理とクエリ向けに Athena API を呼び出すための IAM プリンシパルアクセス許可

    • Amazon Athena アクセス – AmazonAthenaFullAccess マネージドポリシーは、Amazon Athena へのフルアクセスと、クエリ、結果の書き込み、データ管理に必要な依存関係へのスコープ付きアクセスを提供します。詳細については、「AWS 管理ポリシーリファレンスガイド」の「AmazonAthenaFullAccess」を参照してください。

    • AWS Glue 接続管理 – AWS Glue 接続オブジェクトを作成および管理するためのアクセス許可。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetConnection", "glue:CreateConnection", "glue:DeleteConnection", "glue:UpdateConnection" ], "Resource": "*" } ] }
      注記

      このポリシー例では、わかりやすくするために "Resource": "*" を使用しています。本番環境では、可能な場合は特定のリソースへのアクセス許可の範囲を設定します。

    • AWS Lake Formation アクセス – AWS Glue カタログを作成し、きめ細かなアクセスコントロールを使用するためのアクセス許可。

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:RegisterResource", "iam:ListRoles", "glue:CreateCatalog", "glue:GetCatalogs", "glue:GetCatalog" ], "Resource": "*" } ] }
  • Glue Data Catalog IAM ロール

    • このセクションでは、Athena がインフラストラクチャをプロビジョニングし、データソースをクエリするために必要なアクセス許可について説明します。Amazon Athena フェデレーションクエリでは、Glue Data Catalog IAM ロールに渡されるロールに次のアクセス許可が必要です。

      注記

      VPC 内のデータソースに接続すると、Athena は指定された VPC 内のアカウントに Elastic Network Interface (ENI) を作成します。IAM ロールには、このネットワークインターフェイスを作成、説明、削除するための EC2 アクセス許可が必要です。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:ManagedConnector", "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "dynamodb:DescribeTable", "dynamodb:ListTables", "dynamodb:Scan", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:BatchGetItem" ], "Resource": "*" } ] }
      注記

      このポリシー例では、わかりやすくするために "Resource": "*" を使用しています。本番環境では、可能な場合は特定のリソースへのアクセス許可の範囲を設定します。Secrets Manager のアクセス許可を特定のシークレット ARN に制限するなどです。

      許可の説明

      実行可能なアクション

      説明

      必須

      "glue:ManagedConnector"

      Athena がコネクタを呼び出すことを許可します。

      必須

      "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue"

      コネクタが AWS Secrets Manager に保存されているデータベース認証情報を取得できるようにします。

      オプションです。

      "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface"

      データソースが VPC 内にある場合、Athena がネットワークをセットアップできるようにします。

      オプションです。

      "dynamodb:DescribeTable", "dynamodb:ListTables", "dynamodb:Scan", "dynamodb:Query", "dynamodb:GetItem", "dynamodb:BatchGetItem"

      Athena が DynamoDB データソースをクエリできるようにします。

      オプションです。

Lambda アクセス許可を持つ AWS Glue Data Catalog フェデレーションコネクタ

  • コネクタ管理とクエリ向けに Athena API を呼び出すための IAM プリンシパルアクセス許可

    • Amazon Athena アクセス – AmazonAthenaFullAccess マネージドポリシーは、Amazon Athena へのフルアクセスと、クエリ、結果の書き込み、データ管理に必要な依存関係へのスコープ付きアクセスを提供します。詳細については、「AWS 管理ポリシーリファレンスガイド」の「AmazonAthenaFullAccess」を参照してください。

    • コネクタ管理アクセス許可 – Lambda ベースのコネクタを使用するときに Athena DataCatalog API を呼び出すには、次のアクセス許可が必要です。「コネクタと Athena カタログの作成に必要なアクセス許可」を参照してください。

    • AWS Lake Formation アクセス (Lake Formation を使用している場合) – AWS Glue カタログを作成し、きめ細かなアクセスコントロールを使用するためのアクセス許可。

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:RegisterResource", "iam:ListRoles", "glue:CreateCatalog", "glue:GetCatalogs", "glue:GetCatalog" ], "Resource": "*" } ] }

Athena データカタログフェデレーションコネクタのアクセス許可

  • コネクタ管理とクエリ向けに Athena API を呼び出すための IAM プリンシパルアクセス許可

    • Amazon Athena アクセス – AmazonAthenaFullAccess マネージドポリシーは、Amazon Athena へのフルアクセスと、クエリ、結果の書き込み、データ管理に必要な依存関係へのスコープ付きアクセスを提供します。詳細については、「AWS 管理ポリシーリファレンスガイド」の「AmazonAthenaFullAccess」を参照してください。

    • コネクタ管理アクセス許可 – Lambda ベースのコネクタを使用するときに Athena DataCatalog API を呼び出すには、次のアクセス許可が必要です。「コネクタと Athena カタログの作成に必要なアクセス許可」を参照してください。