Salta al contenuto

Come posso configurare destinazioni multi-account in EventBridge?

4 minuti di lettura
0

Desidero impostare una regola in Amazon EventBridge per inviare notifiche da un evento in un account AWS a una destinazione in un altro account.

Risoluzione

Crea una regola nell'account di origine

Crea una regola per inviare eventi a un altro account.

Nota: la destinazione e la regola di EventBridge devono trovarsi nella stessa Regione AWS. Puoi configurare destinazioni multi-account solo per le seguenti destinazioni:

  • API Gateway Amazon API
  • Applicazioni Amazon Kinesis Data Streams
  • Funzioni AWS Lambda
  • Topic Amazon Simple Notification Service (Amazon SNS)
  • Code di Amazon Simple Queue Service (Amazon SQS)

Configura le autorizzazioni IAM nell'account di origine

Assicurati che il ruolo di esecuzione AWS Identity and Access Management (AWS IAM) assegnato alla destinazione della regola di EventBridge abbia una relazione di attendibilità con EventBridge. La policy di attendibilità deve includere events.amazonaws.com come entità ritenuta attendibile. Inoltre, assicurati che la policy IAM del ruolo di esecuzione includa le autorizzazioni necessarie per la pubblicazione nella destinazione.

Esempio di relazione di attendibilità:

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

Esempio di policy IAM:

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

Nota: sostituisci sns:Publish con le autorizzazioni richieste per la tua destinazione e arn:aws:sns:Region:Account-ID-of-SNS-Topic:test con il nome della risorsa Amazon (ARN) della risorsa di destinazione.

Configura le autorizzazioni IAM nell'account di destinazione

La policy basata sulle risorse della destinazione deve fornire a EventBridge le autorizzazioni necessarie per accedervi. Esamina la policy IAM della risorsa di destinazione per verificare che abbia le autorizzazioni richieste.

Esempio di policy IAM per topic 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"
    }

Nota: sostituisci IAMRole con l'ARN del ruolo di esecuzione nell'account di origine e arn:aws:sns:Region:Account-ID-of-SNS-topic:test con l'ARN del topic SNS.

(Per topic con SSE attivata) Verifica che il topic abbia le autorizzazioni AWS KMS richieste

La destinazione deve utilizzare una chiave gestita dal cliente del Servizio AWS di gestione delle chiavi (AWS KMS). La chiave AWS KMS deve includere una policy della chiave personalizzata che autorizzi EventBridge a utilizzarla.

Per configurare le autorizzazioni AWS KMS richieste, completa i seguenti passaggi:

  1. Crea una nuova chiave gestita dal cliente nello stesso account della risorsa di destinazione. Assicurati che la policy della chiave AWS KMS abbia le autorizzazioni necessarie per consentire a EventBridge di accedere alla chiave gestita dal cliente.
    Esempio di policy:
    {
        "Sid": "AWSEvents_ArticleEvent_Id4950650036948",
        "Effect": "Allow",
        "Principal": {
            "AWS": "IAMRole"
        },
        "Action": ["kms:Decrypt", "kms:GenerateDataKey"],
        "Resource": "KMS-key-arn"
    }
    Nota: sostituisci IAMRole con l'ARN del ruolo di esecuzione IAM e KMS-key-ARN con l'ARN della chiave AWS KMS.
  2. Utilizza la chiave gestita dal cliente per configurare la crittografia lato server (SSE).
    Nota: le istruzioni per configurare la crittografia lato server sono le stesse per tutti i tipi di destinazione.
  3. Assicurati che il ruolo di esecuzione della regola di EventBridge abbia una policy che consenta l'azione API kms:Decrypt.
    Esempio di policy:
    {    "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": ["kms:Decrypt", "kms:GenerateDataKey"],
                "Resource": "KMS-key-arn"
            }
        ]
    }
    Nota: sostituisci your-KMS-key-arn con l'ARN della tua chiave AWS KMS.

Risolvi i problemi

Se il topic SNS non riceve notifiche di eventi, consulta Perché il mio topic Amazon SNS non ha ricevuto notifiche di EventBridge?

Se la funzione Lambda non riceve notifiche di eventi, consulta Perché la mia funzione Lambda non è stata invocata dalla mia regola EventBridge?

Se la coda Amazon SQS non riceve notifiche di eventi, consulta Why doesn't my Amazon SQS queue receive EventBridge notifications? (Perché la mia coda Amazon SQS non riceve notifiche di EventBridge?)

Per ulteriori passaggi per la risoluzione dei problemi, consulta Come posso risolvere i problemi relativi a regole di EventBridge multi-account o multi-Regionali?

AWS UFFICIALEAggiornata 4 mesi fa