Comment puis-je résoudre les erreurs « Access denied » lorsque j’utilise Athena comme source de données dans Quicksight ?

Lecture de 6 minute(s)
0

Le message d’erreur « Access denied » s’affiche lorsque j’essaie d’utiliser Amazon Athena comme source de données dans mon compte Amazon QuickSight.

Brève description

Les raisons courantes des erreurs d’accès refusé lorsque vous utilisez Amazon Athena comme source de données dans Amazon QuickSight sont les suivantes :

  • Votre compte QuickSight ne dispose pas de l’autorisation requise pour accéder au compartiment Amazon Simple Storage Service (Amazon S3).
  • Votre fichier de données est chiffré avec une clé AWS Key Management Service (AWS KMS).
  • La politique d’autorisations AWS Identity and Access Management (IAM) nécessaire ne vous a pas été attribuée.
  • Le compartiment Amazon S3 n’existe pas. Ou bien, le rôle IAM utilisé pour interroger les données ne dispose pas des autorisations S3 requises.
  • (Pour les comptes QuickSight qui utilisent AWS Organizations) Les politiques de contrôle des services (SCP) nécessaires ne vous sont pas attribuées. 
  • (Pour les comptes Athena qui utilisent Lake Formation) Votre utilisateur ou votre groupe QuickSight ne dispose pas des autorisations AWS Lake Formation. 

Remarque : avant de commencer le dépannage, assurez-vous que vous pouvez accéder à vos données dans Athena.

Résolution

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Votre compte QuickSight ne dispose pas de l’autorisation requise pour accéder au compartiment Amazon S3

Vous recevez un message d’erreur semblable au suivant :

« An error has been thrown from AWS Athena client. Permission denied on S3 path:sourceErrorMessage: s3:/example bucket/object name »

Pour obtenir l’autorisation d’accéder au compartiment S3, procédez comme suit :

  1. Ouvrez la console Amazon QuickSight.
  2. Choisissez Gérer QuickSight.
  3. Choisissez Sécurité et autorisations.
  4. Sous Accès QuickSight aux services AWS, choisissez Gérer.
  5. Dans la liste des services AWS, sélectionnez Amazon S3.
  6. Choisissez Sélectionner les compartiments S3, puis sélectionnez le compartiment S3.
  7. Choisissez Autorisation d’écriture pour Athena Workgroup, puis choisissez Terminer.
  8. Choisissez Enregistrer.

Votre fichier de données est chiffré à l’aide d’une clé AWS KMS

Si votre fichier de données est chiffré à l’aide d’une clé AWS KMS, Amazon S3 peut vous refuser l’accès aux données. Pour résoudre ce problème, utilisez l’interface de la ligne de commande AWS ou la console AWS KMS pour accorder à votre rôle de service QuickSight l’accès à la clé AWS KMS. 

Utiliser l’AWS CLI

Procédez comme suit :

  1. Utilisez la console IAM pour localiser l’ARN du rôle de service QuickSight.

  2. Utilisez la console Amazon S3 pour trouver l’ARN de la clé AWS KMS.

  3. Accédez au compartiment qui contient votre fichier de données.

  4. Choisissez l’onglet Aperçu, puis localisez l’ID de clé KMS.

  5. Ajoutez l’ARN du rôle de service QuickSight à la stratégie de clé KMS.

  6. Exécutez la commande create-grant de l’interface de la ligne de commande AWS :

    aws kms create-grant --key-id aws_kms_key_arn --grantee-principal quicksight_role_arn --operations Decrypt
    

    Remarque : remplacez aws_kms_key_arn par l’ARN de votre clé AWS KMS et quicksight_role_arn par l’ARN de votre rôle de service QuickSight.

Utiliser la console AWS KMS

Pour ajouter le rôle de service QuickSight à la politique clé AWS KMS, modifiez la stratégie de clé. Ajoutez ensuite les autorisations suivantes à la stratégie de clé :

{     "Sid": "Allow use of the key",
     "Effect": "Allow",
     "Principal": {
         "AWS": [
              "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-service-role-v0",
              "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-s3-consumers-role-v0"
              ]
         },
         "Action": [
            "kms:Decrypt"
               ],
         "Resource": "*"
}

