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à.
Imposta avvisi per la chiusura programmatica degli account in Organizations AWS
Creato da Richard Milner-Watts (AWS), Debojit Bhadra () e Manav Yadav () AWS AWS
Archivio AWS di codici: Account | Ambiente: produzione | Tecnologie: gestione e governance |
AWSservizi: AWS CloudTrail; Amazon EventBridge; AWS Lambda; AWS Organizations; Amazon SNS |
Riepilogo
The CloseAccount APIfor AWSOrganizations
Questi APIs potrebbero aumentare il numero di operatori che possono chiudere o rimuovere un AWS account. Tutti gli utenti che hanno accesso all'organizzazione tramite AWS Identity and Access Management (IAM) nell'account di gestione AWS Organizations possono richiamarliAPIs, quindi l'accesso non è limitato al proprietario dell'e-mail principale dell'account con qualsiasi dispositivo di autenticazione a più fattori (MFA) associato.
Questo modello implementa avvisi quando i CloseAccount
e RemoveAccountFromOrganization
APIs vengono chiamati, in modo da poter monitorare queste attività. Per gli avvisi, utilizza un argomento Amazon Simple Notification Service
Prerequisiti e limitazioni
Prerequisiti
Un account attivo AWS
Un'organizzazione in AWS Organizations
Accesso all'account di gestione dell'organizzazione, nella directory principale dell'organizzazione, per creare le risorse necessarie
Limitazioni
Come descritto nel APIriferimento AWS Organizations,
CloseAccount
API consente di chiudere solo il 10% degli account dei membri attivi entro un periodo continuativo di 30 giorni.Quando un AWS account viene chiuso, il suo stato viene modificato inSUSPENDED. Per 90 giorni dopo questa transizione dello stato, AWS Support può riaprire l'account. Dopo 90 giorni l'account viene eliminato definitivamente.
Utenti che hanno accesso all'account di gestione AWS Organizations e APIs potrebbero anche disporre delle autorizzazioni per disabilitare questi avvisi. Se la preoccupazione principale è il comportamento dannoso anziché l'eliminazione accidentale, prendi in considerazione la possibilità di proteggere le risorse create da questo modello con un limite di IAMautorizzazioni.
Le API chiamate
CloseAccount
eRemoveAccountFromOrganization
vengono elaborate nella regione Stati Uniti orientali (Virginia settentrionale) ().us-east-1
Pertanto, è necessario implementare questa soluzione per osservare gli eventi.us-east-1
Architettura
Stack tecnologico Target
AWSOrganizzazioni
AWS CloudTrail
Amazon EventBridge
AWSLambda
Amazon SNS
Architettura Target
Il diagramma seguente mostra l'architettura della soluzione per questo modello.
AWSOrganizations elabora una
RemoveAccountFromOrganization
richiestaCloseAccount
or.Amazon EventBridge è integrato con AWS CloudTrail per inviare questi eventi al bus eventi predefinito.
Una EventBridge regola Amazon personalizzata corrisponde alle richieste di AWS Organizations e chiama una funzione AWS Lambda.
La funzione Lambda invia un messaggio a un SNS argomento, a cui gli utenti possono iscriversi per ricevere avvisi e-mail o ulteriori elaborazioni.
Se le notifiche Slack sono abilitate, la funzione Lambda invia un messaggio a un webhook Slack.
Strumenti
AWSservizi
AWS CloudFormationfornisce un modo per modellare una raccolta di risorse correlate AWS e di terze parti, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita, trattando l'infrastruttura come codice.
Amazon EventBridge è un servizio di bus eventi senza server che puoi utilizzare per connettere le tue applicazioni con dati provenienti da una varietà di fonti. EventBridge riceve un evento, un indicatore di un cambiamento nell'ambiente e applica una regola per indirizzare l'evento verso un obiettivo. Le regole abbinano gli eventi agli obiettivi in base alla struttura dell'evento, chiamata pattern di evento, o a una pianificazione.
AWSLambda è un servizio di elaborazione che supporta l'esecuzione di codice senza fornire o gestire server. Lambda esegue il codice solo quando necessario e si ridimensiona automaticamente, da poche richieste al giorno a migliaia al secondo. I costi saranno calcolati in base al tempo di elaborazione effettivo. Quando il codice non è in esecuzione non viene addebitato alcun costo.
AWSOrganizations ti aiuta a gestire e governare centralmente il tuo ambiente man mano che cresci e scalerai AWS le tue risorse. Utilizzando AWS Organizations, puoi creare nuovi AWS account e allocare risorse in modo programmatico, raggruppare account per organizzare i flussi di lavoro, applicare politiche agli account o ai gruppi per la governance e semplificare la fatturazione utilizzando un unico metodo di pagamento per tutti i tuoi account.
AWS CloudTrailmonitora e registra l'attività degli account in tutta l'AWSinfrastruttura e ti offre il controllo sulle azioni di archiviazione, analisi e correzione.
Amazon Simple Notification Service (AmazonSNS) è un servizio di messaggistica completamente gestito per le comunicazioni application-to-application (A2A) e application-to-person (A2P).
Altri strumenti
AWSLa libreria Lambda Powertools for Python
è un insieme di utilità che forniscono funzionalità di tracciamento, registrazione, metriche e gestione degli eventi per le funzioni Lambda.
Codice
Il codice per questo pattern si trova nel repository Account Closer Notifier. GitHub AWS
La soluzione include un CloudFormation modello che implementa l'architettura per questo pattern. Utilizza la libreria AWS Lambda Powertools for Python
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Avvia il CloudFormation modello per lo stack di soluzioni. | Il CloudFormation modello per questo modello si trova nel ramo principale del GitHub repository Per avviare il modello:
Per ulteriori informazioni sul lancio di uno CloudFormation stack, consulta la documentazione. AWS | AWSamministratore |
Verifica che la soluzione sia stata avviata correttamente. |
| AWSamministratore |
Effettua la sottoscrizione all'argomento SNS. | (Facoltativo) Se vuoi iscriverti all'SNSargomento:
Per ulteriori informazioni sulla configurazione SNS delle notifiche, consulta la SNSdocumentazione di Amazon. | AWSamministratore |
Attività | Descrizione | Competenze richieste |
---|---|---|
Invia un evento di test al bus eventi predefinito. | Il GitHub repository Nota: non è possibile utilizzare l'origine CloudTrail dell'evento per inviare questo evento, poiché non è possibile inviare un evento come AWS servizio. Per inviare un evento di prova:
| AWSamministratore |
Verifica che la notifica e-mail sia stata ricevuta. | Controlla le notifiche nella casella di posta che ha sottoscritto l'SNSargomento. Dovresti ricevere un'e-mail con i dettagli dell'account che è stato chiuso e del principale che ha eseguito la API chiamata. | AWSamministratore |
Verifica che la notifica Slack sia stata ricevuta. | (Facoltativo) Se hai specificato un webhook URL per il | AWSamministratore |
Risorse correlate
CloseAccount azione (APIriferimento AWS Organizations)
RemoveAccountFromOrganization azione (APIriferimento AWS Organizations)