

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à.

# Rimuovi Amazon EC2 Entries Account AWS dall'altra AWS Managed Microsoft AD parte utilizzando l' AWS Lambda automazione
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad"></a>

*Dott. Rahul Sharad Gaikwad e Tamilselvan P, Amazon Web Services*

## Riepilogo
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad-summary"></a>

Active Directory (AD) è uno strumento di scripting di Microsoft che gestisce le informazioni sul dominio e le interazioni degli utenti con i servizi di rete. È ampiamente utilizzato dai fornitori di servizi gestiti (MSPs) per gestire le credenziali dei dipendenti e le autorizzazioni di accesso. Poiché gli aggressori di AD possono utilizzare account inattivi per cercare di hackerare un'organizzazione, è importante trovare account inattivi e disattivarli secondo un programma di manutenzione ordinaria. Con AWS Directory Service for Microsoft Active Directory, puoi eseguire Microsoft Active Directory come servizio gestito. Questo modello può aiutarti a configurare AWS Lambda l'automazione per trovare e rimuovere rapidamente gli account inattivi.

Se i seguenti scenari si applicano alla vostra organizzazione, questo modello può aiutarvi:
+ **Gestione AD centralizzata**: se la tua organizzazione ne ha più di una Account AWS, ognuna con la propria implementazione AD, può essere difficile gestire gli account utente e le autorizzazioni di accesso in modo uniforme su tutti gli account. Con una soluzione di pulizia di AD per più account, puoi disabilitare o rimuovere gli account inattivi da tutte le istanze AD in modo centralizzato.
+ **Ristrutturazione o migrazione di AD**: se la tua organizzazione prevede di ristrutturare o migrare la distribuzione di AD, una soluzione di pulizia di AD per più account può aiutarti a preparare l'ambiente. La soluzione può aiutarti a rimuovere gli account non necessari o inattivi, semplificare il processo di migrazione e ridurre potenziali conflitti o problemi.

Quando si utilizza questo modello, è possibile ottenere i seguenti vantaggi:
+ Migliora le prestazioni di database e server e correggi le vulnerabilità di sicurezza dovute agli account inattivi.
+ Se il server AD è ospitato nel cloud, la rimozione degli account inattivi può anche ridurre i costi di archiviazione migliorando al contempo le prestazioni. Le bollette mensili potrebbero diminuire perché sia i costi della larghezza di banda che le risorse di elaborazione possono diminuire.
+ Tieni a bada i potenziali aggressori con un Active Directory pulito.

## Prerequisiti e limitazioni
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad-prereqs"></a>

