Comment résoudre les erreurs d'autorisation des ressources AWS dans Amazon QuickSight ?

Date de la dernière mise à jour : 18/09/2020

Lorsque j'essaie de modifier les autorisations Amazon QuickSight pour accéder aux ressources AWS, je reçois une erreur. Comment puis-je résoudre ce problème ?

Brève description

Lorsque vous modifiez les autorisations Amazon QuickSight, vous pouvez rencontrer l'une des erreurs suivantes :

"The role used by QuickSight for AWS resource access was modified to an un-recoverable state outside of QuickSight, so you can no longer edit AWS resource permissions in QuickSight."
"We were unable to update QuickSight permissions for AWS resources. Either you are not authorized to edit QuickSight permissions on AWS resources, or the QuickSight permissions were changed using the IAM console and are therefore no longer updateable through QuickSight."

Ces erreurs se produisent lorsque vous modifiez les autorisations QuickSight de vos ressources AWS à partir de la console AWS Identity and Access Management (IAM). Pour corriger ces erreurs, supprimez le rôle de service aws-quicksight-service-role-v0 que joue QuickSight au moment d'interagir avec d'autres services AWS. Supprimez également la stratégie gérée que QuickSight joint au rôle de service aws-quicksight-service-role-v0.

Remarque : pour éviter ces erreurs, veillez à modifier les autorisations QuickSight afin d'accéder plutôt aux ressources AWS depuis la console Amazon QuickSight.

Résolution

Si vous rencontrez des erreurs d'autorisation lorsque QuickSight tente d'accéder aux ressources AWS, procédez comme suit :

Remarque : si vous avez déjà supprimé les stratégies et le rôle IAM de la console IAM, passez à l'étape 8.

1.    Vérifiez que votre utilisateur IAM est un administrateur ou qu'il dispose d'un accès ADMIN dans QuickSight. Pour plus d'informations, consultez l'article Gestion de l'accès utilisateur dans Amazon QuickSight.

2.    Confirmez que votre stratégie IAM vous permet de supprimer. Ensuite, recréez le rôle de service QuickSight et les stratégies gérées par le client correspondantes (AWSQuickSightiamPolicy, AWSQuickSights3Policy, AWSQuickSigtrdsPolicy et AWSQuickSightRedShiftPolicy) :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:DetachRolePolicy",
                "iam:DeleteRole",
                "iam:AttachRolePolicy",
                "iam:CreateRole"
            ],
            "Resource": "arn:aws:iam::<Account-id>:role/service-role/aws-quicksight-service-role-v0"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "iam:ListPolicies",
                "iam:GetPolicyVersion",
                "iam:GetRole",
                "iam:GetPolicy",
                "iam:ListPolicyVersions",
                "iam:ListAttachedRolePolicies",
                "iam:GenerateServiceLastAccessedDetails",
                "iam:ListEntitiesForPolicy",
                "iam:ListPoliciesGrantingServiceAccess",
                "iam:ListRoles",
                "iam:GetServiceLastAccessedDetails",
                "iam:ListAccountAliases",
                "iam:ListRolePolicies",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "iam:DeletePolicy",
                "iam:CreatePolicy",
                "iam:CreatePolicyVersion",
                "iam:DeletePolicyVersion"
            ],
            "Resource": [
                "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightIAMPolicy",
                "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightRDSPolicy",
                "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightS3Policy",
                "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightRedshiftPolicy"
            ]
        }
    ]
}

3.    Dans la console IAM, choisissez « Roles » (Rôles) dans le volet de navigation de gauche.

4.    Recherchez aws-quicksight-service-role-v0, puis cochez la case qui jouxte le nom du rôle. Ce rôle de service est créé automatiquement lorsque vous utilisez QuickSight.

5.    Choisissez « Delete role » (Supprimer le rôle).

6.    Choisissez « Policies » (Stratégies) dans le volet de navigation de gauche.

7.    Recherchez et supprimez les stratégies IAM suivantes gérées par le client :
AWSQuickSightIAMPolicy
AWSQuickSightRedshiftPolicy
AWSQuickSightS3Policy
AWSQuickSightRDSPolicy

Remarque : QuickSight utilise des stratégies gérées AWS lorsqu'il est autorisé à accéder à une ressource AWS. Par exemple, il utilise la stratégie AWSQuicksightAthenaAccess pour contrôler l'accès à certaines ressources AWS. Les stratégies gérées AWS ne peuvent pas être supprimées.

8.    Ouvrez la console Amazon QuickSight.

9.    Restaurez l'accès QuickSight à vos services AWS. QuickSight recréera alors automatiquement votre rôle de service, en résolvant les erreurs d'autorisation. Pour plus d'informations sur l'activation des services AWS auxquels Amazon QuickSight peut accéder, consultez Utilisation d'autres services AWS : limitation de l'accès.


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


Besoin d'aide pour une question technique ou de facturation ?