Amazon Athena への接続を許可する - Amazon QuickSight

Amazon Athena への接続を許可する

Amazon Athena または Amazon Athena 横串検索で Amazon QuickSight を使用する必要がある場合は、まず Amazon Simple Storage Service (Amazon S3) で Athena および関連するバケットへの接続を承認する必要があります。Amazon Athena はインタラクティブなクエリサービスで、Amazon S3 内のデータをスタンダード SQL を使用して直接、簡単に分析します。Athena 横串検索では、AWS Lambdaを使用してより多くのタイプのデータにアクセスできます。QuickSight から Athena への接続を使用して、リレーショナル、非リレーショナル、オブジェクト、カスタムの各データソースに保存されているデータを調査する SQL クエリを書き込めます。詳細については、Amazon Athena ユーザーガイドの Using Amazon Athena Federated Query を参照してください。

QuickSight から Athena へのアクセスを設定するときは、次の考慮事項を確認してください。

  • Athena は、QuickSight からのクエリ結果をバケットに格納します。デフォルトでは、このバケットには aws-athena-query-results-111111111111-us-east-2 のような aws-athena-query-results-AWSACCOUNTID-AWSREGION に似た名前が付いています。そのため、QuickSight に、Athena が現在使用しているバケットにアクセスする権限があることを確認することが重要です。

  • データファイルが AWS KMS キーで暗号化されている場合は、キーを復号する IAM ロールを Amazon QuickSight に付与します。そのための最も簡単な方法は、AWS CLI を使用することです。

    これを行うために、AWS CLI で、KMS create-grant API オペレーションを実行します。

    aws kms create-grant --key-id <KMS_KEY_ARN> / --grantee-principal <QS_ROLE_ARN> --operations Decrypt

    Amazon QuickSight ロールの Amazon リソースネーム (ARN) は arn:aws:iam::<account id>:role/service-role/aws-quicksight-s3-consumers-role-v<version number> 形式であり、IAM コンソールからアクセスできます。KMS キー ARN を見つけるには、S3 コンソールを使用します。データファイルが格納されているバケットに移動し、[Overview (概要)] タブを選択します。キーは [KMS key ID (KMS キー ID)] の近くにあります。

  • Amazon Athena、Amazon S3、および Athena クエリフェデレーション接続の場合、QuickSight はデフォルトで次の IAM ロールを使用します。

    arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-s3-consumers-role-v0

    そのファイルにaws-quicksight-s3-consumers-role-v0が存在しない場合、QuickSight は以下を使用します。

    arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-service-role-v0
  • ユーザーにスコープダウンポリシーを割り当てた場合は、ポリシーにlambda:InvokeFunctionアクセス許可。この権限がないと、ユーザーは Athena フェデレーションクエリにアクセスできません。QuickSight で IAM ポリシーをユーザーに割り当てる方法の詳細については、IAM 経由で AWS のサービスへの詳細なアクセスを設定する をご参照ください。Lambda: InvokeFunction アクセス許可の詳細については、アクション、リソース、条件キーAWS LambdaIAM ユーザーガイドでご参照ください。

Athena または Athena フェデレーションデータソースへの接続するにはQuickSight を認可してください。

  1. (オプション) Athena で AWS Lake Formation を使用している場合は、Lake Formation も有効にする必要があります。詳細については、「」を参照してくださいAWS Lake Formation による接続の許可

  2. 右上のプロファイルメニュー を開いて、[Manage QuickSight (QuickSight の管理)] を選択します。これを行うには、QuickSight 管理者である必要があります。表示されない場合は、プロファイルメニューのManage QuickSight (QuickSight の管理) へアクセスするのに十分なアクセス許可がありません。

  3. [Security & Permissions (セキュリティとアクセス許可)] で、[Add or remove (追加または削除)] を選択します。

  4. Amazon Athena の近くのボックスで、[Next (次へ)] を選択します。

    既に有効になっている場合は、ダブルクリックする必要があります。Amazon Athena がすでに有効になっている場合でもこれを実行し、設定を表示できるようにしてください。この手順の最後にある [Update (更新)] を選択するまで、変更は保存されません。

  5. アクセスする S3 バケットを有効にします。

  6. (オプション) Athena 横串検索を有効にするには、使用する Lambda 関数を選択します。

    注記

    QuickSight の同じリージョンにある Athena カタログの Lambda 関数のみを表示できます。

  7. [Finish (完了)] を選択し、変更を保存します。

    キャンセルするには、[Cancel (キャンセル)] を選択します。

  8. セキュリティおよびアクセス許可の変更を保存するには、[Update (更新)] を選択します。

接続認可設定をテストするには

  1. QuickSight の開始ページで、[Datasets (データセット)]、[New dataset (新規データセット)] を選択します。

  2. Athena カードを選択する。

  3. 画面のプロンプトに従って、接続する必要のあるリソースを使用して新しい Athena データソースを作成します。[Validate connection (接続を検証)] を選択して、接続を検証します。

  4. 接続が検証されると、Athena または Athena 横串検索の接続が設定されます。

    Athena データセットへの接続や Athena クエリの実行に必要なアクセス許可がない場合はエラーが表示され、QuickSight 管理者に連絡するように指示されます。このエラーは、不一致を見つけるために、接続認可設定を再確認する必要があることを意味します。

  5. 正常に接続できたら、ユーザーまたは QuickSight の作成者はデータソース接続を作成し、他の QuickSight の作成者と共有できます。作成者は、接続から複数のデータセットを作成し、QuickSight ダッシュボードで使用できます。

    Athena のトラブルシューティングの詳細については、Amazon QuickSight で Athena を使用するときに発生する問題のトラブルシューティング を参照してください。