Passer au contenu

Comment résoudre les erreurs d'autorisation IAM lorsque j'ajoute des abonnés à une rubrique Amazon SNS ?

Lecture de 2 minute(s)
0

J'ai essayé d'ajouter des abonnés à une rubrique Amazon Simple Notification Service (Amazon SNS), mais j'ai reçu une erreur d'autorisation de gestion des identités et des accès (IAM).

Brève description

Lorsqu'une entité IAM essaie d'ajouter un abonnement à une rubrique Amazon SNS sans les autorisations d'action d'API Subscribe, SNS renvoie l'erreur suivante :

« An error occurred (AuthorizationError) when calling the ListTopics operation: User: your_IAM_user_or_role is not authorized to perform: sns:Subscribe on resource: YOUR_SNS_TOPIC_ARN »

Remarque : vérifiez votre message d'erreur spécifique pour déterminer si l'erreur provient d'une stratégie basée sur l'identité ou d'une stratégie basée sur les ressources.

Pour résoudre cette erreur, accordez à l'entité IAM l'autorisation d'exécuter l'action d'API Subscribe dans la rubrique Amazon SNS.

Résolution

Pour autoriser l'entité IAM à exécuter l'action de l'API Subscribe sur la rubrique Amazon SNS, procédez comme suit :

Accès intercompte

Si l'entité IAM fait partie d'un compte croisé AWS pour votre rubrique SNS, procédez comme suit :

  1. Associez la politique basée sur l'identité suivante à l'entité IAM qui permet à l'entité d'exécuter l'action d'API sns:Subscribe :

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "SNSSubscribePermission",
                "Effect": "Allow",
                "Action": "sns:Subscribe",
                "Resource": "YOUR_SNS_TOPIC_ARN"
            }
        ]
    }

    Remarque : remplacez YOUR_SNS_TOPIC_ARN par l’Amazon Resource Name (ARN) de votre rubrique Amazon SNS.

  2. Associez la politique basée sur les ressources suivante à la stratégie d'accès de votre rubrique qui permet à l'entité IAM d'exécuter l'action d'API sns:Subscribe :

    {
        "Sid": "AllowIAMEntity",
        "Effect": "Allow",
        "Principal": {
            "AWS": "YOUR_IAM_ENTITY_ARN "
        },
        "Action": "sns:Subscribe",
        "Resource": "YOUR_SNS_TOPIC_ARN"
    }

    Remarque : remplacez YOUR_IAM_ENTITY_ARN par l'ARN de votre entité IAM. Remplacez YOUR_SNS_TOPIC_ARN par l'ARN de votre rubrique Amazon SNS.

Accès au même compte

Si l'entité IAM se trouve dans le même compte AWS que votre rubrique SNS, associez une politique pour autoriser l'action sns:Subscribe. Associez une stratégie basée sur l'identité ou une stratégie basée sur les ressources à partir des étapes précédentes.

Informations connexes

Utilisation de politiques basées sur l'identité avec Amazon SNS

AWS OFFICIELA mis à jour il y a 6 mois