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

Dernière mise à jour : 06/10/2021

Je reçois des erreurs d'autorisation AWS Identity and Access Management (IAM) lorsque j'ajoute des abonnés à ma rubrique Amazon Simple Notification Service (Amazon SNS). Comment corriger ce problème ?

Brève description

Lorsqu'une entité IAM tente d'ajouter un abonnement à une rubrique Amazon SNS sans autorisation d'action de l'APISubscribe, SNS renvoie l'erreur suivante :

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

Remarque : L'entité IAM peut être un utilisateur ou un rôle IAM.

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

Si vous recevez une erreur similaire qui se termine par un « refus explicite »

Supprimez toutes les instructions de politique qui refusent explicitement à l'entité IAM l'accès à la ressource SNS.

Résolution

Si l'entité IAM et la rubrique SNS se trouvent dans des comptes AWS différents

Suivez ces deux étapes :

Attachez une déclaration de politique IAM à l'entité IAM qui permet à l'entité d'exécuter l'action « sns:Subscribe »

Pour plus d'informations, consultez la section Ajout et suppression d'autorisations d'identité IAM. Attachez l'exemple de déclaration de politique IAM suivant :

Important : Remplacez « YOUR_SNS_TOPIC_ARN » par l’Amazon Resource Name (ARN) de votre rubrique Amazon SNS.

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

Attachez une déclaration de politique Amazon SNS à la politique d'accès de votre rubrique qui permet à l'entité IAM d'exécuter l'action « sns:Subscribe »

Pour obtenir des instructions, consultez la section Comment modifier la politique d'accès de ma rubrique Amazon SNS ? Attachez l'exemple de déclaration de politique Amazon SNS suivant :

Important : Remplacez « YOUR_IAM USER/ROLE_ARN » par l'ARN de votre entité IAM. Remplacez « YOUR_SNS_TOPIC_ARN » par l'ARN de votre rubrique Amazon SNS.

{
  "Sid": "AllowIAMEntity",
  "Effect": "Allow",
  "Principal": {
    "AWS": "YOUR_IAM USER/ROLE_ARN "
  },
  "Action": "sns:Subscribe",
  "Resource": "YOUR_SNS_TOPIC_ARN"
}

Si l'entité IAM et la rubrique SNS se trouvent dans le même compte

Suivez l'une de ces étapes, mais pas les deux :

Attachez une déclaration de politique IAM à l'entité IAM qui permet à l'entité d'exécuter l'action « sns:Subscribe ».

-ou-

Attachez une déclaration de politique Amazon SNS à la politique d'accès de votre rubrique qui permet à l'entité IAM d'exécuter l'action « sns:Subscribe ».

Pour obtenir des exemples d'instructions de politique, consultez la section Si l'entité IAM et la rubrique SNS se trouvent dans des comptes AWS différents de cet article.

Vérifiez que ni la politique de l'entité IAM ni la politique d'accès de la rubrique SNS ne refusent explicitement l'accès à la ressource SNS

Passez en revue la politique de l'entité IAM et la politique d'accès de la rubrique SNS. Ensuite, retirez toutes les instructions de politique quirefusent explicitement à l'entité IAM l'accès à la ressource SNS.

Pour plus d'informations, consultez la section La différence entre les refus explicites et implicites.


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


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