Passer au contenu

Comment résoudre les erreurs « Access denied » lorsque j'utilise Athena comme source de données dans Quick Suite ?

Lecture de 7 minute(s)
0

Je reçois des erreurs « Access denied » lorsque j'utilise Amazon Athena comme source de données dans le compte Amazon Quick Suite.

Brève description

Les raisons pour lesquelles vous pouvez recevoir des erreurs « Accès refusé » lorsque vous utilisez Amazon Athena comme source de données dans Amazon Quick Suite sont les suivantes :

  • Le compte Quick Suite ne dispose pas de l'autorisation requise pour accéder au compartiment Amazon Simple Storage Service (Amazon S3).
  • Le 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 qui est utilisé pour interroger les données ne dispose pas des autorisations S3 requises.
  • Les politiques de contrôle des services (SCP) nécessaires ne vous sont pas attribuées pour les comptes Quick Suite qui utilisent AWS Organizations.
  • Votre utilisateur ou groupe Quick Suite ne dispose pas des autorisations AWS Lake Formation pour les comptes Athena qui utilisent Lake Formation.

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

Résolution

Remarque : Si vous recevez des erreurs lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez alors Dépannage des erreurs AWS CLI. Vérifiez également que vous utilisez la version la plus récente d'AWS CLI.

Octroi de l'accès Quick Suite au compartiment S3

Vous recevez les messages d'erreur suivants lorsque le compte Quick Suite ne dispose pas des autorisations requises pour accéder au compartiment Amazon S3 :

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

Pour résoudre cette erreur, obtenez les autorisations d'accès au compartiment Amazon S3. Procédez comme suit :

  1. Ouvrez la console Quick Suite.
  2. Choisissez votre nom d'utilisateur dans la barre de l'application, puis choisissez Gérer Quick Suite.
  3. Dans le volet de navigation, sous Autorisations, choisissez Ressources AWS.
  4. Dans la liste des services AWS, sélectionnez Amazon S3.
  5. Choisissez Sélectionner les compartiments S3, puis sélectionnez le compartiment S3.
  6. Choisissez Autorisation d'écriture pour le groupe de travail Athena, puis choisissez Terminer.
  7. Choisissez Enregistrer.

Octroi de l'accès Quick Suite aux données chiffrées par KMS

Si le fichier de données est chiffré à l'aide d'une clé AWS KMS, Amazon S3 peut alors vous refuser l'accès aux données. Pour résoudre ce problème, utilisez la console AWS CLI ou AWS KMS pour accorder au rôle de service Quick Suite l'accès à la clé AWS KMS.

Utilisation d'AWS CLI

Procédez comme suit :

  1. Utilisez la console IAM pour localiser l'ARN du rôle de service Quick Suite.

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

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

  4. Choisissez l'onglet Vue d'ensemble, puis localisez l'ID de clé KMS.

  5. Ajoutez l'ARN du rôle de service Quick Suite à la stratégie de clé KMS.

  6. Exécutez la commande AWS CLI create-grant :

    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 la clé AWS KMS et quicksight_role_arn par l'ARN du rôle de service Quick Suite.

Utilisation de la console AWS KMS

Pour ajouter le rôle de service Quick Suite à la stratégie de 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 stratégie précédente, assurez-vous d'ajouter l'ARN pour les rôles de service Quick Suite dans la section Principal.

Vérification et mise à jour des attributions de la politique IAM

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 Quick Suite.
  2. Choisissez votre nom d'utilisateur dans la barre de l'application, puis choisissez Gérer Quick Suite.
  3. Dans le volet de navigation, sous Autorisations, choisissez Attributions de politiques IAM.
  4. Vérifiez s'il existe des attributions de politiques IAM pour accéder à Athena.
  5. Vérifiez que la politique ne restreint pas l'accès à Amazon S3 ou à Athena.

Si une politique restreint l'accès à S3 ou à Athena, demandez alors à l'administrateur Quick Suite de la modifier. Si vous êtes l'administrateur, désactivez alors l'attribution de la politique IAM et modifiez la politique pour inclure les autorisations S3 et Athena. Pour de plus amples informations, consultez Définition d'un accès granulaire aux services AWS via IAM.

Vérification que le compartiment S3 existe et qu'il dispose des autorisations correctes

Vous recevez les messages d'erreur suivants lorsque le compartiment S3 n'existe pas. Ou bien le rôle IAM qui est utilisé pour interroger les données ne dispose pas des autorisations S3 requises :

« Unable to verify/create output bucket. »

Pour résoudre cette erreur, consultez Comment résoudre l'erreur « Unable to verify/create output bucket » dans Athena ?.

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

Mise à jour des politiques de contrôle des services (SCP)

Demandez à l'administrateur de l'organisation de contrôler les paramètres SCP pour vérifier les autorisations qui vous sont attribuées. Si vous êtes administrateur d'une organisation, consultez alors Création de politiques d'organisation avec AWS Organizations.

Octroi d'autorisations Lake Formation aux utilisateurs de Quick Suite

Vous recevez le message d'erreur suivant lorsque l'utilisateur ou le groupe Quick Suite ne dispose pas des autorisations Lake Formation :

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

Pour résoudre cette erreur, octroyez des autorisations Lake Formation pour Quick Suite. Vous devez être un administrateur Lake Formation.

Procédez comme suit :

  1. Localisez l'ARN de l'utilisateur ou du groupe Quick Suite.

  2. Exécutez l'une des commandes AWS CLI 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 le nom d'utilisateur, group_name par le nom du groupe et account_id par l'ID du compte.

  3. Ouvrez la console Lake Formation.

  4. Choisissez Tables.

  5. Choisissez Actions, puis choisissez Autorisations.

  6. Dans la liste des Principaux, choisissez Octroyer.

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

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

  9. Sélectionnez Octroyer.

Après avoir octroyé des autorisations, revenez à la console Quick Suite pour essayer de créer à nouveau le jeu de données.

Informations connexes

Autorisations insuffisantes lors de l'utilisation d'Athena avec Amazon Quick Suite

Présentation du contrôle d'accès affiné Amazon Quick Suite sur Amazon S3 et Amazon Athena

Activation des autorisations affinées pour les auteurs Amazon Quick Suite dans AWS Lake Formation