I want to generate an embedded Amazon QuickSight dashboard URL for unregistered QuickSight users so that I can embed the dashboard into a web application.
Short description
When you call the GenerateEmbedUrlForAnonymousUser API action, you receive the following error:
"An error occurred (AccessDeniedException) when calling the GenerateEmbedUrlForAnonymousUser operation."
The AWS Identity and Access Management (IAM) user or role that the backend or web server uses must have the correct permission. Otherwise, you can't generate an embedded QuickSight dashboard URL for unregistered users. To resolve this error, attach an IAM policy with the required permission.
Resolution
Attach the following IAM policy to the IAM user or role that's used to call the GenerateEmbedUrlForAnonymousUser API action:
{ "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>"
]
}
]
}
Note: To embed the QuickSight dashboard URL for unregistered users, session capacity pricing must be active. If it's not active, then the user receives the UnsupportedPricingPlanException error.
For more information, see Errors.
Related information
How do I troubleshoot AWS resource permission errors in Amazon QuickSight?
Embedding QuickSight data dashboards for anonymous (unregistered) users