Tutorial: Monitoraggio delle modifiche importanti all'organizzazione con Amazon EventBridge - AWS Organizations

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial: Monitoraggio delle modifiche importanti all'organizzazione con Amazon EventBridge

Questo tutorial mostra come configurare Amazon EventBridge, precedentemente Eventi Amazon CloudWatch per monitorare le modifiche nella tua organizzazione. Per iniziare, è necessario configurare una regola che si attiva quando gli utenti invocano operazioni specifiche di AWS Organizations. Successivamente, configura Amazon EventBridge per eseguire una funzione AWS Lambda nel momento in cui la regola viene attivata. Inoltre, configura Amazon SNS per inviare un'e-mail con i dettagli dell'evento.

La figura seguente mostra le fasi principali del tutorial.

Fase 1: configurazione di un trail e un selettore di eventi

Creare un log denominato trail su AWS CloudTrail. e configuralo in modo da acquisire tutte le chiamate API.

Fase 2: configurazione di una funzione Lambda

Crea una funzione AWS Lambda che registra i dettagli dell'evento in un bucket S3.

Fase 3: creazione di un argomento Amazon SNS che invia e-mail ai sottoscrittori

Crea un argomento Amazon SNS che invia e-mail ai sottoscrittori, quindi esegui la sottoscrizione all'argomento.

Fase 4: Creazione di una regola Amazon EventBridge

Crea una regola che indichi a Amazon EventBridge di passare i dettagli delle specifiche chiamate API alla funzione Lambda e ai sottoscrittori dell'argomento di SNS.

Fase 5: Test della regola di Amazon EventBridge

Testa la nuova regola eseguendo una delle operazioni monitorate. In questo tutorial, l'operazione monitorata consiste nella creazione di un'unità organizzativa. Puoi visualizzare la voce di log creata dalla funzione Lambda e l'e-mail inviata da Amazon SNS ai sottoscrittori.

Suggerimento

È inoltre possibile utilizzare questo tutorial come guida per la configurazione di operazioni simili, ad esempio l'invio di notifiche e-mail al completamento della creazione dell'account. Poiché la creazione dell'account è un'operazione asincrona, come impostazione predefinita non viene inviata alcuna notifica al completamento. Per ulteriori informazioni sull'utilizzo di AWS CloudTrail e Amazon EventBridge con AWS Organizations, consulta Registrazione e monitoraggio AWS Organizations.

Prerequisiti

