CloudShell でQuicksightのデータセット一覧を取得したい

AWS初心者です。お手柔らかにお願いします。

やりたいことは、『CloudShell でQuicksightのデータセット一覧を取得したい』です。
しかし、実行権限がないとエラーになります。

以下のことを実施しました。
・IAMユーザにCloudShellとQuicksightのフルアクセス許可ポリシーを適用。
・そのIAMユーザでAWS Management Consoleへログイン。
・サービスからCloudShellを起動し、下記コマンドを実行。
⇒実行権限がないということでエラー。

関係あるかわかりませんが、補足します。
リージョンは、QuicksightもCloudShellも同じリージョンで使用しています。
IAMユーザは、MFA認証しています。
(MFA認証なしでは、CloudShellの環境が作成できなかったため。)

CloudShellとQuicksightのフルアクセスを許可しているIAMユーザで、実行権限がないとエラーになる原因が分かりません。

有識者の皆様、お力添えをお願いいたします。

■実行コマンド
aws quicksight list-data-sets --aws-account-id [account_id]

■エラー内容

An error occurred (AccessDeniedException) when calling the ListDataSets operation: 
User: arn:aws:iam::[account_id]:user/[user_name] is not authorized to perform: 
quicksight:ListDataSets on resource: arn:aws:quicksight:[region_name]:[account_id]:dataset/* 
with an explicit deny in an identity-based policy

フルアクセス権限を持っているのにかかわらずアクセスできないのは不思議ですね。。

とのエラーから、IAM Policy 側に 明示的な deny が入っているように見えます。IAM Policy をもう一度確認いただけますでしょうか?

1 Like

早速ご返信いただきありがとうございます。

いただいた回答を基に、再度IAMポリシーについて調査します。
後程、調査結果を返信します。

IAMポリシーを確認したところ、MFA認証されていない場合は特定の機能しか使用できないポリシーが検証で使用したIAMユーザに適用されていました。
恐らく、これが原因で実行権限がないとエラーが発生したと思われます。
AWS Management Consoleへのサインイン時にはMFA認証をしましたが、CloudShell上?でもMFA認証が必要だったのかなと思いました。(自信はありません。。。)

試行錯誤して、なんとかコマンド実行は成功しました。
MFA認証なし、かつ、Quicksightへのフルアクセス許可ポリシーのみを適用したIAMユーザを作成しました。
このIAMユーザを使用して、ローカルPCのAWS CLIからコマンドを実行したところ、エラーなく値が返ってきました。

特定のIAMポリシーのみに囚われていました。
解決の糸口をいただき、ありがとうございました。

1 Like