Comment résoudre les erreurs d'autorisation dans QuickSight lorsque je génère une URL du tableau de bord QuickSight intégrée pour les utilisateurs non enregistrés ?

Dernière mise à jour : 19/07/2022

Je souhaite générer une URL du tableau de bord Amazon QuickSight intégrée pour les utilisateurs QuickSight non enregistrés, afin d’intégrer le tableau de bord dans une application Web, Mais je reçois des notifications d’erreurs d'autorisation.

Brève description

L'utilisateur ou le rôle dans Gestion des identités et des accès AWS (AWS IAM) utilisé par le serveur principal ou le serveur Web doit avoir l’autorisation de générer une URL du tableau de bord QuickSight intégrée pour les utilisateurs non enregistrés. Les erreurs ci-dessous seront affichées si l'utilisateur IAM ou le rôle IAM ne dispose pas de l'autorisation appropriée :

Utilisateur 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

Rôle 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

Pour résoudre ces erreurs, vous devez joindre une politique IAM à l'autorisation requise.

Solution

Joignez la politique IAM suivante pour l’action QuickSight:GenerateEmbedUrlForAnonymousUser à l'utilisateur ou au rôle IAM utilisé pour appeler l'API GenerateEmbedUrlForAnonymousUser :

{
  "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>"
      ]
    }
  ]
}

Remarque : la tarification des capacités de session doit être active sur le compte QuickSight pour intégrer l'URL du tableau de bord QuickSight pour les utilisateurs non enregistrés. Si cette tarification n’est pas activée, l'utilisateur reçoit l'erreur UnsupportedPricingPlanException.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?