Comment puis-je résoudre les erreurs d'autorisation IAM que je reçois lorsque j'essaie d'ajouter un abonné à ma rubrique Amazon SNS ?

Date de la dernière mise à jour : 21/05/2021

Je souhaite résoudre les erreurs d'autorisation AWS Identity and Access Management (IAM) que je reçois. Je reçois ces erreurs lorsque j'essaie d'ajouter un abonné à ma rubrique Amazon Simple Notification Service (Amazon SNS).

Brève description

Cette erreur se produit lorsque l'entité IAM qui souscrit un abonnement à la rubrique SNS n'est pas autorisée à effectuer l'opération SNS:Subscribe sur votre rubrique SNS :

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, un groupe ou un rôle IAM.

Résolution

Si l'entité IAM et la rubrique SNS se trouvent dans des comptes AWS différents, suivez les étapes 1 et 2.

Si l'entité IAM et la rubrique SNS se trouvent dans le même compte AWS, effectuez soit l'étape 1, soit l'étape 2. Pour accorder à vos utilisateurs des autorisations pour les rubriques SNS qui appartiennent au même compte, vous pouvez utiliser des stratégies IAM, des stratégies Amazon SNS ou les deux.

1.    Associez la stratégie IAM suivante à l'utilisateur ou au rôle IAM qui tente de souscrire un abonnement à votre rubrique SNS :

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

2.    Autorisez l'opération SNS:Subscribe à partir de votre entité IAM dans la stratégie d'accès à la rubrique SNS. Par exemple :

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

3.    Confirmez qu'il n'y a pas de refus explicite dans l'une ou l'autre stratégie de l'étape 1 ou 2. Si vous avez un refus explicite, vous pouvez recevoir 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 with an explicit deny

Remarque : un refus explicite remplace toute déclaration d'autorisation d'une stratégie IAM ou d'une stratégie d'accès SNS.


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


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