Passer au contenu

Comment configurer des cibles intercompte dans EventBridge ?

Lecture de 4 minute(s)
0

Je souhaite configurer une règle Amazon EventBridge pour envoyer des notifications d’un événement dans un compte AWS à une cible dans un autre compte.

Résolution

Créer une règle dans le compte source

Créez une règle pour envoyer des événements à un autre compte.

Remarque : la règle et la cible EventBridge doivent se trouver dans la même région AWS. Vous pouvez configurer des cibles intercomptes uniquement pour les cibles suivantes :

  • API Amazon API Gateway
  • Applications Amazon Kinesis Data Streams
  • Fonctions AWS Lambda
  • Rubriques Amazon Simple Notification Service (Amazon SNS)
  • File d'attente Amazon Simple Queue Service (Amazon SQS)

Configurer les autorisations IAM dans le compte source

Assurez-vous que le rôle d'exécution Gestion des identités et des accès AWS (AWS IAM) que vous avez attribué à la cible de la règle EventBridge entretient une relation d’approbation avec EventBridge. La politique d’approbation doit inclure events.amazonaws.com en tant qu'entité d’approbation. Assurez-vous également que la politique IAM du rôle d'exécution inclut les autorisations requises pour publier sur votre cible.

Exemple de relation d’approbation :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

Exemple de politique IAM :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:Region:Account-ID-of-SNS-Topic:test"
            ]
        }
    ]
}

Remarque : remplacez sns:Publish par les autorisations requises pour votre cible et arn:aws:sns:Region:Account-ID-of-SNS-Topic:test par l’Amazon Resource Name (ARN) de la ressource cible.

Configurer les autorisations IAM dans le compte cible

La politique basée sur les ressources de la cible doit accorder à EventBridge les autorisations nécessaires pour accéder à votre cible. Passez en revue la politique IAM de votre ressource cible pour vous assurer qu'elle dispose des autorisations requises.

Exemple de politique IAM pour les sujets Amazon SNS :

{
      "Sid": "AWSEvents_ArticleEvent_Id4950650036948",
      "Effect": "Allow",
      "Principal": {
        "AWS": "IAMRole"
      },
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:Region:Account-ID-of-SNS-topic:test"
    }

Remarque : remplacez IAMRole par l'ARN du rôle d'exécution dans le compte source et arn:aws:sns:Region:Account-ID-of-SNS-topic:test par l'ARN de la rubrique SNS.

(Pour les rubriques pour lesquelles SSE est activé) Vérifier que votre cible dispose des autorisations AWS KMS requises

Votre cible doit utiliser une clé gérée par le client AWS Key Management Service (AWS KMS). Cette clé AWS KMS doit inclure une politique de clé personnalisée qui autorise EventBridge à utiliser la clé.

Pour configurer les autorisations AWS KMS requises, procédez comme suit :

  1. Créez une nouvelle clé gérée par le client dans le même compte que votre ressource cible. Assurez-vous que la politique relative aux clés AWS KMS dispose des autorisations requises pour qu'EventBridge puisse accéder à la clé gérée par le client.
    Exemple de politique :
    {
        "Sid": "AWSEvents_ArticleEvent_Id4950650036948",
        "Effect": "Allow",
        "Principal": {
            "AWS": "IAMRole"
        },
        "Action": ["kms:Decrypt", "kms:GenerateDataKey"],
        "Resource": "KMS-key-arn"
    }
    Remarque : remplacez IAMRole par l'ARN du rôle d'exécution IAM et KMS-Key-ARN par l'ARN de la clé AWS KMS.
  2. Utilisez la clé gérée par le client pour configurer le chiffrement côté serveur (SSE).
    Remarque : les instructions pour configurer SSE sont les mêmes pour tous les types de cibles.
  3. Assurez-vous que le rôle d'exécution de la règle EventBridge possède une politique qui autorise l'action d'API kms:Decrypt.
    Exemple de politique :
    {    "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": ["kms:Decrypt", "kms:GenerateDataKey"],
                "Resource": "KMS-key-arn"
            }
        ]
    }
    Remarque : remplacez KMS-key-arn par l'ARN de votre clé AWS KMS.

Résoudre les problèmes

Si votre rubrique SNS ne reçoit pas de notifications d'événements, consultez la section Pourquoi ma rubrique Amazon SNS n'a-t-elle pas reçu de notifications EventBridge ?

Si votre fonction Lambda ne reçoit pas de notifications d'événements, consultez la section Pourquoi ma règle EventBridge n'a-t-elle pas invoqué ma fonction Lambda ?

Si votre file d'attente Amazon SQS ne reçoit pas de notifications d'événements, consultez la section Pourquoi ma file d'attente Amazon SQS ne reçoit-elle pas de notifications EventBridge ?

Pour en savoir plus sur les étapes de résolution des problèmes, consultez la section Comment résoudre les problèmes liés aux règles EventBridge intercomptes ou interrégionales ?

AWS OFFICIELA mis à jour il y a 4 mois