未登録の QuickSight ユーザー用に埋め込み Amazon QuickSight ダッシュボード URL を生成して、ダッシュボードをウェブアプリケーションに埋め込むことができるようにします。しかし、許可エラーが表示されます。
簡単な説明
バックエンドまたはウェブサーバーが使用する AWS ID およびアクセス管理 (IAM) ユーザーまたはロールには、未登録ユーザーの埋め込み QuickSight ダッシュボード URL を生成するアクセス権限が必要です。IAM ユーザーまたはロールに正しいアクセス権限がない場合、次のエラーが表示されます。
IAM ユーザー
An error occurred (AccessDeniedException) when calling the GenerateEmbedUrlForAnonymousUser operation: User: arn:aws:iam::XXXXXXXXXXX:user/user1 is not authorized to perform: quicksight:GenerateEmbedUrlForAnonymousUser on resource: arn:aws:quicksight:region:XXXXXXXXXXX:namespace/default because no identity-based policy allows the quicksight:GenerateEmbedUrlForAnonymousUser action
IAM ロール
An error occurred (AccessDeniedException) when calling the GenerateEmbedUrlForAnonymousUser operation: User: arn:aws:sts::XXXXXXXXXXX:user:assumed-role/role-name/policy-name is not authorized to perform: quicksight:GenerateEmbedUrlForAnonymousUser on resource: arn:aws:quicksight:region:XXXXXXXXXXX:user:namespace/default because no identity-based policy allows the quicksight:GenerateEmbedUrlForAnonymousUser action
これらのエラーを解決するには、必要なアクセス権限を持つ IAM ポリシーをアタッチする必要があります。
解決方法
quicksight:GenerateEmbedUrlForAnonymousUser アクションの次の IAM ポリシーを、GenerateEmbedUrlForAnonymousUser API の呼び出しに使用される IAM ユーザーまたはロールにアタッチします。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "quicksight:GenerateEmbedUrlForAnonymousUser",
"Resource": [
"arn:aws:quicksight:<region>:<AWS Account ID>:namespace/<namespace>",
"arn:aws:quicksight:<region>:<AWS Account ID>:dashboard/<Dashboard ID>"
]
}
]
}
注: 未登録ユーザーの QuickSight ダッシュボード URL を埋め込むには、QuickSight アカウントでセッション容量の料金設定が有効になっている必要があります。アクティブでない場合、ユーザーはエラー UnsupportedPricingPlanException を受け取ります。
関連情報
QuickSight データダッシュボードを全員に埋め込む