Remarque : dans la politique précédente, assurez-vous d’ajouter l’ARN pour vos rôles de service QuickSight dans la section Principal.

La politique d’autorisations IAM nécessaire ne vous est pas attribuée

Pour vérifier quelles politiques vous sont attribuées et vérifier si la politique restreint votre accès, procédez comme suit :

  1. Ouvrez la console Amazon QuickSight.
  2. Choisissez Gérer QuickSight.
  3. Choisissez Sécurité et autorisations.
  4. Choisissez les attributions de politiques IAM.
  5. Vérifiez s’il existe des attributions de politiques IAM pour accéder à Athena.
  6. Vérifiez que la politique ne restreint pas votre accès à S3 ou à Athena.

Si une politique restreint votre accès à S3 ou à Athena, demandez à votre administrateur QuickSight de la modifier. Si vous êtes administrateur, désactivez l’attribution de la politique IAM et modifiez la politique pour inclure les autorisations S3 et Athena. Pour en savoir plus, consultez la page Configuration d’un accès granulaire aux services AWS via IAM.

Le compartiment S3 n’existe pas. Ou bien, le rôle IAM utilisé pour interroger les données ne dispose pas des autorisations S3 requises

Si vous recevez le message d’erreur suivant :

« Unable to verify/create output bucket. »

Pour résoudre l’erreur précédente, consultez Comment résoudre l’erreur « Unable to verify/create output bucket » dans Amazon Athena ?

Si le compartiment n’existe pas, ajoutez le compartiment S3 valide. Depuis la console Amazon QuickSight, sélectionnez Amazon S3 dans la liste des services AWS. Sélectionnez ensuite le compartiment S3 utilisé pour l’emplacement des résultats de la requête.

Les SCP nécessaires ne vous sont pas assignés (Organisations)

Demandez à l’administrateur de l’organisation d’examiner vos paramètres SCP pour voir les autorisations qui vous sont attribuées. Si vous êtes un administrateur Organisations, consultez la section Création, mise à jour et suppression de politiques de contrôle des services.

Votre utilisateur ou groupe QuickSight n’a pas les autorisations nécessaires pour Lake Formation

Pour les comptes Athena qui utilisent Lake Formation, le message d’erreur suivant peut s’afficher :

« An error has been thrown from the AWS Athena client. Insufficient permissions to execute the query. Insufficient Lake Formation permission(s). »

Pour accorder des autorisations à Lake Formation pour QuickSight, vous devez être administrateur de Lake Formation.

Procédez comme suit :

  1. Localisez l’ARN de l’utilisateur ou du groupe QuickSight.

  2. Exécutez l’une des commandes de l’interface de la ligne de commande AWS suivantes :

    describe-user

    aws quicksight describe-user  --user-name user_name  --aws-account-id account_id --namespace default
    

    -ou-

    describe-group

    aws quicksight describe-group --group-name group_name  --aws-account-id account_id --namespace default
    

    Remarque : dans les commandes précédentes, remplacez user_name par votre nom d’utilisateur, group_name par le nom de votre groupe et account_id par l’ID de votre compte.

  3. Ouvrez la console Lake Formation.

  4. Choisissez Tables.

  5. Choisissez Actions, puis choisissez Autorisations.

  6. Dans la liste des Principaux, choisissez Accorder.

  7. Sous Utilisateurs et groupes SAML et Amazon QuickSight, saisissez l’ARN de l’utilisateur ou du groupe QuickSight. Par exemple, arn:aws:quicksight:region:accountId:user/namespace/username.

  8. Sélectionnez la source de données appropriée, puis choisissez Toutes les tables. Les autorisations relatives à la table sont Sélectionner et Décrire.

  9. Choisissez Accorder.

Après avoir accordé les autorisations, revenez à la console QuickSight pour essayer de créer à nouveau le jeu de données.

Informations connexes

Autorisations insuffisantes lors de l’utilisation d’Athena avec Amazon QuickSight

Présentation du contrôle d’accès précis d’Amazon QuickSight sur Amazon S3 et Amazon Athena

Activer des autorisations précises pour les auteurs Amazon QuickSight dans AWS Lake Formation

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 6 mois