Questo tutorial presuppone quanto segue:

  • È possibile accedere alla AWS Management Console come utente IAM dall'account di gestione nell'organizzazione. L'utente IAM deve disporre delle autorizzazioni per creare e configurare un log in CloudTrail, una funzione in Lambda, un argomento in Amazon SNS e una regola in Amazon EventBridge. Per ulteriori informazioni sulla concessione delle autorizzazioni, consulta Gestione dell'accesso nella Guida per l'utente di IAM o nella guida del servizio per cui desideri configurare l'accesso.

  • Hai accesso a un Amazon Simple Storage Service (Amazon S3) Bucket esistente (oppure disponi dell'autorizzazione per creare un bucket) per ricevere il log CloudTrail configurato nella prima fase.

Importante

Al momento AWS Organizations è ospitato solo nella Regione Stati Uniti orientali (Virginia settentrionale), sebbene sia disponibile in tutto il mondo. Per eseguire tutte le fasi in questo tutorial, dovrai configurare la AWS Management Console per l'utilizzo di questa regione.

Fase 1: configurazione di un trail e un selettore di eventi

In questa fase accederai all'account di gestione e configurerai un log (denominato trail) su AWS CloudTrail. Configura inoltre un selettore di eventi nel trail per acquisire tutte le chiamate API di lettura/scrittura, in modo che Amazon EventBridge disponga di chiamate da attivare.

Per creare un trail
  1. Accedi ad AWS come amministratore dell'account di gestione dell'organizzazione, quindi apri la console CloudTrail su https://console.aws.amazon.com/cloudtrail/.

  2. Nella barra di navigazione nell'angolo in alto a destra della console, scegli la Regione Stati Uniti orientali (Virginia settentrionale). Se scegli una regione differente, AWS Organizations non sarà disponibile come opzione nelle impostazioni di configurazione di Amazon EventBridge e CloudTrail non acquisirà le informazioni relative ad AWS Organizations.

  3. Nel riquadro di navigazione selezionare Trails (Percorso).

  4. Scegliere Create trail (Creare trail).

  5. In Trail name (Nome trail), immettere My-Test-Trail.

  6. Effettua una delle seguenti opzioni per specificare la posizione di recapito dei log da parte di CloudTrail:

    • Se devi creare un bucket, scegli Create new S3 bucket (Crea nuovo bucket S3) e quindi, per Trail log bucket and folder (Bucket e cartella del log del trail), immetti un nome per il nuovo bucket.

      Nota

      I nomi di bucket S3 devono essere univoci a livello globale.

    • Se hai già un bucket, scegli Use existing S3 bucket (Utilizza bucket S3 esistente), quindi scegli il nome del bucket dall'elenco S3 bucket (Bucket S3).

  7. Seleziona Successivo.

  8. Nella pagina Choose log events (Scegli eventi di log), nella sezione Management events (Eventi di gestione), scegli Read (Lettura) e Write (Scrittura).

  9. Seleziona Successivo.

  10. Rivedi le selezioni effettuate, quindi scegli Create trail (Crea trail).

Amazon EventBridge ti consente di scegliere tra diversi modi per inviare avvisi quando un regola di avviso corrisponde a una chiamata API in entrata. Questo tutorial illustra due metodi: la chiamata di una funzione Lambda che può registrare la chiamata API e l'invio di informazioni a un argomento di Amazon SNS che invia un'e-mail o un messaggio di testo ai sottoscrittori dell'argomento. Nelle prossime due fasi verranno creati i componenti necessari: la funzione Lambda e l'argomento di Amazon SNS.

Fase 2: configurazione di una funzione Lambda

In questa fase verrà creata una funzione Lambda che registra l'attività dell'API inviata dalla regola Amazon EventBridge che verrà configurata in seguito.

Creazione di una funzione Lambda che registra gli eventi Amazon EventBridge
  1. Apri la console AWS Lambda all'indirizzo https://console.aws.amazon.com/lambda/.

  2. Se non hai esperienza con Lambda, scegli Get Started Now (Inizia ora) sulla pagina di benvenuto. Altrimenti scegli Create function (Crea funzione).

  3. Nella pagina Create function (Crea funzione) scegliere Use a blueprint (Usa un piano).

  4. Dal riquadro di ricerca Blueprint, immettere hello per il filtro e scegliere la blueprint hello-world.

  5. Scegliere Configure (Configura).

  6. Nella pagina Basic information (Informazioni di base), procedere come segue:

    1. Per il nome della funzione Lambda, inserisci LogOrganizationEvents nella casella di testo Name (Nome).

    2. In Role (Ruolo), scegliere Create a new role with basic Lambda permissions (Crea un nuovo ruolo con le autorizzazioni Lambda di base). Questo ruolo concede alla tua funzione Lambda le autorizzazioni per accedere ai dati necessari e per scriverli nel log di output.

  7. Modifica il codice per la funzione Lambda, come mostrato nell'esempio seguente.

    console.log('Loading function'); exports.handler = async (event, context) => { console.log('LogOrganizationsEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); return event.key1; // Echo back the first key value // throw new Error('Something went wrong'); };

    Questo codice di esempio registra l'evento con una stringa di contrassegno LogOrganizationEvents seguita dalla stringa JSON che costituisce l'evento.

  8. Scegli Create function (Crea funzione).

Fase 3: creazione di un argomento Amazon SNS che invia e-mail ai sottoscrittori

In questa fase, creerai un argomento Amazon SNS che invia informazioni tramite e-mail ai sottoscrittori. Imposterai questo argomento come "destinazione" della regola Amazon EventBridge che creerai più tardi.

Per creare un argomento Amazon SNS che invia un'e-mail ai sottoscrittori
  1. Apri la console Amazon SNS all'indirizzo https://console.aws.amazon.com/sns/v3/.

  2. Nel pannello di navigazione, scegli Topics (Argomenti).

  3. Scegli Create new topic (Crea nuovo argomento).

    1. Per Topic name (Nome argomento), immettere OrganizationsCloudWatchTopic.

    2. Per Display name (Nome visualizzato), inserire OrgsCWEvnt.

    3. Scegli Create topic (Crea argomento).

  4. Puoi ora creare una sottoscrizione per l'argomento. Scegli l'ARN per l'argomento che hai appena creato.

  5. Scegliere Create Subscription (Crea iscrizione).

    1. Nella pagina Create subscription (Crea sottoscrizione) scegli Email (E-mail) in Protocol (Protocollo).

    2. Per Endpoint, immettere il proprio indirizzo e-mail.

    3. Scegliere Create subscription (Crea abbonamento). AWS invia un'e-mail all'indirizzo e-mail specificato nella fase precedente. Attendere l'arrivo dell'e-mail, quindi scegliere il link Confirm subscription (Conferma abbonamento) nell'e-mail per verificare l'avvenuta ricezione dell'e-mail.

    4. Torna alla console e aggiorna la pagina. Il messaggio Pending confirmation (Conferma in sospeso) non verrà più visualizzato e verrà sostituito dall'ID di sottoscrizione attualmente valido.

Fase 4: Creazione di una regola Amazon EventBridge

Ora che la funzione Lambda richiesta è presente nel tuo account, crea una regola Amazon EventBridge in grado di invocarla quando sono soddisfatti i criteri nella regola.

Per creare una regola EventBridge
  1. Apri la console Amazon EventBridge su https://console.aws.amazon.com/events/.

  2. Imposta la console sulla regione Stati Uniti orientali (Virginia settentrionale), altrimenti le informazioni su Organizations non saranno disponibili. Nella barra di navigazione nell'angolo in alto a destra della console, scegli la Regione Stati Uniti orientali (Virginia settentrionale).

  3. Per ulteriori informazioni sulla creazione di regole, consulta Nozioni di base di Amazon EventBridge nella Guida per l'utente di Amazon EventBridge.

Fase 5: Test della regola di Amazon EventBridge

In questa fase, verrà creata un'unità organizzativa (UO) e verrà osservata la regola Amazon EventBridge, verrà generata una voce di log e sarà inviata un'e-mail a sé stessi con i dettagli dell'evento.

AWS Management Console
Per creare un'unità organizzativa
  1. Apri la console AWS Organizations alla pagina Account AWS.

  2. Seleziona la casella di controllo dell'UO Root, scegli Actions (Operazioni) e quindi in Organizational unit (Unità organizzativa) scegli Create new (Crea nuova).

  3. Come nome della UO, inserire TestCWEOU e scegliere Create organizational unit (Crea unità organizzativa).

Visualizzazione della voce di log di EventBridge
  1. Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nella pagina di navigazione scegli Logs (Log).

  3. In Gruppi di log, scegli il gruppo associato alla funzione Lambda: /aws/lambda/LogOrganizationEvents.

  4. Ogni gruppo contiene uno o più flussi e per il giorno odierno dovrebbe esserci un gruppo. Sceglilo.

  5. Visualizza il log. Dovresti vedere righe simili alla seguente:

  6. Seleziona la riga centrale della voce per visualizzare il testo JSON completo dell'evento ricevuto. Puoi visualizzare tutti i dettagli della richiesta API nelle parti requestParameters e responseElements dell'output.

    2017-03-09T22:45:05.101Z 0999eb20-051a-11e7-a426-cddb46425f16 Received event: { "version": "0", "id": "123456-EXAMPLE-GUID-123456", "detail-type": "AWS API Call via CloudTrail", "source": "aws.organizations", "account": "123456789012", "time": "2017-03-09T22:44:26Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.04", "userIdentity": { ... }, "eventTime": "2017-03-09T22:44:26Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "AWS Organizations Console, aws-internal/3", "requestParameters": { "parentId": "r-exampleRootId", "name": "TestCWEOU" }, "responseElements": { "organizationalUnit": { "name": "TestCWEOU", "id": "ou-exampleRootId-exampleOUId", "arn": "arn:aws:organizations::1234567789012:ou/o-exampleOrgId/ou-exampleRootId-exampeOUId" } }, "requestID": "123456-EXAMPLE-GUID-123456", "eventID": "123456-EXAMPLE-GUID-123456", "eventType": "AwsApiCall" } }
  7. Controlla nell'account e-mail la presenza di un messaggio da OrgsCWEvnt (il nome visualizzato dell'argomento Amazon SNS). Il corpo dell'e-mail contiene lo stesso output del testo JSON della voce di log visualizzata nella fase precedente.

Pulizia: rimozione delle risorse non necessarie

Per non incorrere in costi aggiuntivi, è necessario eliminare qualsiasi risorsa di AWS creata come parte di questo tutorial che non si desidera mantenere.

Per pulire il tuo ambiente AWS
  1. Utilizza la console CloudTrail per eliminare il trail denominato My-Test-Trail creato nella fase 1.

  2. Se nella fase 1 hai creato un bucket Amazon S3, utilizza la console Amazon S3 per eliminarlo.

  3. Utilizza la console Lambda per eliminare la funzione denominata LogOrganizationEvents creata nella fase 2.

  4. Utilizza la console Amazon SNS per eliminare l'argomento Amazon SNS denominato OrganizationsCloudWatchTopic creato nella fase 3.

  5. Utilizza la console CloudWatch per eliminare la regola EventBridge denominata OrgsMonitorRule creata nella fase 4.

  6. Utilizza la console Organizations per eliminare l'unità organizzativa denominata TestCWEOU creata alla fase 5.

Sono state completate tutte le operazioni. In questo tutorial hai configurato EventBridge per monitorare la tua organizzazione per eventuali modifiche. Hai configurato una regola che viene attivata quando gli utenti invocano operazioni specifiche di AWS Organizations. La regola eseguiva una funzione Lambda che registrava l'evento e inviava un'e-mail contenente i dettagli dell'evento.