Federated Query を使用する Athena データセットのビジュアルでアクセス許可エラーが発生する場合の対処方法

Federated Query を使用する Athena データセットのビジュアルでアクセス許可エラーが発生する場合の対処方法

Clock Icon2024.08.31

困っている内容

Federated Query を使用する Athena データセットでビジュアルを作成した所、ビジュアル上に以下のエラーが発生しました。

このデータセットに接続する、またはこのクエリを実行するのに十分なアクセス許可がありません。管理者にお問い合わせください。

しかし、QuickSight 管理画面の「セキュリティとアクセス許可」ページを確認すると、対象の S3 バケットおよび Athena へのアクセスは許可されておりました。
上記エラーを解消する方法を教えていただけますでしょうか。

どう対応すればいいの?

QuickSight の IAM ロール「aws-quicksight-service-role-v0」に、Lambda 関数を呼び出すための「InvokeFunction」アクション[1] が許可されているか確認してください。

Federated Query を使用する Athena をデータソースとする場合、QuickSight 管理画面の「セキュリティとアクセス許可」ページで、Lambda 関数へのアクセス許可も設定する必要があります。

IAM ロール「aws-quicksight-service-role-v0」に「InvokeFunction」が許可されていない場合には、IAM コンソールではなく、必ず AWS ドキュメント[2] の以下手順に従い、手順 6 で Lambda 関数へのアクセス許可を設定してください。
IAM コンソールから Lambda 関数へのアクセス許可を設定してしまった場合、IAM ロール「aws-quicksight-service-role-v0」の再作成が必要となる可能性があります。[3]

To authorize QuickSight to connect to Athena or Athena federated data sources

  1. (Optional) If you are using AWS Lake Formation with Athena, you also need to enable Lake Formation. For more information, see Authorizing connections through AWS Lake Formation.
  2. Open your profile menu at top right and choose Manage QuickSight. You must be a QuickSight administrator to do this. If you don't see Manage QuickSight on the profile menu, you don't have sufficient permissions.
  3. Choose Security & permissions, Add or remove.
  4. Choose the box near Amazon Athena, Next.
    If it was already enabled, you might have to double-click it. Do this even if Amazon Athena is already enabled, so you can view the settings. No changes are saved until you choose Update at the end of this procedure.
  5. Enable the S3 buckets you want to access.
  6. (Optional) To enable Athena federated queries, select the Lambda functions you want to use.
    Note
    You can only see Lambda functions for the Athena catalogs in the same region of QuickSight.
  7. To confirm your changes, choose Finish.
    To cancel, choose Cancel.
  8. To save changes to security and permissions, choose Update.

参考資料

[1] Actions defined by AWS Lambda
===== 抜粋 =====

Actions Description Access level Resource types (*required) Condition keys Dependent actions
InvokeFunction Grants permission to invoke an AWS Lambda function Write function* lambda:EventSourceToken

===== 抜粋 =====

[2] Authorizing connections to Amazon Athena - Amazon QuickSight

[3] Amazon QuickSight で発生する AWS リソースのアクセス許可に関するエラーをトラブルシューティングする方法を教えてください。
===== 抜粋 =====
Amazon QuickSight のアクセス許可を編集すると、次のエラーのいずれかが表示されることがあります。

  • 「The role used by QuickSight for AWS resource access was modified to an un-recoverable state outside of QuickSight, so you can no longer edit AWS resource permissions in QuickSight.」
  • 「We were unable to update QuickSight permissions for AWS resources.Either you are not authorized to edit QuickSight permissions on AWS resources, or the QuickSight permissions were changed using the IAM console and are therefore no longer updateable through QuickSight.」
  • 「We cannot update the IAM Role」
  • 「QuickSight has detected unknown policies attached to following roles please detach them and retry」
  • 「Something went wrong For more information see Set IAM policy」

これらのエラーは、AWS Identity and Access Management (IAM) コンソールから、AWS リソースに対する QuickSight のアクセス許可を編集したときに発生します。

注: ベストプラクティスは、IAM コンソールではなく Amazon QuickSight コンソールを使用して AWS リソースに対する QuickSight のアクセス許可を編集することです。
===== 抜粋 =====

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.