Ich möchte eine eingebettete Amazon-QuickSight-Dashboard-URL für nicht registrierte QuickSight-Benutzer generieren, damit ich das Dashboard in eine Webanwendung einbetten kann. Aber ich erhalte Berechtigungsfehler.
Kurzbeschreibung
Der Benutzer oder die Rolle aus dem AWS Identity and Access Management (IAM), der oder die vom Backend- oder Webserver verwendet wird, muss berechtigt sein, eine eingebettete QuickSight-Dashboard-URL für nicht registrierte Benutzer zu generieren. Wenn der IAM-Benutzer oder die IAM-Rolle nicht über die richtige Berechtigung verfügt, erhalten Sie die folgenden Fehlermeldungen:
IAM-Benutzer
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-Rolle
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
Um diese Fehler zu beheben, müssen Sie eine IAM-Richtlinie mit der erforderlichen Berechtigung anhängen.
Lösung
Fügen Sie die folgende IAM-Richtlinie für die Aktion quicksight:GenerateEmbedUrlForAnonymousUser an den IAM-Benutzer oder die IAM-Rolle an, die zum Aufrufen der API GenerateEmbedUrlForAnonymousUser verwendet wird:
{
"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>"
]
}
]
}
Hinweis: Das Preismodell für Fertigungskapazität muss im QuickSight-Konto aktiviert sein, damit die QuickSight-Dashboard-URL für nicht registrierte Benutzer eingebettet werden kann. Wenn es nicht aktiviert ist, erhält der Benutzer die Fehlermeldung UnsupportedPricingPlanException.
Relevante Informationen
Einbetten von QuickSight-Daten-Dashboards für alle