**Prerequisiti**
+ Un account genitore attivo Account AWS e uno o più account per figli. In questo modello, un *account principale* è il luogo in cui viene creato Active Directory. *Gli account secondari* ospitano server Windows e vengono uniti tramite l'account principale Active Directory.
+ Git [installato](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) e configurato su una workstation locale.
+ Terraform [installato](https://learn.hashicorp.com/tutorials/terraform/install-cli) e configurato su una workstation locale.
+ AWS Managed Microsoft AD directory configurata nell'account principale e condivisa con tutti gli account secondari. *Per maggiori dettagli, consulta [Tutorial: Sharing your AWS Managed Microsoft AD directory for seamless EC2 domain-join](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_directory_sharing.html) nella Administration Guide.AWS Directory Service *
+ Una connessione peering di cloud privato virtuale (VPC) o una AWS Transit Gateway connessione disponibile tra il VPC di AWS Directory Service (account principale) e il VPC delle istanze Amazon Elastic Compute Cloud (Amazon EC2) (account secondari). *Per ulteriori dettagli, consulta [Configurare una connessione peering VPC tra il proprietario della directory e l'account utente della directory nella Guida](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html#step1_configure_owner_account_vpc) all'AWS Directory Service amministrazione.*
+ Una macchina Windows configurata con lo `EC2WindowsUserdata` script su tutti gli account padre e figlio. Il file di script è disponibile nella radice del [repository di codice](https://github.com/aws-samples/aws-lambda-ad-cleanup-terraform-samples/tree/main/multiple-account-cleanup) di questo pattern.
+ Un ruolo cross-account AWS Identity and Access Management (IAM) disponibile su ogni account secondario configurato con una policy di fiducia per consentire l'uso di una AWS Lambda funzione dell'account principale. Per ulteriori informazioni, consulta [Invio e ricezione di eventi tra Amazon Account AWS EventBridge nella](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEvents-CrossAccountEventDelivery.html) *Amazon EventBridge User Guide*.
+ I seguenti valori segreti sono disponibili in AWS Systems Manager Parameter Store dell'account principale:
  + `domainJoinUser`— Nome utente del servizio di directory
  + `domainJoinPassword`— Password del servizio di elenco

  Per ulteriori informazioni sui segreti, vedere [Create an Gestione dei segreti AWS secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) nella *Guida per l'Gestione dei segreti AWS utente*.

**Limitazioni**
+ La creazione di una risorsa in un account per bambini non è automatizzata con Terraform. È necessario creare manualmente le seguenti risorse utilizzando: Console di gestione AWS
  +  EventBridge Regola di Amazon per inviare gli eventi di EC2 cessazione di Amazon all'account principale
  + Creazione EC2 di ruoli su più account Amazon nell'account per bambini con politica di fiducia
  + Peering VPC o connessione Transit Gateway
+ Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità per regione, vedi [Servizi AWS per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta [Endpoints and quotas del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e scegli il link relativo al servizio.

**Versioni del prodotto**
+ [Terraform versione 1.1.9 o successiva](https://developer.hashicorp.com/terraform/install)
+ [Terraform AWS Provider versione 3.0 o successiva](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/version-3-upgrade)

## Architecture
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad-architecture"></a>

Il diagramma seguente mostra l'architettura di alto livello della soluzione.

![Processo per utilizzare l'automazione Lambda per rimuovere le EC2 voci da tutti gli account AWS.](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/c397d873-e10d-44b6-8352-5f1380ab94ca/images/bd6c80a7-e490-47db-bd47-165314e1ea8a.png)


Il diagramma dell'architettura illustra il seguente processo:

1. Negli account per bambini, la EventBridge regola raccoglie tutti gli eventi di EC2 cessazione di Amazon. La regola invia gli eventi a EventBridge cui è presente nell'account principale.

1. Dall'account principale, EventBridge raccoglie tutti gli eventi e contiene la regola per attivare la funzione `ADcleanup-Lambda` Lambda.

1. L'account principale riceve eventuali eventi di chiusura dall'account genitore o figlio e attiva la funzione Lambda.

1. La funzione Lambda effettua la chiamata ai gruppi di Amazon Auto EC2 Scaling utilizzando il modulo di avvio Python e ottiene l'ID casuale dell'istanza. L'ID dell'istanza viene utilizzato per eseguire i comandi di Systems Manager.

1. La funzione Lambda effettua un'altra chiamata ad Amazon EC2 utilizzando il modulo boto. La funzione Lambda ottiene gli indirizzi IP privati dei server Windows in esecuzione e li archivia in una variabile temporanea. Nei passaggi 5.1 e 5.2, le EC2 istanze di Windows in esecuzione vengono raccolte dagli account secondari.

1. La funzione Lambda effettua un'altra chiamata a Systems Manager per ottenere le informazioni sul computer a cui è connesso. AWS Directory Service

1. Un AWS Systems Manager documento aiuta a eseguire il PowerShell comando sui server Amazon EC2 Windows per ottenere gli indirizzi IP privati dei computer collegati ad AD. (Il documento Systems Manager utilizza l'ID dell'istanza ottenuto nel passaggio 4.)

1. Il nome utente e le password del dominio AD vengono archiviati nel AWS Systems Manager Parameter Store. AWS Lambda e Systems Manager effettuano una chiamata a Parameter Store e ottengono i valori di nome utente e password da utilizzare per connettersi ad AD.

1. Utilizzando il documento Systems Manager, lo PowerShell script viene eseguito sul server Amazon EC2 Windows utilizzando l'id dell'istanza ottenuto in precedenza nel passaggio 4.

1. Amazon EC2 si connette AWS Directory Service utilizzando PowerShell i comandi e rimuove i computer non in uso o inattivi.

## Tools (Strumenti)
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad-tools"></a>

**AWS servizi**
+ [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html)offre diversi modi per utilizzare Microsoft Active Directory (AD) con altri Servizi AWS come Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) per SQL Server e FSx Amazon per Windows File Server.
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)consente ai carichi di lavoro e alle risorse compatibili con le directory di AWS utilizzare Microsoft Active Directory in. Cloud AWS
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornisce capacità di elaborazione scalabile in. Cloud AWS Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) è un servizio di bus eventi senza server che ti aiuta a connettere le tue applicazioni con dati in tempo reale provenienti da una varietà di fonti. Ad esempio, AWS Lambda funzioni, endpoint di invocazione HTTP che utilizzano destinazioni API o bus di eventi in altro modo. Account AWS
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle. Con IAM, puoi specificare chi o cosa può accedere ai servizi e alle risorse AWS, gestire centralmente le autorizzazioni granulari e analizzare l'accesso per perfezionare le autorizzazioni in tutto il mondo. AWS
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)ti aiuta a gestire le applicazioni e l'infrastruttura in esecuzione in. Cloud AWS Semplifica la gestione delle applicazioni e delle risorse, riduce i tempi di rilevamento e risoluzione dei problemi operativi e aiuta a gestire le AWS risorse in modo sicuro su larga scala.
+ [AWS Systems Manager i documenti](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html) definiscono le azioni che Systems Manager esegue sulle istanze gestite. Systems Manager include più di 100 documenti preconfigurati che è possibile utilizzare specificando i parametri nel runtime (tempo di esecuzione).
+ [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) è una funzionalità AWS Systems Manager e fornisce uno storage gerarchico sicuro per la gestione dei dati di configurazione e la gestione dei segreti.

**Altri strumenti**
+ [HashiCorp Terraform](https://www.terraform.io/docs) è uno strumento Infrastructure as Code (IaC) che consente di utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud.
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)è un programma di gestione dell'automazione e della configurazione di Microsoft che funziona su Windows, Linux e macOS.
+ [Python](https://www.python.org/) è un linguaggio di programmazione per computer generico.

**Archivio di codice**

Il codice per questo pattern è disponibile nel repository GitHub [aws-lambda-ad-cleanup-terraform-samples](https://github.com/aws-samples/aws-lambda-ad-cleanup-terraform-samples/tree/main/multiple-account-cleanup).

## Best practice
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad-best-practices"></a>
+ **Unisci automaticamente i domini.**Quando avvii un'istanza Windows che deve far parte di un Directory Service dominio, unisciti al dominio durante il processo di creazione dell'istanza anziché aggiungere manualmente l'istanza in un secondo momento. Per aggiungere automaticamente un dominio, seleziona la directory corretta dall'elenco a discesa **Domain join directory** quando avvii una nuova istanza. Per maggiori dettagli, consulta [Unire senza problemi un'istanza Amazon EC2 Windows alla tua AWS Managed Microsoft AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/launching_instance.html) nella *Guida all'Directory Service amministrazione*.
+ **Eliminare gli account non utilizzati.**È comune trovare account in AD che non sono mai stati utilizzati. Come gli account disabilitati o inattivi che rimangono nel sistema, gli account trascurati e inutilizzati possono rallentare il sistema AD o rendere l'organizzazione vulnerabile alle violazioni dei dati.
+ **Automatizza le pulizie di Active Directory.**Per contribuire a mitigare i rischi per la sicurezza e impedire che gli account obsoleti influiscano sulle prestazioni di AD, è necessario eseguire le pulizie di AD a intervalli regolari. Puoi eseguire la maggior parte delle attività di gestione e pulizia di AD scrivendo script. Le attività di esempio includono la rimozione di account disabilitati e inattivi, l'eliminazione di gruppi vuoti e inattivi e l'individuazione di account utente e password scaduti.

## Poemi epici
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad-epics"></a>

### Configura account per bambini
<a name="set-up-child-accounts"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un ruolo per più account nell'account per bambini. | Per creare un ruolo tra più account in un account figlio, procedi come segue:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html) | DevOps ingegnere | 
| Crea una regola relativa agli eventi nell'account per bambini. | Per creare una EventBridge regola per ogni account per bambini, procedi come segue:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html)<br />Per maggiori dettagli, consulta [Creazione di regole che reagiscono agli eventi in Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html) nella *Amazon EventBridge User Guide*. | DevOps ingegnere | 
| Crea un' EC2 istanza e unisciti ad AD. | Per creare un' EC2 istanza per Windows, procedi come segue:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html) | DevOps ingegnere | 

### Configura la workstation locale
<a name="set-up-the-local-workstation"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea una cartella di progetto e aggiungi i file. | Per clonare il repository e creare una cartella di progetto, procedi come segue:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html) | DevOps ingegnere | 
| Crea il `adcleanup.zip` file. | Per comprimere il `lambda_function.py` file, esegui il seguente comando:<br />`zip -r adcleanup.zip lambda_function.py` | DevOps ingegnere | 

### Fornisci l'architettura di destinazione utilizzando la configurazione Terraform
<a name="provision-the-target-architecture-using-the-terraform-configuration"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Fornisci valori per le variabili Terraform. | Per l'account secondario, fornisci i valori per le seguenti `arn` variabili come tipi di stringa nel `terraform.tfvars` file:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html) | DevOps ingegnere | 
| Inizializza la configurazione Terraform. | Per inizializzare la directory di lavoro che contiene i file Terraform, esegui il seguente comando:<br />`terraform init` | DevOps ingegnere | 
| Visualizza in anteprima le modifiche. | Puoi visualizzare in anteprima le modifiche che Terraform apporterà all'infrastruttura prima che l'infrastruttura venga implementata. Per verificare che Terraform apporti le modifiche necessarie, esegui il seguente comando:<br />`terraform plan —-var-file=examples/terraform.tfvars` | DevOps ingegnere | 
| Esegui le azioni proposte. | Per verificare che i risultati del `terraform plan` comando siano quelli previsti, effettuate le seguenti operazioni:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html) | DevOps ingegnere | 

### Verifica della distribuzione
<a name="verify-the-deployment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui e testa la funzione Lambda. | Per verificare che la distribuzione sia avvenuta correttamente, procedi come segue:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html)<br />I risultati dell'esecuzione mostrano l'output della funzione. | DevOps ingegnere | 
| Visualizza i risultati dell'esecuzione delle EventBridge regole dall'account principale. | Per visualizzare i risultati della EventBridge regola basata sugli eventi di EC2 cessazione di Amazon dall'account principale, procedi come segue:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html)<br />Nella CloudWatch console, la pagina **Log groups** mostra i risultati della funzione Lambda. | DevOps ingegnere | 
| Visualizza i risultati dell'esecuzione delle EventBridge regole dall'account secondario. | Per visualizzare i risultati della EventBridge regola basata sugli eventi di EC2 chiusura di Amazon dall'account secondario, procedi come segue:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.html)<br />Nella CloudWatch console, la pagina **Log groups** mostra i risultati della funzione Lambda. | DevOps ingegnere | 

### Pulisci l'infrastruttura dopo l'uso
<a name="clean-up-infrastructure-after-use"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Pulisci l'infrastruttura. | Per pulire l'infrastruttura che hai creato, usa il seguente comando:<br />`terraform destroy`<br />Per confermare il `destroy` comando, digitate`yes`. | DevOps ingegnere | 
| Verifica dopo la pulizia. | Verifica che le risorse siano state rimosse correttamente. | DevOps ingegnere | 

## risoluzione dei problemi
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Problema di connessione tra AWS Directory Service (account principale) e EC2 istanza Amazon (account figlio): non è possibile unire i computer dell'account secondario ad AD anche se è disponibile il peering VPC. | Aggiungi il routing in. VPCs Per istruzioni, consulta [Configurare una connessione peering VPC tra il proprietario della directory e l'account utente della directory nella documentazione](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html#step1_configure_owner_account_vpc). AWS Directory Service  | 

## Risorse correlate
<a name="remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad-resources"></a>

**AWS documentazione**
+ [Amazon EventBridge e AWS Identity and Access Management](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-iam.html)
+ [Configurazione delle autorizzazioni dell'istanza richieste per Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html)
+ [Gestione delle identità e degli accessi per Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/iam_auth_access.html)
+ [Policy IAM basate sull'identità per Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html)
+ [Aggiungi manualmente un'istanza Amazon EC2 Windows alla tua AWS Managed Microsoft AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/join_windows_instance.html)
+ [Rimuovi EC2 le voci Amazon nello stesso Account AWS modulo AWS Managed Microsoft AD utilizzando l' AWS Lambda automazione](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad.html)

**Altre risorse**
+ [AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) (documentazione Terraform)
+ [Configurazione del backend (documentazione](https://developer.hashicorp.com/terraform/language/backend) Terraform)
+ [Installa Terraform (documentazione Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli))
+ Modulo di [avvio Python (repository](https://pypi.org/project/boto/) Python Package Index)
+ Download del [file binario Terraform](https://www.terraform.io/downloads) (documentazione Terraform)