Comment puis-je autoriser les comptes AWS de mon organisation à publier des messages dans une rubrique Amazon SNS de mon compte ?

Date de la dernière mise à jour : 20/09/2021

Je souhaite qu'une rubrique Amazon Simple Notification Service (Amazon SNS) accepte les messages de tous les comptes AWS de mon organisation dans AWS Organizations. Comment procéder ?

Brève description

Configurez la stratégie d'accès de la rubrique Amazon SNS pour autoriser n'importe quel compte de votre organisation à publier des messages dans la rubrique. Dans la stratégie d'accès, incluez la clé de condition globale aws:PrincipalOrgID et spécifiez l'ID de votre organisation.

Solution

1.    Recherchez l'ID de votre organisation dans la console Organizations. Pour plus d'informations, consultez la section Afficher les détails d'une organisation à partir du compte de gestion.

2.    Créez une rubrique dans la console Amazon SNS. Notez l'Amazon Resource Name (ARN) de votre nouvelle rubrique.

3.    Dans la console Amazon SNS, modifiez la rubrique en procédant comme suit :
Dans le panneau de navigation, choisissez Topics (Rubriques).
Sélectionnez la rubrique que vous avez créée. Ensuite, sélectionnez Edit (Modifier).
Sur la page Edit <topicName> (Modifier <nomRubrique>), développez Access policy - optional (Stratégie d'accès - facultatif).
Collez l’exemple de stratégie suivant dans l'éditeur JSON, puis choisissez Save changes (Enregistrer les modifications) :

Important : remplacez snsTopicArn par l'ARN de la rubrique. Ensuite, remplacez myOrgId par l'ID de votre organisation.

{
  "Version": "2008-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "allow-publish-from-organization-accounts",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "sns:Publish"
      ],
      "Resource": "snsTopicArn",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgID": "myOrgId"
        }
      }
    }
  ]
}

Conseil : pour autoriser les comptes de votre organisation à effectuer davantage d'actions d'API Amazon SNS (par exemple, GetTopicAttributes), ajoutez des actions sous « Action » dans la stratégie.

4.    Abonnez votre adresse e-mail à la rubrique SNS à des fins de test. Lorsque vous créez l'abonnement, pensez à spécifier l'ARN de votre rubrique.

5.    Dans votre messagerie, recherchez le message de confirmation de l'abonnement provenant des notifications AWS, puis confirmez l’abonnement.

6.    Publiez un message dans la rubrique SNS de votre compte à l'aide de n'importe quel compte AWS de votre organisation. Dans la demande de publication, veillez à spécifier l'ARN de la rubrique.

Le message publié apparaît dans votre e-mail.