

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

# Fondamenti del cloud
<a name="cloudfoundations-pattern-list"></a>

**Topics**
+ [Automatizza la creazione di account utilizzando Landing Zone Accelerator su AWS](automate-account-creation-lza.md)
+ [Inventaria automaticamente AWS le risorse su più account e regioni](automate-aws-resource-inventory.md)
+ [Crea una AWS landing zone che includa MongoDB Atlas](build-aws-landing-zone-that-includes-mongodb-atlas.md)
+ [Configura i log di flusso VPC per la centralizzazione su Account AWS](configure-vpc-flow-logs-for-centralization-across-aws-accounts.md)
+ [Gestisci i set di AWS autorizzazioni in modo dinamico utilizzando Terraform](manage-aws-permission-sets-dynamically-by-using-terraform.md)
+ [Etichetta automaticamente gli allegati Transit Gateway utilizzando AWS Organizations](tag-transit-gateway-attachments-automatically-using-aws-organizations.md)
+ [Altri modelli](cloudfoundations-more-patterns-pattern-list.md)

# Automatizza la creazione di account utilizzando Landing Zone Accelerator su AWS
<a name="automate-account-creation-lza"></a>

*Justin Kuskowski, Joe Behrens e Nathan Scott, Amazon Web Services*

## Riepilogo
<a name="automate-account-creation-lza-summary"></a>

Questo schema spiega come utilizzare [Landing Zone Accelerator su AWS](https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/) una soluzione per implementarne automaticamente una nuova quando un utente autorizzato invia una richiesta. Account AWS Viene utilizzato AWS Step Functions per orchestrare una serie di funzioni. AWS Lambda Le funzioni Lambda aggiungono le informazioni sull'account a un repository Git, avviano una AWS CodePipeline pipeline e convalidano il provisioning delle risorse necessarie. AWS Quando il processo è completo, l'utente riceve una notifica che l'account è stato creato.

Facoltativamente, puoi integrare gruppi di ID Microsoft Entra e assegnare set di AWS IAM Identity Center autorizzazioni durante il processo di creazione dell'account. Se l'organizzazione utilizza l'ID Microsoft Entra come fonte di identità, questa funzionalità opzionale consente di gestire e configurare automaticamente l'accesso al nuovo account.

## Prerequisiti e limitazioni
<a name="automate-account-creation-lza-prereqs"></a>

**Prerequisiti**
+ Accesso all'account di gestione in AWS Organizations
+ AWS Cloud Development Kit (AWS CDK) [https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install)
+ [Python versione 3.9 o successiva, installata](https://www.python.org/downloads/)
+ AWS Command Line Interface [(AWS CLI) versione 2.13.19 o successiva, installata](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ [Docker versione 24.0.6 o successiva, installata](https://docs.docker.com/get-started/get-docker/)
+ Landing Zone Accelerator on AWS solution, [distribuito nell'account](https://docs.aws.amazon.com/solutions/latest/landing-zone-accelerator-on-aws/deploy-the-solution.html) di gestione
+ (Opzionale) Microsoft Entra ID e IAM Identity Center, [integrati](https://docs.aws.amazon.com/singlesignon/latest/userguide/idp-microsoft-entra.html)

**Limitazioni**

Il flusso di lavoro per la creazione dell'account supporta esecuzioni sequenziali per implementarne una singola. Account AWS Questa limitazione assicura che il flusso di lavoro per la creazione dell'account sia completato con successo senza dover competere per le risorse durante un'esecuzione parallela.

## Architecture
<a name="automate-account-creation-lza-architecture"></a>

**Architettura Target**

L'immagine seguente mostra l'architettura di alto livello che automatizza la creazione di un nuovo dispositivo Account AWS utilizzando Landing Zone Accelerator on. AWS AWS Step Functions orchestra l'automazione. Ogni attività nel flusso di lavoro Step Functions viene eseguita da una o più AWS Lambda funzioni.

![\[Flusso di lavoro per automatizzare la creazione di un nuovo account utilizzando Landing Zone Accelerator su AWS.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/d31abfaa-6854-4923-b896-3b817de9f4d9/images/dfd6503d-a4ed-43df-82d4-082f8153d473.png)


Il diagramma mostra il flusso di lavoro seguente:

1. L'utente richiede un account eseguendo uno script Python o utilizzando Amazon API Gateway.

1. Il flusso di lavoro di Account Creation Orchestrator inizia in. AWS Step Functions

1. Il flusso di lavoro aggiorna il `account-config.yaml` file nell'archivio del codice sorgente. Inoltre avvia il Landing Zone Accelerator sulla AWS pipeline e controlla lo stato della pipeline. Questa pipeline crea e configura il nuovo account. Per ulteriori informazioni su come funziona, consulta la [panoramica sull'architettura](https://docs.aws.amazon.com/solutions/latest/landing-zone-accelerator-on-aws/architecture-overview.html) del Landing Zone Accelerator su. AWS

1. (Facoltativo) Quando la pipeline è completa, il flusso di lavoro verifica se il gruppo esiste in Microsoft Entra ID. Se il gruppo non esiste in Microsoft Entra ID, il flusso di lavoro aggiunge il gruppo a Microsoft Entra ID.

1. Il flusso di lavoro esegue passaggi aggiuntivi che la AWS soluzione Landing Zone Accelerator on non è in grado di eseguire. I passaggi predefiniti includono:
   + Creazione di un [alias di account](https://docs.aws.amazon.com/IAM/latest/UserGuide/console-account-alias.html) in AWS Identity and Access Management (IAM)
   + Allegare [tag](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html) all'account in AWS Organizations
   + Creazione di [AWS Systems Manager parametri in Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) in base ai tag assegnati all'account

1. (Facoltativo) Il flusso di lavoro assegna uno o più [set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) al gruppo di ID Microsoft Entra specificato in precedenza. I set di autorizzazioni consentono agli utenti del gruppo di accedere al nuovo account e consentono loro di eseguire le azioni configurate.

1. Una AWS Lambda funzione esegue test di controllo qualità e convalida. Convalida la creazione di risorse, verifica che i tag siano stati creati e verifica che le risorse di sicurezza siano state distribuite.

1. Il flusso di lavoro rilascia l'account e utilizza Amazon Simple Email Service (Amazon SES) per notificare all'utente che il processo è stato completato correttamente.

Per ulteriori informazioni sul flusso di lavoro Step Functions, vedere il *diagramma del flusso di lavoro Step Functions* nella sezione [Informazioni aggiuntive](#automate-account-creation-lza-additional) di questo modello.

**Applicazioni Microsoft Entra ID**

Se si sceglie di effettuare l'integrazione con Microsoft Entra ID, si creano le due applicazioni seguenti quando si distribuisce questo modello:
+ Un'applicazione collegata a IAM Identity Center e che assicura che i gruppi di ID Microsoft Entra siano disponibili in IAM Identity Center. In questo esempio, questa applicazione Microsoft Entra ID è denominata`LZA2`.
+ Un'applicazione che consente a una funzione Lambda di comunicare con Microsoft Entra ID e richiamare [Microsoft](https://learn.microsoft.com/en-us/graph/identity-network-access-overview) Graph. APIs In questo modello, questa applicazione è denominata`create_aws_account`.

Queste applicazioni raccolgono dati che vengono utilizzati per sincronizzare il gruppo di ID Microsoft Entra e assegnare set di autorizzazioni.

## Tools (Strumenti)
<a name="automate-account-creation-lza-tools"></a>

**Servizi AWS**
+ [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) ti aiuta a creare, pubblicare, gestire, monitorare e proteggere REST, HTTP e WebSocket APIs su qualsiasi scala. In questo modello, si utilizza API Gateway per verificare la disponibilità dei Account AWS nomi, avviare il AWS Step Functions flusso di lavoro e controllare lo stato dell'esecuzione di Step Functions.
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)è un framework di sviluppo software che consente di definire e fornire Cloud AWS l'infrastruttura nel codice.
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)ti aiuta a configurare e gestire un ambiente AWS multi-account, seguendo le migliori pratiche prescrittive.
+ [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 Questa soluzione utilizza una [EventBridge regola](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) che avvia una funzione Lambda se lo stato del flusso di lavoro Step Functions cambia in `Failed``Timed-out`, o. `Aborted`
+ [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.
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)ti aiuta a gestire centralmente l'accesso Single Sign-On (SSO) a tutte le tue applicazioni e a quelle sul cloud. Account AWS 
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ti aiuta a creare e controllare chiavi crittografiche per proteggere i tuoi dati. In questo modello, AWS KMS le chiavi vengono utilizzate per crittografare i dati, come i dati archiviati in Amazon Simple Storage Service (Amazon S3), le variabili di ambiente Lambda e i dati in Step Functions.
+ [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 Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)è un servizio di gestione degli account che ti aiuta a consolidare più account Account AWS in un'organizzazione da creare e gestire centralmente.
+ [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html) Simple Email Service (Amazon SES) ti aiuta a inviare e ricevere e-mail utilizzando i tuoi indirizzi e-mail e domini. Dopo aver creato correttamente un nuovo account, ricevi una notifica tramite Amazon SES.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail. Se si verifica un errore durante il processo di creazione dell'account, Amazon SNS invia una notifica agli indirizzi e-mail che configuri.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)è un servizio di orchestrazione senza server che ti aiuta a combinare AWS Lambda funzioni e altro Servizi AWS per creare applicazioni aziendali critiche.
+ [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) fornisce uno storage sicuro e gerarchico per la gestione dei dati di configurazione e la gestione dei segreti.

**Altri strumenti**
+ [awscurl](https://pypi.org/project/awscurl/0.6/) automatizza il processo di firma delle richieste AWS API e ti aiuta a effettuare richieste come comando curl standard.
+ [Microsoft Entra ID](https://learn.microsoft.com/en-us/entra/fundamentals/whatis), precedentemente noto come *Azure Active Directory*, è un servizio di gestione delle identità e degli accessi basato sul cloud.
+ [Microsoft Graph](https://learn.microsoft.com/en-us/graph/graph-explorer/graph-explorer-overview) ti APIs aiuta ad accedere ai dati e all'intelligence nei servizi cloud Microsoft, come Microsoft Entra e Microsoft 365.

**Archivio di codice**

Il codice per questo pattern è disponibile nel GitHub [lza-account-creation-workflow](https://github.com/aws-samples/lza-account-creation-workflow)repository.

La directory [lambda\$1layer](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_layer) contiene i seguenti livelli, a cui si fa riferimento in più di una funzione Lambda:
+ [account\$1creation\$1helper — Questo livello include i moduli per](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_layer/account_creation_helper) l'assunzione dei ruoli e il controllo dei progressi. AWS Service Catalog
+ [boto3](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_layer/boto3) — Questo livello include il [AWS SDK per Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)modulo per assicurarsi che abbia la versione più recente. AWS Lambda 
+ [identity\$1center\$1helper](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_layer/identity_center_helper) — Questo livello supporta le chiamate a IAM Identity Center.

La directory [lambda\$1src contiene](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src) le seguenti funzioni Lambda:
+ [AccountTagToSsmParameter](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/event/AccountTagToSsmParameter)— Questa funzione utilizza i tag allegati all'account per creare parametri AWS Organizations in Parameter Store. Ogni parametro inizia con un `/account/tags/` prefisso.
+ [AttachPermissionSet](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/AttachPermissionSet)— Questa funzione aggiunge un set di autorizzazioni a un gruppo IAM Identity Center.
+ [Azure ADGroup Sync](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/AzureADGroupSync): questa funzione sincronizza il gruppo ID Microsoft Entra di destinazione con IAM Identity Center.
+ [CheckForRunningProcesses](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/CheckForRunningProcesses)— Questa funzione verifica se la `AWSAccelerator-Pipeline` pipeline è attualmente in esecuzione. Se la pipeline è in esecuzione, la funzione ritarda il flusso di lavoro. AWS Step Functions 
+ [CreateAccount](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/CreateAccount)— Questa funzione utilizza AWS Service Catalog e crea AWS Control Tower il nuovo. Account AWS
+ [CreateAdditionalResources](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/CreateAdditionalResources)— Questa funzione crea AWS risorse che non sono gestite da Landing Zone Accelerator o AWS CloudFormation, ad esempio, l'alias e AWS Service Catalog i tag dell'account.
+ [GetAccountStatus](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/GetAccountStatus)— Questa funzione esegue la scansione del prodotto fornito per determinare se il processo AWS Service Catalog di creazione dell'account è stato completato.
+ [GetExecutionStatus](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/api/GetExecutionStatus)— Questa funzione recupera lo stato di un'esecuzione in esecuzione o completata. AWS Step Functions 
+ [NameAvailability](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/api/NameAvailability)— Questa funzione verifica se esiste già un Account AWS nome in AWS Organizations.
+ [ReturnResponse](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/ReturnResponse)— Se la creazione dell'account è avvenuta con successo, questa funzione restituisce l'ID del nuovo account. Se la creazione dell'account non è andata a buon fine, viene restituito un messaggio di errore.
+ [RunStepFunction](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/api/RunStepFunction)— Questa funzione esegue il AWS Step Functions flusso di lavoro che crea l'account.
+ [SendEmailWithSES](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/SendEmailWithSES) — Questa funzione invia e-mail agli utenti che attendono il completamento della creazione dell'account.
+ [Convalida ADGroup SyncTo SSO](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/ValidateAdGroupSyncToSSO): questa funzione verifica se i gruppi ID Microsoft Entra specificati sono sincronizzati con IAM Identity Center.
+ [ValidateResources](https://github.com/aws-samples/lza-account-creation-workflow/tree/main/app/lambda_src/stepfunction/ValidateResources)— Questa funzione verifica che tutte le AWS Control Tower personalizzazioni siano state eseguite correttamente.

## Best practice
<a name="automate-account-creation-lza-best-practices"></a>

Si consigliano le seguenti convenzioni di denominazione per: AWS CDK 
+ Avviate tutti i parametri con un prefisso`p`.
+ Inizia tutte le condizioni con un `c` prefisso.
+ Avvia tutte le risorse con un `r` prefisso.
+ Avvia tutte le uscite con un `o` prefisso.

## Epiche
<a name="automate-account-creation-lza-epics"></a>

### Implementa i ruoli IAM per la convalida e l'etichettatura
<a name="deploy-the-iam-roles-for-validation-and-tagging"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Prepara il Landing Zone Accelerator AWS per la personalizzazione. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 
| Preparati a distribuire il `lza-account-creation-validation` ruolo. | Ora personalizzi la soluzione per implementare il ruolo `lza-account-creation-validation` IAM in tutti gli account diversi dall'account di gestione. Questo ruolo fornisce alla funzione `ValidateResources` Lambda l'accesso in sola lettura ai nuovi account.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 
| Preparati a distribuire il `account-tagging-to-ssm-parameter-role` ruolo. | Ora personalizzi la soluzione per implementare il ruolo `account-tagging-to-ssm-parameter-role` IAM in tutti gli account diversi dall'account di gestione. Questo ruolo viene utilizzato per creare i parametri in AWS Systems Manager Parameter Store.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 
| Preparati a distribuire il `config-log-validation-role` ruolo. | Ora personalizzi la soluzione per implementare il ruolo `config-log-validation-role` IAM nell'account di archiviazione dei log. Questo ruolo consente alla funzione `ValidateResources` Lambda di accedere al bucket Amazon S3 per le regole di registrazione e accesso. AWS Config [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 

### (Facoltativo) Recupera dati da Microsoft Entra ID
<a name="optional-get-data-from-microsoft-entra-id"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'applicazione che consente a una funzione Lambda di comunicare con Microsoft Entra ID. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | ID Microsoft Entra | 
| Recupera i valori per l'`create_aws_account`applicazione. | Ora recuperate i valori necessari per l'`create_aws_account`applicazione.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | ID Microsoft Entra | 
| Crea l'applicazione che integra Microsoft Entra ID con IAM Identity Center. | Nell'interfaccia di amministrazione Microsoft Entra ID, registra l'`LZA2`applicazione. Per istruzioni, consulta [Registrare un'applicazione](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app) nella documentazione Microsoft. | ID Microsoft Entra | 
| Recupera i valori per l'`LZA2`applicazione. | Ora recuperate i valori necessari per l'`LZA2`applicazione.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | ID Microsoft Entra | 
| Crea un segreto. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 

### Implementazione della soluzione
<a name="deploy-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il codice sorgente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | DevOps ingegnere | 
| Aggiorna il `deploy-config.yaml` file. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 
| Implementa la soluzione nel tuo AWS ambiente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html)Questa soluzione utilizza un bucket Amazon S3 per archiviare il codice sorgente di questa soluzione. Puoi utilizzare lo script [upload\$1to\$1source\$1bucket.py](https://github.com/aws-samples/gen-ai-trivia/blob/main/scripts/upload_to_source_bucket.py) per creare un archivio del codice sorgente e caricare una versione aggiornata. | AWS DevOps | 

### Opzione 1 — Crea un account usando Python
<a name="option-1-create-an-account-using-python"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica quali argomenti utilizzare. | Scegliete quali argomenti utilizzare quando eseguite lo script Python che avvia il flusso di lavoro Step Functions. Per un elenco completo degli argomenti, consultate la sezione [Informazioni aggiuntive](#automate-account-creation-lza-additional) di questo modello. | AWS DevOps, Python | 
| Avvia lo script Python. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | DevOps ingegnere, Python | 

### Opzione 2: creare un account utilizzando API Gateway e awscurl
<a name="option-2-create-an-account-using-api-gateway-and-awscurl"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Imposta le variabili per awscurl. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 
| Verifica la disponibilità dei nomi. | Immettere il comando seguente per verificare che il nome sia disponibile per Account AWS. Sostituisci `<AWS_ACCOUNT_NAME>` con il nome dell'account di destinazione:<pre>awscurl --service execute-api \<br />    --region ${AWS_REGION} \<br />    --access_key ${AWS_ACCESS_KEY_ID} \<br />    --secret_key ${AWS_SECRET_ACCESS_KEY} \<br />    --security_token ${AWS_SESSION_TOKEN} \<br />    -X POST ${API_GATEWAY_ENDPOINT}check_name?account_name=<AWS_ACCOUNT_NAME></pre> | AWS DevOps | 
| Esegui il flusso di lavoro per la creazione dell'account. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 

### (Facoltativo) Pulisci la soluzione
<a name="optional-clean-up-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rimuovi oggetti dai bucket Amazon S3. | Rimuovi qualsiasi oggetto nei seguenti bucket Amazon S3:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-account-creation-lza.html) | AWS DevOps | 
| Elimina lo CloudFormation stack. | Immettete il seguente comando per eliminare lo CloudFormation stack:<pre>aws cloudformation delete-stack \<br />  --stack-name lza-account-creation-workflow-application<br />aws cloudformation wait stack-delete-complete \<br />  --stack-name lza-account-creation-workflow-application</pre> | AWS DevOps | 
| Elimina la pipeline | Inserisci il seguente comando per eliminare la `lza-account-creation-workflow-pipeline` pipeline:<pre>cdk destroy lza-account-creation-workflow-pipeline --force</pre> | AWS DevOps | 

## Risorse correlate
<a name="automate-account-creation-lza-resources"></a>
+ [Landing Zone Accelerator su AWS](https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/) (libreria di AWS soluzioni)
+ [Risoluzione dei AWS CDK problemi più comuni](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html) (AWS CDK documentazione)

## Informazioni aggiuntive
<a name="automate-account-creation-lza-additional"></a>

**Diagramma del flusso di lavoro Step Functions**

L'immagine seguente mostra gli stati nel flusso di lavoro Step Functions.

![\[Stati nel flusso di lavoro Step Functions.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/d31abfaa-6854-4923-b896-3b817de9f4d9/images/d93aa7bf-1144-4f25-9488-aacc534a7813.png)


**Arguments (Argomenti)**

Di seguito sono riportati gli argomenti che è possibile utilizzare quando si esegue lo script Python che avvia il flusso di lavoro Step Functions.

I seguenti argomenti sono obbligatori:
+ `account-name (-a)`(stringa) — Il nome del nuovo. Account AWS
+ `support-dl (-s)`(stringa) — L'indirizzo e-mail che riceve una notifica quando il processo di creazione dell'account è completo.
+ `managed-org-unit (-m)`(stringa) — L'[unità organizzativa gestita (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) che conterrà il nuovo account.

I seguenti argomenti sono facoltativi:
+ `ad-integration (-ad)`(dizionario di stringhe) — Il gruppo di ID Microsoft Entra e il set di autorizzazioni assegnato. Di seguito è riportato un esempio di utilizzo di questo argomento:

  ```
  --ad-integration "{\"<PermissionSetName>\": \"<EntraIdGroupName>\"}"
  ```
+ `account-email (-e)`****(stringa) — L'indirizzo e-mail dell'utente root del nuovo Account AWS.
**Nota**  
Se questo argomento non viene utilizzato, verrà generato un indirizzo e-mail utilizzando i valori `rootEmailPrefix` e `rootEmailDomain` dal `configs/deploy-config.yaml` file. Se non viene fornito un indirizzo e-mail, viene generato un indirizzo e-mail utilizzando il seguente formato:`rootEmailPrefix+accountName@rootEmailDomain`.
+ `region (-r)`(stringa) — Il Regione AWS luogo in cui è stato distribuito il flusso di lavoro Step Functions. Il valore predefinito è `us-east-1`.
+ `force-update (-f)`(string Boolean) — Immettere `true` per AWS Service Catalog forzare l'aggiornamento del prodotto fornito.
+ `bypass-creation (-b)`(string Boolean) — Immettere `true` per ignorare l'aggiunta dell'account al `accounts-config.yaml` file e ignorare l'esecuzione della pipeline. `AWSAccelerator-Pipeline` Questo argomento viene in genere utilizzato per testare il processo di creazione dell'account o per eseguire il resto dei passaggi di Step Functions se si verifica un errore nella `Landing Zone Accelerator` pipeline.
+ `tags (-t)`(stringa) — Tag aggiuntivi che si desidera aggiungere a. Account AWS Per impostazione predefinita, vengono aggiunti i seguenti tag: `account-name``support-dl`, e`purpose`. Di seguito è riportato un esempio di utilizzo di questo argomento:

  ```
  --tags TEST1=VALUE1 TEST2=VALUE2
  ```

# Inventaria automaticamente AWS le risorse su più account e regioni
<a name="automate-aws-resource-inventory"></a>

*Matej Macek, Amazon Web Services*

## Riepilogo
<a name="automate-aws-resource-inventory-summary"></a>

Questo modello delinea un approccio automatizzato per mantenere un inventario completo di AWS risorse su più account e. Regioni AWSÈ progettato per aiutare gli ingegneri dell'infrastruttura e della sicurezza a migliorare le loro pratiche di gestione delle risorse. Viene utilizzato AWS Config per tenere traccia delle modifiche alle risorse, Amazon Athena per le interrogazioni e Amazon Quick Sight per dashboard interattivi. Implementa questa soluzione distribuendo uno stack. AWS CloudFormation 

Questa soluzione è simile a quella presentata in [Visualizzazione dei AWS Config dati con Amazon Athena e Amazon](https://aws.amazon.com/blogs/mt/visualizing-aws-config-data-using-amazon-athena-and-amazon-quicksight/) Quick AWS Sight (post di blog). Questo modello amplia tale soluzione per soddisfare i seguenti requisiti comuni e fornire i seguenti vantaggi chiave:
+ **Incentrato sulla conformità** [https://www.hhs.gov/programs/hipaa/index.html](https://www.hhs.gov/programs/hipaa/index.html)
+ **Framework di personalizzazione**: fornisce una base per la creazione di dashboard Quick Sight per varie risorse, in modo da poter personalizzare la soluzione in base alle proprie esigenze specifiche. AWS 
+ **Miglioramenti basati sull'utente**: questo approccio incorpora il feedback proveniente da casi d'uso reali e risponde alle richieste di una soluzione più completa.

I team di infrastruttura, sicurezza e finanza spesso affrontano problemi di visibilità e collaborazione in ambienti dinamici, con più account o più regioni. Questa soluzione è progettata per affrontare queste sfide e ridurre in modo significativo il tempo e gli sforzi necessari per creare e mantenere un inventario delle risorse. Il risultato è una visione centralizzata delle risorse che consente di migliorare le decisioni di allocazione delle risorse, identificare e mitigare i rischi, ottimizzare i costi e migliorare la visibilità e la collaborazione complessive. Questo approccio colma il divario tra le soluzioni concettuali e le esigenze di implementazione nel mondo reale per scopi operativi, di sicurezza e di conformità.

## Prerequisiti e limitazioni
<a name="automate-aws-resource-inventory-prereqs"></a>

**Prerequisiti**
+ Sono attivi i seguenti: Account AWS
  + *Account di gestione*: un account centralizzato per la fatturazione, la creazione di account e il controllo degli accessi all'interno dell'organizzazione
  + *Account di controllo*: un hub centralizzato per il monitoraggio della sicurezza, i controlli di conformità e le notifiche di deviazione
  + *Account di archiviazione dei log*: un account centralizzato per l'archiviazione e l'analisi dei dati raccolti
+ Nell'account di controllo, un AWS Config [aggregatore che raccoglie e aggrega](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html) i dati di configurazione dagli account e dalle regioni di destinazione
+ Nell'account di archiviazione dei log, imposta quanto segue:
  + Un bucket Amazon Simple Storage Service (Amazon [S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) in cui archiviare i dati dall'aggregatore AWS Config 
  + Un [abbonamento](https://docs.aws.amazon.com/quicksight/latest/user/signing-up.html) Amazon Quick
  + Una [connessione autorizzata](https://docs.aws.amazon.com/quicksight/latest/user/athena.html) tra Quick Sight e Amazon Athena
  + [Autorizzazioni](https://docs.aws.amazon.com/athena/latest/ug/s3-permissions.html) per accedere al bucket Amazon S3 tramite una query Athena
+ AWS Command Line Interface [https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ Autorizzazioni per distribuire uno CloudFormation stack che fornisce le seguenti risorse:
  + Una funzione AWS Lambda 
  + Una configurazione di notifica di Amazon S3
  + Database, tabelle e viste Athena
  + Set di dati e fonti di dati Quick Sight
+ Autorizzazioni per eseguire automazioni in AWS Systems Manager
+ Autorizzazioni per accedere a Quick

**Limitazioni**
+ La soluzione si basa su. AWS Config AWS Config in genere registra le modifiche alla configurazione delle risorse subito dopo che viene rilevata una modifica o alla frequenza specificata. Tuttavia, questa operazione viene effettuata con la massima diligenza possibile e a volte può richiedere più tempo.
+ Questa soluzione tiene traccia solo dei [tipi di risorse AWS Config supportati](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html).
+ La soluzione non tiene traccia dell'inventario delle risorse di altri provider cloud o ambienti locali.
+ Alcuni Servizi AWS non sono disponibili in tutti Regioni AWS. Per informazioni sulla disponibilità regionale, consulta la pagina [Endpoint e quote del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) nella AWS documentazione e scegli il link relativo al servizio.

## Architecture
<a name="automate-aws-resource-inventory-architecture"></a>

Il diagramma seguente mostra un processo semplificato per la raccolta, l'organizzazione, l'analisi e la visualizzazione dei dati di configurazione e conformità tra più account di un'organizzazione. AWS 

![\[Raccolta e visualizzazione dei dati di configurazione e conformità all'interno di un'organizzazione.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/67a9667a-da19-4dcb-a2fe-62bc94a0541b/images/c9245de1-ac85-4a9e-a0c0-dbcc27a8bb5d.png)


Il diagramma mostra il flusso di lavoro seguente:

1. In base a una pianificazione periodica, l' AWS Config aggregatore raccoglie i dati di configurazione e conformità relativi alle risorse negli account e nelle regioni di destinazione, quindi invia i dati al bucket Amazon S3 nell'account di archiviazione dei log.

1. L'aggiunta di nuovi AWS Config dati al bucket Amazon S3 richiama una funzione. AWS Lambda 

1. La funzione Lambda partiziona i dati configurando chiavi con valori che corrispondono alla regione e alla data di ogni file di istantanea. Ciò consente di interrogare AWS Glue ed elaborare in modo efficiente i dati di configurazione e conformità.

1. Amazon Athena utilizza uno AWS Glue [schema](https://docs.aws.amazon.com/glue/latest/dg/schema-registry.html) per eseguire query SQL sui dati archiviati nel bucket Amazon S3. Utilizza i metadati dello schema AWS Glue per comprendere la struttura dei dati.

1. [Le viste](https://docs.aws.amazon.com/athena/latest/ug/views.html) in Athena definiscono ed estraggono i set di dati di destinazione.

1. [Le dashboard](https://docs.aws.amazon.com/quicksight/latest/user/using-dashboards.html) di Quick Sight ti aiutano a visualizzare e analizzare i set di dati.

## Tools (Strumenti)
<a name="automate-aws-resource-inventory-tools"></a>

**Servizi AWS**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) è un servizio di query interattivo che ti aiuta ad analizzare i dati direttamente in Amazon S3 utilizzando SQL standard.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ti aiuta a configurare AWS le risorse, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita in e. Account AWS Regioni AWS
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)fornisce una visione dettagliata delle risorse presenti Account AWS e di come sono configurate. Ti aiuta a identificare in che modo le risorse sono correlate tra loro e in che modo le loro configurazioni sono cambiate nel tempo. Un AWS Config [aggregatore](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html) raccoglie dati di AWS Config configurazione e conformità da più Account AWS regioni.
+ [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html)è un servizio di estrazione, trasformazione e caricamento (ETL) completamente gestito. Ti aiuta a classificare, pulire, arricchire e spostare i dati in modo affidabile tra archivi di dati e flussi di dati. [Questo modello utilizza un [catalogo AWS Glue dati](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro) e un registro degli schemi.](https://docs.aws.amazon.com/glue/latest/dg/schema-registry.html)
+ [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 Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)è un servizio di gestione degli account che ti aiuta a consolidare più account Account AWS in un'organizzazione da creare e gestire centralmente.
+ [Amazon Quick Sight](https://docs.aws.amazon.com/quicksuite/latest/userguide/quick-bi.html) è un servizio di business intelligence (BI) che ti aiuta a trasformare i dati grezzi in informazioni significative attraverso visualizzazioni interattive, dashboard e report. Quick Sight è un componente fondamentale di Amazon Quick.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [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 L'automazione](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) semplifica le attività comuni di manutenzione, implementazione e riparazione per molti. Servizi AWS

**Archivio di codice**

Il AWS CloudFormation modello per questo pattern è disponibile nel repository di [AWS Config visualizzazione](https://github.com/aws-samples/aws-management-and-governance-samples/blob/master/AWSConfig/AWS-Config-Visualization/README.md) GitHub . Questo CloudFormation modello distribuisce un runbook di AWS Systems Manager automazione configurato AWS Config per l'uso con Amazon Athena. Questa automazione si prepara AWS Glue a connettersi con il bucket Amazon S3 designato, crea viste in Amazon Athena e configura Quick Sight per la visualizzazione del dashboard.

## Best practice
<a name="automate-aws-resource-inventory-best-practices"></a>
+ Ti consigliamo di seguire le best practice illustrate nella sezione [Configurazione e gestione di un ambiente sicuro con più account con on Prescriptive](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-aws-environment/welcome.html) Guidance. AWS AWS Control Tower AWS 
+ Ti consigliamo di creare un AWS Config aggregatore che raccolga i dati di configurazione e conformità per l'intera organizzazione. AWS Per ulteriori informazioni, consulta [Aggregazione di dati multiaccount e più regioni nella documentazione](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html). AWS Config 
+ [Prima di distribuire questa soluzione, ti consigliamo di consultare le informazioni sui prezzi correnti per [Amazon](https://aws.amazon.com/s3/pricing/) S3 [AWS Config](https://aws.amazon.com/config/pricing/), [Athena](https://aws.amazon.com/athena/pricing/) e Quick.](https://aws.amazon.com/quicksight/pricing/)

## Epiche
<a name="automate-aws-resource-inventory-epics"></a>

### Distribuisci lo stack CloudFormation
<a name="deploy-the-cfnshort-stack"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica il CloudFormation modello. | Scarica il modello [Config- QuickSight CloudFormation -Visualization-SSM-Automation.yaml](https://github.com/aws-samples/aws-management-and-governance-samples/blob/master/AWSConfig/AWS-Config-Visualization/cft/Config-QuickSight-Visualization-SSM-Automation.yaml). | Amministratore AWS, amministratore cloud, DevOps ingegnere | 
| Modifica il CloudFormation modello. | Completa questo passaggio solo se utilizzi [AWS Control Tower](https://aws.amazon.com/controltower/)ed AWS Config è gestito da AWS Control Tower. Devi modificare il CloudFormation modello.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-inventory.html) | DevOps ingegnere, amministratore AWS | 
| Crea uno CloudFormation stack. | Segui le istruzioni riportate in [Creare uno stack dalla CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Tenere presente quanto segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-inventory.html) | Amministratore AWS, amministratore cloud, DevOps ingegnere | 

### Esegui l'automazione in Systems Manager
<a name="run-the-automation-in-sys"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Trova il tuo nome utente Quick. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-inventory.html) | Amministratore AWS, amministratore cloud, DevOps ingegnere | 
| Trova il nome del canale di distribuzione e il nome del bucket Amazon S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-inventory.html) | Amministratore AWS, amministratore cloud, DevOps ingegnere | 
| Esegui l'automazione in Systems Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-inventory.html) | Amministratore AWS, amministratore cloud, DevOps ingegnere | 

### Visualizza i dati in Quick Sight
<a name="visualize-data-in-qsight"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiorna i dati. | Per pianificare gli aggiornamenti dei set di dati in base ai requisiti specifici, segui le istruzioni in [Aggiornamento](https://docs.aws.amazon.com/quicksight/latest/user/refreshing-imported-data.html) dei dati SPICE. | Amministratore AWS, DevOps ingegnere, amministratore cloud | 
| Creare un'analisi in . | Per creare una dashboard in Quick Sight che ti aiuti a visualizzare le risorse, segui le istruzioni in [Avvio di un'analisi in Quick Sight](https://docs.aws.amazon.com/quicksuite/latest/userguide/creating-an-analysis.html). | Amministratore di Quick Suite | 
| Crea una dashboard. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-inventory.html) | Amministratore di Quick Suite | 

### (Facoltativo) Pulizia
<a name="optional-clean-up"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Eliminare le risorse create dall'automazione Systems Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-inventory.html) | Amministratore AWS, amministratore cloud, DevOps ingegnere | 
| Elimina lo CloudFormation stack. | Per eliminare le risorse nello `Config-QuickSight-Visualization-SSM-Automation` stack, segui le istruzioni in [Eliminare uno stack dalla console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html). CloudFormation  | Amministratore AWS, amministratore cloud, DevOps ingegnere | 

## Risoluzione dei problemi
<a name="automate-aws-resource-inventory-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Amazon Quick sta tentando di connettersi a `us-east-1` Regione AWS, ma la creazione di risorse in quella regione non è consentita. | Una politica di controllo del servizio limita il tuo abbonamento ad Amazon Quick in questa regione. Nella politica di controllo del servizio, specifica manualmente l'obiettivo Regione AWS. Sostituisci `<REGION_ID>` con l'identificatore di regione appropriato:<pre>https://<REGION_ID>.quicksight.aws.amazon.com/sn/start/dashboards</pre>Di seguito è riportato un esempio:<pre>https://eu-central-1.quicksight.aws.amazon.com/sn/start/dashboards</pre> | 
| In Amazon Athena, viene visualizzato il seguente messaggio:`Before you run your first query, you need to set up a query result location in Amazon S3.` | Assicurati di aver preparato un bucket Amazon S3 in cui archiviare i risultati delle query di Amazon Athena. Segui quindi le istruzioni in [Specificare una posizione per i risultati della query utilizzando la console Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/query-results-specify-location-console.html). | 

## Risorse correlate
<a name="automate-aws-resource-inventory-resources"></a>

**AWS documentazione**
+ [AWS Config documentazione](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)
+ [Documentazione Amazon Quick](https://docs.aws.amazon.com/quicksuite/latest/userguide/what-is.html)

**AWS post sul blog**
+ [Automatizza la visualizzazione AWS Config dei dati con AWS Systems Manager](https://aws.amazon.com/blogs/mt/automate-aws-config-data-visualization-with-aws-systems-manager/)
+ [Come registrare periodicamente le modifiche alla configurazione delle risorse con AWS Config](https://aws.amazon.com/blogs/mt/how-to-record-resource-configuration-changes-periodically-with-aws-config/)

**Altre risorse**
+ [Centro di apprendimento della community Amazon Quick](https://community.amazonquicksight.com/c/learning-center/10/none)
+ [Galleria della community di Amazon Quick](https://community.amazonquicksight.com/c/gallery/44)

# Crea una AWS landing zone che includa MongoDB Atlas
<a name="build-aws-landing-zone-that-includes-mongodb-atlas"></a>

*Igor Alekseev, Amazon Web Services*

*Anuj Panchal, MongoDB*

## Riepilogo
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-summary"></a>

Questo modello descrive come creare una AWS landing zone integrata con un cluster MongoDB Atlas. L'infrastruttura viene implementata automaticamente utilizzando uno script Terraform. 

Un AWS ambiente ben strutturato e multi-account, chiamato [landing zone](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-migration/aws-landing-zone.html), offre scalabilità e sicurezza, in particolare per le aziende. Serve come base per una rapida implementazione di carichi di lavoro e applicazioni e contribuisce a garantire la fiducia nella sicurezza e nell'infrastruttura. La costruzione di una landing zone richiede un'attenta considerazione dei fattori tecnici e commerciali, tra cui la struttura degli account, il networking, la sicurezza e la gestione degli accessi. Queste considerazioni devono essere allineate agli obiettivi aziendali e di crescita futuri dell'organizzazione.

I casi d'uso di questo modello includono quanto segue.
+ Piattaforme **SaaS e PaaS aziendali: le** applicazioni software as a service (SaaS) multitenant e le piattaforme platform as a service (PaaS) che funzionano su AWS possono utilizzare questa configurazione per fornire un accesso privato e sicuro a MongoDB Atlas senza esporre i dati sulla rete Internet pubblica.
+ **Settori altamente regolamentati**: i carichi di lavoro bancari, finanziari, sanitari e governativi che richiedono una stretta conformità a standard come Health Insurance Portability and Accountability Act (HIPAA), Payment Card Industry Data Security Standard (PCI DSS), System and Organization Controls 2 () e General Data Protection Regulation (GDPRSOC2) beneficiano di:
  + Connettività privata crittografata tramite AWS PrivateLink
  + Alta disponibilità Multi-AZ di set di repliche MongoDB
+ ** AI/ML Carichi di lavoro sicuri**: le pipeline di formazione o inferenza in Amazon Bedrock, SageMaker Amazon AI o modelli di intelligenza artificiale personalizzati possono recuperare e archiviare dati in modo sicuro in MongoDB Atlas over. PrivateLink
+ **Disaster recovery e continuità aziendale**: il design Multi-AZ garantisce che nessun guasto in una singola zona di disponibilità interferisca con i carichi di lavoro. Una replica Atlas impostata su tutte le zone di disponibilità garantisce il failover automatico. Questo è fondamentale per servizi sempre attivi come le app di tecnologia finanziaria (fintech), il digital banking o il monitoraggio sanitario.

## Prerequisiti e limitazioni
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-prereqs"></a>

**Prerequisiti**
+ Accesso del proprietario dell'organizzazione a MongoDB Atlas in modo da poter creare chiavi API Atlas. Per informazioni su questo requisito, consulta [Gestire l'accesso all'organizzazione](https://www.mongodb.com/docs/atlas/tutorial/manage-organizations/) nella documentazione di MongoDB.
+ Un attivo. [Account AWS](https://aws.amazon.com/resources/create-account/)
+ [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli), installato e configurato.
+ Un cluster MongoDB Atlas, creato con MongoDB versione 6.0 o successiva.
+ Familiarità con MongoDB e MongoDB Atlas. Per ulteriori informazioni, consulta la documentazione di [MongoDB Atlas](https://www.mongodb.com/docs/atlas/).

**Limitazioni**
+ 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.

## Architecture
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-architecture"></a>

Il seguente diagramma dell'architettura di riferimento illustra la configurazione dell'implementazione per una AWS landing zone integrata con un endpoint privato MongoDB Atlas. Questa architettura di riferimento dimostra come stabilire una AWS landing zone sicura, scalabile e ad alta disponibilità integrata con MongoDB Atlas. Combinando le AWS migliori pratiche come l'implementazione Multi-AZ, i controlli di sicurezza con privilegi minimi e la connettività privata, questo design consente alle organizzazioni di fornire un ambiente robusto per le applicazioni moderne.

![\[Architettura Multi-AZ per le landing zone di AWS integrata con MongoDB Atlas.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/72d335b9-b5b1-4fe2-9972-65edbec60ab1/images/82a8cc98-6f22-4e28-a236-57a809930055.png)


Questa architettura è composta da quanto segue:

**VPC**
+ Un singolo cloud privato virtuale (VPC) si estende su tre zone di disponibilità.
+ Il VPC è suddiviso in sottoreti allineate a ciascuna zona di disponibilità. Queste sottoreti distribuiscono i carichi di lavoro per garantire un'elevata disponibilità.

**Accesso a Internet**
+ Un gateway Internet fornisce connettività Internet in uscita per le risorse che ne hanno bisogno, come applicazioni o host bastion.
+ Le sottoreti pubbliche possono ospitare gateway NAT, che consentono ai carichi di lavoro di sottoreti private di scaricare aggiornamenti, patch e altri pacchetti necessari senza esporli direttamente alla rete Internet pubblica.

**Sottoreti private e tabelle di routing**
+ I componenti delle applicazioni, i microservizi o altre risorse sensibili risiedono in genere in sottoreti private.
+ Le tabelle di routing dedicate controllano i flussi di traffico. Instrada il traffico in uscita dalle sottoreti private ai gateway NAT per un accesso Internet sicuro e solo in uscita.
+ Le richieste in entrata da Internet fluiscono attraverso sistemi di bilanciamento del carico elastici o host bastion (se utilizzati) nelle sottoreti pubbliche, quindi vengono indirizzate in modo appropriato verso le risorse di sottorete private.

**Connettività MongoDB Atlas tramite PrivateLink**
+ L'architettura utilizza PrivateLink (tramite un endpoint VPC) la connessione sicura a MongoDB Atlas senza esporre i dati alla rete Internet pubblica.
+ Le richieste rimangono sulla rete dorsale. AWS I dati in transito traggono vantaggio dalla PrivateLink crittografia e non vengono mai instradati sulla rete Internet pubblica.
+ Il VPC dedicato MongoDB Atlas ospita i nodi primari e secondari e fornisce un ambiente sicuro e isolato per il cluster di database gestito.

**Multi-AZ deployment** (Implementazione Multi-AZ)
+ I componenti critici dell'infrastruttura (come i gateway NAT e le sottoreti delle applicazioni) sono distribuiti su almeno tre zone di disponibilità. Se in una zona di disponibilità si verifica un'interruzione, questa architettura garantisce che i carichi di lavoro nelle restanti zone di disponibilità rimangano operativi.
+ MongoDB Atlas, per impostazione predefinita, offre un'elevata disponibilità tramite set di repliche e garantisce che il livello di database rimanga tollerante ai guasti. L'infrastruttura critica è distribuita su almeno tre zone di disponibilità per garantire la resilienza.

## Tools (Strumenti)
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-tools"></a>

**Servizi AWS**
+ [Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)ti aiuta a sostituire le credenziali codificate nel codice, comprese le password, con una chiamata API per recuperare il segreto a livello di codice.

**Altri prodotti e strumenti**
+ [MongoDB](https://www.mongodb.com/atlas) Atlas è un database as a service (DBaaS) completamente gestito per l'implementazione e la gestione di database MongoDB nel cloud.
+ [Terraform](https://www.terraform.io/) è uno strumento di infrastruttura come codice (IaC) HashiCorp che ti aiuta a creare e gestire risorse cloud e locali. In questo modello, si utilizza Terraform per eseguire uno script per facilitare la distribuzione delle risorse richieste su MongoDB AWS Atlas.

**Archivio di codice**

Il codice per questo pattern è disponibile nel repository [MongoDB Atlas Landing](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone) Zone.AWS GitHub 

## Epiche
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-epics"></a>

### Scoperta e valutazione complete
<a name="complete-discovery-and-assessment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica le principali parti interessate. | Identifica tutte le principali parti interessate e i membri del team coinvolti nel tuo progetto di landing zone. Ciò potrebbe includere ruoli come:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-aws-landing-zone-that-includes-mongodb-atlas.html) | Responsabile della migrazione | 
| Crea un progetto strutturale. | Crea un modello che delinei la struttura desiderata della tua landing zone e di quella abilitata per AWS MongoDB Atlas. | Responsabile della migrazione | 
| Crea un piano di architettura. | Collabora con gli architetti delle applicazioni per analizzare i requisiti e progettare un'architettura resiliente e tollerante ai guasti. Questo modello fornisce un modello di architettura iniziale come riferimento. È possibile personalizzare questo modello per soddisfare le esigenze di sicurezza e infrastruttura dell'organizzazione. | Architetto del cloud | 
| Pianifica la configurazione e l'implementazione. | Determina, con tutte le parti interessate, come verrà implementata l'architettura, come verranno implementate le misure di sicurezza e qualsiasi altro aspetto per garantire l'allineamento con gli interessi dell'organizzazione e del team richiedente. | Responsabile della migrazione, ingegnere, DBA DevOps  | 

### Configurare l'ambiente MongoDB Atlas
<a name="set-up-the-mongodb-atlas-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clonare il repository. | Clona il codice dal [GitHub repository](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone) eseguendo il comando:<pre>git clone https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone</pre> | Sviluppatore di app, ingegnere DevOps  | 
| Ottieni l'ID della tua organizzazione Atlas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-aws-landing-zone-that-includes-mongodb-atlas.html) | DBA | 
| Genera chiavi API Atlas a livello di organizzazione. | [Per generare le tue chiavi API a livello di organizzazione in Atlas, segui le istruzioni nella documentazione di MongoDB.](https://www.mongodb.com/docs/atlas/configure-api-access/#grant-programmatic-access-to-an-organization) | DBA | 
| Crea un segreto in Gestione dei segreti AWS. | Archivia le chiavi API MongoDB Atlas generate nel passaggio precedente come segreto chiave-valore in Secrets Manager. Per istruzioni, consulta la [documentazione di Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). | DevOps ingegnere | 
| Seleziona il livello del cluster Atlas. | Per selezionare il livello di cluster Atlas corretto, segui le istruzioni nella documentazione di [MongoDB](https://www.mongodb.com/docs/atlas/sizing-tier-selection/). | DBA | 

### Configura gli ambienti AWS
<a name="set-up-the-aws-environments"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Modifica lo script Terraform. | Nella copia locale del GitHub repository, aggiorna il nome segreto nel [modules/mongodb-atlas/mainfile.tf](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/3748350730ec2ac7ab64662d536b67b4840c667c/modules/mongodb-atlas/main.tf#L12) (riga 12), in modo che Terraform possa recuperare le credenziali da Secrets Manager durante la distribuzione. | DevOps ingegnere | 
| Crea un ID chiave di AWS accesso e una chiave segreta. | Per creare l'ID della chiave di AWS accesso e la chiave segreta, segui le istruzioni contenute nell'articolo AWS Re:post [Come posso creare una chiave di AWS accesso](https://repost.aws/knowledge-center/create-access-key)?È consigliabile assegnare le politiche con i privilegi minimi necessari, ma in questo caso, selezionare la politica. `AdministratorAccess`Dopo aver creato la chiave di accesso, consulta [le migliori pratiche di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) per conoscere le migliori pratiche per la gestione delle chiavi di accesso. | DevOps ingegnere | 
| Alloca indirizzi IP elastici. | Alloca almeno due indirizzi IP elastici. IDs Per istruzioni, consulta la documentazione di [Amazon Virtual Private Cloud (Amazon VPC).](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithEIPs.html) | DevOps ingegnere | 
| Crea un bucket S3. | Crea un bucket S3 per archiviare lo stato della tua implementazione Terraform seguendo le istruzioni nella documentazione di Amazon [Simple Storage Service (Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) S3). | DevOps ingegnere | 
| Aggiorna il bucket S3 per l'archiviazione. | Aggiorna le informazioni sul bucket S3 nella tua versione locale di [environments/development/main.tf](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/83e0b52cc4a8c12b24b54edeecbae496880d3615/environments/development/main.tf#L16) in modo che corrispondano al nome e alla regione del bucket che hai creato nel passaggio precedente e specifica un key prefix. Esempio:<pre>terraform {<br />       ...<br />  backend "s3" {<br />    bucket = "startup-name-product-terraform"<br />    key    = "network/dev"<br />    region = "ap-southeast-1"<br />  }<br />}</pre>Per questo esempio, puoi configurare Terraform per utilizzare il key `network/dev` prefix per organizzare il file di stato Terraform. È possibile modificare il valore in `prod` o in modo che `staging` corrisponda all'ambiente che si desidera creare. Per informazioni sull'utilizzo di più ambienti, consulta l'ultimo passaggio di questa sezione.Per ulteriori informazioni sui prefissi chiave di Amazon S3, consulta [Organizzazione degli oggetti utilizzando i prefissi nella](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) documentazione di Amazon S3. | DevOps ingegnere | 
| Imposta le variabili Terraform. | La landing zone di esempio definisce i valori delle variabili di input utilizzando i [file di definizione variabile Terraform](https://www.terraform.io/docs/language/values/variables.html#variable-definitions-tfvars-files).Il file variabile si trova in [environments/development/variables.tf.](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/environments/development/variables.tf) È possibile impostare i valori delle variabili nel [environments/development/terraformfile.tfvars](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/environments/development/terraform.tfvars). Configura queste variabili come descritto nel file [Readme per il repository.](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/README.md#terraform-variables) GitHub  | DevOps ingegnere | 
| Imposta le variabili di ambiente. | Se hai intenzione di eseguire lo script Terraform sul tuo computer locale, imposta le seguenti variabili di ambiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/build-aws-landing-zone-that-includes-mongodb-atlas.html)Per ulteriori informazioni sull'impostazione delle variabili di ambiente, consulta la [documentazione AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-set). | DevOps ingegnere | 
| Controlla le configurazioni del VPC. | Per seguire le migliori pratiche consigliate da AWS, configura le impostazioni per VPC e sottorete CIDRs, gateway NAT, percorsi e tabelle di routing nello script Terraform per soddisfare le esigenze della tua organizzazione. [Per informazioni specifiche, consulta il file Readme per il repository.](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/README.md#vpc-configurations) GitHub  | DevOps ingegnere | 
| Aggiunta di tag alle risorse . | Puoi taggare AWS le tue risorse per monitorarle quando vengono distribuite dallo script Terraform. Per esempi, consulta il [file Readme per il repository](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/README.md#resource-taggings). GitHub Per informazioni sul monitoraggio delle risorse tramite tag per costi, utilizzo e così via, consultate [Attivazione dei tag di allocazione dei costi definiti dall'utente](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html) nella documentazione. AWS Billing  | DevOps ingegnere | 
| Usa più ambienti. | Il GitHub repository fornisce una cartella di `development` ambiente. È inoltre possibile aggiungere i propri ambienti nella cartella environment.Per aggiungere un ambiente, copia la `development` cartella in una nuova cartella (ad esempio, `prod` o`staging`) sotto`environments`. È quindi possibile aggiornare il `terraform.tfvars` file con il nuovo valore. | DevOps ingegnere | 

### Implementa la landing zone
<a name="deploy-the-landing-zone"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Inizializza la directory di lavoro di Terraform. | Per inizializzare la directory di lavoro e scaricare i pacchetti necessari, esegui il comando:<pre>terraform init</pre> | DevOps ingegnere | 
| Crea un piano di esecuzione. | Per creare un piano di esecuzione e visualizzare le modifiche che Terraform apporterà alla tua infrastruttura, esegui il comando:<pre>terraform plan</pre> | DevOps ingegnere | 
| Implementa le modifiche. | Per implementare le modifiche all'infrastruttura come descritto nel codice, esegui il comando:<pre>terraform apply</pre> | DevOps ingegnere | 
| Convalida la distribuzione. | Convalida i componenti che Terraform ha creato o modificato nella tua infrastruttura.Per testare la configurazione, esegui il provisioning di una risorsa di calcolo (ad esempio, un' EC2 istanza o una AWS Lambda funzione Amazon) all'interno o collegata al VPC. | DevOps ingegnere, sviluppatore di app | 

### Rimuovi risorse
<a name="remove-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Elimina. | Al termine del test, esegui il seguente comando per distruggere le risorse distribuite da Terraform nella tua infrastruttura:<pre>terraform destroy</pre> | DevOps ingegnere | 

## Risorse correlate
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-resources"></a>

**Scoperta e valutazione**
+ [Suggerimenti amministrativi per la configurazione delle landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/tips-for-admin-setup.html) (AWS Control Tower documentazione)
+ [Aspettative per la configurazione delle landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-configure.html) (AWS Control Tower documentazione)
+ [Migliori pratiche per gli aggiornamenti delle landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/lz-update-best-practices.html) (AWS Control Tower documentazione)

**Configurazione di MongoDB Atlas e degli ambienti AWS **
+ [Ottenere MongoDB Atlas (](https://aws.amazon.com/marketplace/pp/prodview-pp445qepfdy34))Marketplace AWS
+ [Memoria](https://docs.atlas.mongodb.com/sizing-tier-selection/#memory) (documentazione MongoDB Atlas)
+ [Esempio di dimensionamento con set di dati di esempio Atlas](https://www.mongodb.com/docs/atlas/sizing-tier-selection/#example--the-service-sample-data-sets) (documentazione MongoDB Atlas)
+ [Esempio di dimensionamento per applicazioni mobili (documentazione](https://www.mongodb.com/docs/atlas/sizing-tier-selection/#example--mobile-app) MongoDB Atlas)
+ [Traffico di rete](https://docs.atlas.mongodb.com/sizing-tier-selection/#network-traffic) (documentazione MongoDB Atlas)
+ [Auto-scaling del cluster](https://www.mongodb.com/docs/atlas/sizing-tier-selection/#cluster-auto-scaling) (documentazione MongoDB Atlas)
+ [Modello di dimensionamento Atlas](https://www.mongodb.com/docs/atlas/sizing-tier-selection/) (documentazione MongoDB Atlas)
+ [Configurare una connessione peering di rete (documentazione](https://docs.atlas.mongodb.com/security-vpc-peering/) MongoDB Atlas)
+ [Endpoint privati in Atlas (documentazione](https://docs.atlas.mongodb.com/security-private-endpoint/) MongoDB Atlas)
+ [Crittografia a livello di campo lato client](https://docs.mongodb.com/manual/core/security-client-side-encryption) (documentazione del database MongoDB)
+ [Crittografia automatica](https://docs.mongodb.com/manual/core/security-automatic-client-side-encryption) (documentazione del database MongoDB)
+ [Selezione di un livello di cluster](https://www.mongodb.com/docs/atlas/manage-clusters/#select-cluster-tier) (documentazione MongoDB Atlas)

**Implementazione della landing zone**
+ [Terraform on AWS](https://docs.aws.amazon.com/whitepapers/latest/cicd_for_5g_networks_on_aws/terraform.html) (*CI/CD per reti 5G* su white paper) AWS
+ [Atlante MongoDB con Terraform (](https://www.mongodb.com/developer/products/atlas/mongodb-atlas-with-terraform/)documentazione MongoDB)

# Configura i log di flusso VPC per la centralizzazione su Account AWS
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts"></a>

*Benjamin Morris e Aman Kaur Gandhi, Amazon Web Services*

## Riepilogo
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts-summary"></a>

In un cloud privato AWS virtuale (VPC), la funzionalità VPC Flow Logs può fornire dati utili per la risoluzione dei problemi operativi e di sicurezza. Tuttavia, esistono limitazioni all'utilizzo dei log di flusso VPC in un ambiente con più account. In particolare, i log di flusso tra account di Amazon CloudWatch Logs non sono supportati. Puoi invece centralizzare i log configurando un bucket Amazon Simple Storage Service (Amazon S3) con la policy dei bucket appropriata.

**Nota**  
Questo modello illustra i requisiti per l'invio dei log di flusso a una posizione centralizzata. Tuttavia, se desideri che i log siano disponibili anche localmente negli account dei membri, puoi creare più log di flusso per ogni VPC. Gli utenti che non hanno accesso all'account Log Archive possono visualizzare i registri del traffico per la risoluzione dei problemi. In alternativa, puoi configurare un singolo log di flusso per ogni VPC che invia i log a Logs. CloudWatch Puoi quindi utilizzare un filtro di abbonamento Amazon Data Firehose per inoltrare i log a un bucket S3. [Per ulteriori informazioni, consulta la sezione Risorse correlate.](#configure-vpc-flow-logs-for-centralization-across-aws-accounts-resources)

## Prerequisiti e limitazioni
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Un' AWS Organizations organizzazione con un account utilizzato per centralizzare i registri (ad esempio, Log Archive)

**Limitazioni**

Se utilizzi la chiave gestita AWS Key Management Service (AWS KMS) `aws/s3` per crittografare il tuo bucket centrale, questo non riceverà i log da un altro account. Vedrai invece un codice di `Unsuccessful` errore 400 con un messaggio come quello `"LogDestination: <bucketName> is undeliverable"` che hai dato. `ResourceId` Questo perché le chiavi AWS gestite di un account non possono essere condivise tra account. La soluzione consiste nell'utilizzare la crittografia gestita di Amazon S3 (SSE-S3) o una chiave gestita AWS KMS dal cliente che puoi condividere con gli account dei membri.

## Architecture
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts-architecture"></a>

**Architettura Target**

Nel diagramma seguente, vengono distribuiti due log di flusso per ogni VPC. Uno invia i log a un gruppo di Logs locale. CloudWatch L'altro invia i log a un bucket S3 in un account di registrazione centralizzato. La policy del bucket consente al servizio di consegna dei log di scrivere i log nel bucket.

**Nota**  
A partire da novembre 2023, AWS ora supporta la chiave di condizione [aws: SourceOrg ID](https://aws.amazon.com/about-aws/whats-new/2023/11/organization-wide-iam-condition-keys-restrict-aws-service-to-service-requests/). Questa condizione ti consente di negare la scrittura nel bucket centralizzato per gli account esterni alla tua organizzazione. AWS Organizations 

![\[Da ogni VPC un log di flusso invia i log CloudWatch e un altro li invia al bucket S3.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/718c29f4-a035-47ab-9c58-bd7d5c1ca77e/images/0b502d82-a6ce-4832-b854-99181d2ed834.png)


**Automazione e scalabilità**

Ogni VPC è configurato per inviare i log al bucket S3 nell'account di registrazione centrale. Utilizza una delle seguenti soluzioni di automazione per garantire che i log di flusso siano configurati in modo appropriato:
+ [CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)
+ [AWS Control Tower Account Factory per Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/taf-account-provisioning.html)
+ [Qualsiasi AWS Config regola con correzione](https://aws.amazon.com/blogs/mt/how-to-enable-vpc-flow-logs-automatically-using-aws-config-rules/)

## Tools (Strumenti)
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts-tools"></a>

**Strumenti**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ti aiuta a centralizzare i log di tutti i tuoi sistemi e applicazioni, Servizi AWS così puoi monitorarli e archiviarli in modo sicuro.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare AWS risorse in una rete virtuale che hai definito. Questa rete virtuale è simile a una comune rete da gestire all'interno del proprio data center, ma con i vantaggi dell'infrastruttura scalabile di AWS. Questo modello utilizza la funzionalità [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) per acquisire informazioni sul traffico IP in entrata e in uscita dalle interfacce di rete del tuo VPC.

## Best practice
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts-best-practices"></a>

L'utilizzo dell'infrastruttura come codice (IaC) può semplificare notevolmente il processo di implementazione dei VPC Flow Logs. L'astrazione delle definizioni di distribuzione VPC per includere un costrutto di risorse per i log di flusso consentirà di implementare automaticamente VPCs i log di flusso. Questo è dimostrato nella prossima sezione.

**Registri di flusso centralizzati**

Sintassi di esempio per aggiungere log di flusso centralizzati a un modulo VPC in HashiCorp Terraform: questo codice crea un log di flusso che invia i log da un VPC a un bucket S3 centralizzato. Nota che questo modello non copre la creazione del bucket S3. Per le istruzioni sulle politiche relative ai bucket consigliate, consulta la sezione Informazioni [aggiuntive](#configure-vpc-flow-logs-for-centralization-across-aws-accounts-additional).

```
variable "vpc_id" { type = string }
locals { custom_log_format_v5 = "$${version} $${account-id} $${interface-id} $${srcaddr} $${dstaddr} $${srcport} $${dstport} $${protocol} $${packets} $${bytes} $${start} $${end} $${action} $${log-status} $${vpc-id} $${subnet-id} $${instance-id} $${tcp-flags} $${type} $${pkt-srcaddr} $${pkt-dstaddr} $${region} $${az-id} $${sublocation-type} $${sublocation-id} $${pkt-src-aws-service} $${pkt-dst-aws-service} $${flow-direction} $${traffic-path}" }
resource "aws_flow_log" "centralized_flow_log" {
  log_destination      = "arn:aws:s3:::centralized-vpc-flow-logs-<log_archive_account_id>" # Optionally, a prefix can be added after the ARN.
  log_destination_type = "s3"
  traffic_type         = "ALL"
  vpc_id               = var.vpc_id
  log_format           = local.custom_log_format_v5 # If you want fields from VPC Flow Logs v3+, you will need to create a custom log format.
}
```

Per ulteriori informazioni sul formato di log personalizzato, consulta la documentazione di [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-log-records.html#flow-logs-custom).

**Registri di flusso locali**

Sintassi di esempio per aggiungere registri di flusso locali a un modulo VPC in Terraform con le autorizzazioni richieste: questo codice crea un log di flusso che invia i log da un VPC a un gruppo di log locale. CloudWatch 

```
data "aws_region" "current" {}
variable "vpc_id" { type = string }
resource "aws_iam_role" "local_flow_log_role" {
  name = "flow-logs-policy-${var.vpc_id}"
  assume_role_policy = <<EOF
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [{
      "Effect": "Allow",
      "Principal": {"Service": "vpc-flow-logs.amazonaws.com"},
      "Action": "sts:AssumeRole"
  }]
}
EOF
}
resource "aws_iam_role_policy" "logs_permissions" {
  name = "flow-logs-policy-${var.vpc_id}"
  role = aws_iam_role.local_flow_log_role.id
  policy = <<EOF
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [{
      "Action": ["logs:CreateLog*", "logs:PutLogEvents", "logs:DescribeLog*", "logs:DeleteLogDelivery"],
      "Effect": "Allow",
      "Resource": "arn:aws:logs:${data.aws_region.current.name}:*:log-group:vpc-flow-logs*"
  }]
}
EOF
}
resource "aws_cloudwatch_log_group" "local_flow_logs" {
  name              = "vpc-flow-logs/${var.vpc_id}"
  retention_in_days = 30
}
resource "aws_flow_log" "local_flow_log" {
  iam_role_arn    = aws_iam_role.local_flow_log_role.arn
  log_destination = aws_cloudwatch_log_group.local_flow_logs.arn
  traffic_type    = "ALL"
  vpc_id          = var.vpc_id
}
```

## Epiche
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts-epics"></a>

### Implementa l'infrastruttura VPC Flow Logs
<a name="deploy-vpc-flow-logs-infrastructure"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Determina la strategia di crittografia e crea la policy per il bucket S3 centrale. | Il bucket centrale non supporta la AWS KMS `aws/s3` chiave, quindi è necessario utilizzare SSE-S3 o una chiave gestita dal cliente. AWS KMS Se si utilizza una AWS KMS chiave, la politica chiave deve consentire agli account dei membri di utilizzare la chiave. | Conformità | 
| Crea il bucket centrale per i log di flusso. | Crea il bucket centrale a cui verranno inviati i log di flusso e applica la strategia di crittografia scelta nel passaggio precedente. Dovrebbe trovarsi in un Log Archive o in un account con scopi simili.Ottieni la policy sui bucket dalla sezione [Informazioni aggiuntive](#configure-vpc-flow-logs-for-centralization-across-aws-accounts-additional) e applicala al tuo bucket centrale dopo aver aggiornato i segnaposto con i valori specifici dell'ambiente. | Informazioni generali su AWS | 
| Configura VPC Flow Logs per inviare i log al bucket di log di flusso centrale. | Aggiungi i log di flusso a ogni VPC da cui desideri raccogliere dati. Il modo più scalabile per farlo è utilizzare strumenti IAc come AFT o. AWS Cloud Development Kit (AWS CDK) Ad esempio, puoi creare un modulo Terraform che distribuisce un VPC insieme a un log di flusso. Se necessario, aggiungi i log di flusso manualmente. | Amministratore di rete | 
| Configura i log di flusso VPC per l'invio ai log locali. CloudWatch  | (Facoltativo) Se desideri che i log di flusso siano visibili negli account in cui vengono generati, crea un altro log di flusso per inviare i dati ai CloudWatch log nell'account locale. In alternativa, puoi inviare i dati a un bucket S3 specifico dell'account nell'account locale. | Informazioni generali su AWS | 

## Risorse correlate
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts-resources"></a>
+ [Come facilitare l'analisi dei dati e soddisfare i requisiti di sicurezza utilizzando dati di log di flusso centralizzati](https://aws.amazon.com/blogs/security/how-to-facilitate-data-analysis-and-fulfill-security-requirements-by-using-centralized-flow-log-data/) (post AWS sul blog)
+ [Come abilitare automaticamente i log di flusso VPC utilizzando AWS Config le regole (AWS post sul blog](https://aws.amazon.com/blogs/mt/how-to-enable-vpc-flow-logs-automatically-using-aws-config-rules/))

## Informazioni aggiuntive
<a name="configure-vpc-flow-logs-for-centralization-across-aws-accounts-additional"></a>

**Politica Bucket**

Questo esempio di policy sui bucket può essere applicato al bucket S3 centrale per i log di flusso, dopo aver aggiunto i valori per i nomi dei segnaposto.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSLogDeliveryWrite",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::<BUCKET_NAME>/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control",
                    "aws:SourceOrgID": "<ORG_ID>"
                }
            }
        },
        {
            "Sid": "AWSLogDeliveryCheck",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::<BUCKET_NAME>",
            "Condition": {
                "StringEquals": {
                    "aws:SourceOrgID": "<ORG_ID>"
                }
            }
        },
        {
            "Sid": "DenyUnencryptedTraffic",
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::<BUCKET_NAME>/*",
                "arn:aws:s3:::<BUCKET_NAME>"
            ],
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": "false"
                }
            }
        }
    ]
}
```

# Gestisci i set di AWS autorizzazioni in modo dinamico utilizzando Terraform
<a name="manage-aws-permission-sets-dynamically-by-using-terraform"></a>

*Vinicius Elias e Marcos Vinicius Pinto Jordão, Amazon Web Services*

## Riepilogo
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-summary"></a>

AWS IAM Identity Center migliora AWS Identity and Access Management (IAM) fornendo un hub centralizzato per la gestione dell'accesso Single Sign-On alle applicazioni cloud. Account AWS Tuttavia, la gestione manuale dei [set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) di IAM Identity Center può diventare sempre più complessa e soggetta a errori man mano che l'organizzazione cresce. Questa complessità può portare a potenziali lacune di sicurezza e sovraccarichi amministrativi.

Questa soluzione consente di gestire i set di autorizzazioni tramite Infrastructure as Code (IaC) utilizzando una pipeline di integrazione e distribuzione continua (CI/CD) creata con tecnologia nativa. Servizi AWS Consente una perfetta integrazione del meccanismo di assegnazione del set di autorizzazioni con gli eventi del AWS Control Tower ciclo di vita o un ambiente [Account Factory for Terraform](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) (AFT). Questo approccio fornisce configurazioni di identità dinamiche sia per quelle nuove che per quelle esistenti. Account AWS

 EventBridge Le regole di Amazon monitorano Account AWS la creazione e gli aggiornamenti, il che aiuta le configurazioni delle identità a rimanere sincronizzate con la struttura organizzativa. Dopo aver creato o aggiornato gli account in AWS Control Tower o AFT, viene attivata la pipeline. Valuta un set di file JSON con definizioni di set di autorizzazioni e regole di assegnazione. Quindi la pipeline applica e sincronizza le impostazioni su tutti gli account.

Questa funzionalità fornisce i seguenti vantaggi:
+ **Coerenza**: elimina la deriva manuale della configurazione all'interno dell'organizzazione AWS 
+ **Verificabilità**: mantiene una cronologia completa di tutte le modifiche alla gestione delle identità
+ **Scalabilità**: applica automaticamente le configurazioni man mano che l'ambiente cresce AWS 
+ **Sicurezza**: riduce l'errore umano nell'assegnazione delle autorizzazioni
+ **Conformità**: facilita il rispetto dei requisiti normativi attraverso modifiche documentate e regole di assegnazione

## Prerequisiti e limitazioni
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-prereqs"></a>
+ Un ambiente multi-account con AWS Control Tower e configurato. AWS Organizations Facoltativamente, puoi usare AFT con. AWS Control Tower
+ Un amministratore delegato di IAM Identity Center Account AWS a ricevere la soluzione. Per ulteriori informazioni, consulta [Amministrazione delegata nella documentazione](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html) di IAM Identity Center.
+ Un repository del sistema di controllo della versione (VCS) per gestire il codice principale. [Per un esempio, consultate il repository della soluzione. GitHub ](https://github.com/aws-samples/sample-terraform-aws-permission-sets-pipeline/tree/main/samples/basic)
+  AWS Risorse necessarie per la gestione del backend Terraform, come un bucket Amazon Simple Storage Service (Amazon S3) e una tabella Amazon DynamoDB.

**Limitazioni**
+ La pipeline utilizza AWS risorse native e Terraform open source. La pipeline non è predisposta per effettuare chiamate verso ecosistemi di terze parti.
+ Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per informazioni sulla disponibilità per regione, consulta [AWS Servizi 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.

## Architecture
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-architecture"></a>

Il diagramma seguente mostra i componenti e il flusso di lavoro di questo modello.

![\[Componenti e flusso di lavoro per gestire i set di autorizzazioni AWS utilizzando Terraform.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/69dc79c7-b4cd-4ad0-b0d2-d58cf0c7adaa/images/649e299c-1142-405a-8982-4a6b2e595d53.png)


**AWS Control Tower flusso di eventi**

La soluzione inizia con l'integrazione degli eventi provenienti da entrambi AWS Control Tower o da AFT. La scelta tra l'uno o l'altro servizio viene effettuata al momento dell'implementazione tramite una definizione variabile. Indipendentemente dal metodo utilizzato, la pipeline viene attivata ogni volta che un account viene creato o aggiornato. La pipeline riconcilia le politiche archiviate nell'archivio di gestione dei set di autorizzazioni.

Di seguito sono riportati gli eventi del ciclo di vita: AWS Control Tower 
+ `CreateManagedAccount`— Quando viene creato un nuovo account
+ `UpdateManagedAccount`— Quando viene aggiornato un account esistente

**Routing degli eventi**

EventBridge funge da servizio centrale di elaborazione degli eventi, registrando gli eventi generati nell'account. AWS Control Tower Quando si verificano degli eventi, li indirizza EventBridge in modo intelligente a un bus di eventi centralizzato nell'account della soluzione. AWS Control Tower gli eventi del ciclo di vita seguono schemi di routing distinti. Se AFT è definito come origine dell'evento, l'account di gestione AFT gestisce gli eventi anziché l'account. AWS Control Tower Questa architettura basata sugli eventi consente risposte automatiche ai cambiamenti organizzativi senza intervento manuale.

**Processo di integrazione AFT**

Quando gli eventi AWS Control Tower del ciclo di vita raggiungono l'account di gestione AFT, attivano automaticamente più processi a valle intrinseci ad AFT. Una volta completato il flusso di lavoro di personalizzazione dell'account AFT, pubblica un messaggio nell'argomento dedicato Amazon Simple Notification Service (`aft-notifications`Amazon SNS). Questo argomento attiva la `aft-new-account-forward-event` AWS Lambda funzione implementata da questa soluzione. La funzione Lambda invia l'evento al bus degli eventi dell'account della soluzione, dove viene utilizzato per avviare la pipeline.

**Infrastruttura come pipeline di codice**

La pipeline di soluzioni funziona come un meccanismo di implementazione completamente automatizzato. Il AWS CodePipeline servizio monitora continuamente l'archivio per rilevare eventuali modifiche. Dopo aver rilevato nuovi commit, avvia automaticamente il flusso di lavoro di distribuzione e avvia un processo sequenziale che include fasi di convalida ed esecuzione. Il sistema esegue `plan` le operazioni Terraform per identificare le modifiche proposte, seguite dai `apply` comandi Terraform per implementare tali modifiche nell'ambiente. AWS In particolare, la pipeline funziona senza cancelli di approvazione manuale. Questo approccio consente una rapida implementazione delle modifiche all'infrastruttura mantenendo al contempo la verificabilità tramite i registri della pipeline e i file di stato Terraform.

La pipeline sfrutta le funzionalità di Terraform AWS CodeBuild per eseguire le operazioni di Terraform in un ambiente controllato con le autorizzazioni appropriate. Attraverso questo approccio IaC, la pipeline può eseguire operazioni complete di gestione delle autorizzazioni, tra cui:
+ Creare nuovi set di autorizzazioni.
+ Aggiorna i set di autorizzazioni esistenti.
+ Rimuovere i set di autorizzazioni non necessari.
+ Gestisci l'assegnazione di queste autorizzazioni tra account e gruppi all'interno delle AWS organizzazioni.

Per mantenere la coerenza dell'infrastruttura e prevenire modifiche in conflitto, la soluzione implementa il sistema di gestione dello stato di backend Terraform utilizzando un bucket Amazon S3 e una tabella Amazon DynamoDB dedicata. Questo approccio fornisce una posizione di archiviazione persistente per i file di stato Terraform e meccanismi di blocco dello stato per impedire modifiche simultanee alle stesse risorse.

Il codice Terraform principale utilizza il modulo Terraform ufficiale. AWS `permission-sets` Questo modulo può gestire dinamicamente i set di autorizzazioni in IAM Identity Center, sulla base di modelli di set di autorizzazioni.

**Gestione del controllo del codice sorgente**

I modelli di set di autorizzazioni (file JSON) risiedono in un sistema di controllo delle versioni esterno, ad esempio GitHub, che fornisce un archivio centralizzato per le configurazioni di gestione delle identità. Questo approccio stabilisce un'unica fonte di verità per le definizioni dei set di autorizzazioni, consentendo al contempo lo sviluppo collaborativo attraverso pratiche standard di revisione del codice. Gli utenti autorizzati possono apportare modifiche a questi modelli seguendo i processi di gestione delle modifiche organizzative. Questi commit fungono da trigger principale per la pipeline di distribuzione automatizzata, che avvia il processo di aggiornamento dell'infrastruttura.

[Per un esempio di come configurare i set di autorizzazioni utilizzando il file JSON nel repository, consulta Informazioni aggiuntive.](#manage-aws-permission-sets-dynamically-by-using-terraform-additional)

## Tools (Strumenti)
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-tools"></a>

**Servizi AWS**
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)è un servizio di compilazione completamente gestito che consente di compilare il codice sorgente, eseguire test unitari e produrre artefatti pronti per la distribuzione.
+ [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html)consente a AWS risorse e servizi, ad esempio, di connettersi a repository di codice esterni CodePipeline, come. GitHub
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)aiuta a modellare e configurare rapidamente le diverse fasi di un rilascio software e ad automatizzare i passaggi necessari per rilasciare le modifiche software in modo continuo.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) è uno strumento open source che consente di interagire Servizi AWS tramite comandi nella shell della riga di comando.
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)ti aiuta a configurare e gestire un ambiente con AWS più account, seguendo le migliori pratiche prescrittive.
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) è un servizio di database NoSQL interamente gestito che offre prestazioni elevate, prevedibili e scalabili.
+ [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.
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)ti aiuta a gestire centralmente l'accesso Single Sign-On (SSO) a tutte le tue applicazioni e a quelle sul cloud. Account 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 Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)è un servizio di gestione degli account che ti aiuta a consolidare più account Account AWS in un'organizzazione da creare e gestire centralmente.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail. Abilita le notifiche push per gli eventi di gestione degli account, assicurando che le parti interessate siano informate di importanti modifiche o azioni all'interno del sistema.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

**Altri strumenti**
+ [Terraform](https://www.terraform.io/) è uno strumento di infrastruttura come codice (IaC) HashiCorp che ti aiuta a creare e gestire risorse cloud e locali.

**Deposito di codici**

Il codice per questo pattern è disponibile nell'organizzazione AWS Samples del repository [sample-terraform-aws-permission-sets-pipeline](https://github.com/aws-samples/sample-terraform-aws-permission-sets-pipeline). GitHub 

## Best practice
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-best-practices"></a>
+ Aggiungi sempre le versioni dei moduli e dei provider Terraform utilizzati per eseguire il codice in produzione.
+ Utilizza uno strumento di analisi statico del codice, come [Checkov](https://www.checkov.io/), per scansionare il codice e quindi risolvere i problemi di sicurezza.
+ Segui il principio del privilegio minimo e concedi le autorizzazioni minime necessarie per eseguire un'attività. Per ulteriori informazioni, consulta le [best practice relative alla [concessione dei privilegi minimi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) e alla sicurezza nella documentazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) IAM.

## Epiche
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-epics"></a>

### Crea i prerequisiti (opzionale)
<a name="create-the-prerequisites-optional"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea risorse di backend Terraform. | Se non hai ancora creato le tue AWS risorse di backend Terraform, utilizza i seguenti passaggi per creare un bucket Amazon S3 `s3-tf-backend-{ACCOUNT_ID}` () e una tabella DynamoDB (). `ddb-tf-backend`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html)<pre>aws s3api create-bucket --bucket s3-tf-backend-{ACCOUNT_ID}<br />aws s3api put-bucket-versioning --bucket s3-tf-backend-{ACCOUNT_ID} --versioning-configuration Status=Enabled<br />aws dynamodb create-table --table-name ddb-tf-backend --attribute-definitions AttributeName=LockID,AttributeType=S --key-schema AttributeName=LockID,KeyType=HASH --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1</pre> | Amministratore AWS | 
| Crea un ruolo per più account. | È necessario fornire un ruolo IAM tra account nella configurazione del provider `event-source-account` Terraform AWS . Se non hai ancora creato questo ruolo, utilizza i seguenti passaggi per crearlo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html)<pre>aws iam create-role \<br />    --role-name CrossAccountRole \<br />    --assume-role-policy-document '{<br />        "Version": "2012-10-17",		 	 	 <br />        "Statement": [<br />            {<br />                "Effect": "Allow",<br />                "Principal": {<br />                    "AWS": "arn:aws:iam::{ACCOUNT_ID}:root"<br />                },<br />                "Action": "sts:AssumeRole"<br />            }<br />        ]<br />    }'</pre>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html)<pre>aws iam attach-role-policy \<br />    --role-name CrossAccountRole \<br />    --policy-arn arn:aws:iam::aws:policy/AdministratorAccess</pre>Questo esempio utilizza la policy IAM AWS gestita [AdministratorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess.html). Se preferisci, puoi utilizzare una politica più specifica. | Amministratore AWS | 

### Preparare l'archivio dei set di autorizzazioni
<a name="prepare-the-permission-set-repository"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un repository dedicato. | Questa attività presuppone che tu stia utilizzando. GitHub Crea un repository dedicato per archiviare il codice Terraform principale e i file JSON del modello di set di autorizzazioni. | DevOps ingegnere | 
| Prepara il codice del set di autorizzazioni. | Per informazioni su come strutturare i seguenti file, consultate il [codice di esempio](https://github.com/aws-samples/sample-terraform-aws-permission-sets-pipeline/tree/main/samples/basic) nel repository della soluzione:── main.tf─ output.tf─ providers.jinja── modelliCopia il contenuto, conserva i `providers.jinja` valori e apporta le modifiche necessarie agli altri file. Ad esempio, aggiungi i file modello del set di autorizzazioni `templates` o aggiungi la versione del `aws-ia/permission-sets/aws` modulo nel `main.tf` file. | DevOps ingegnere | 
| Effettua le tue modifiche. | Conferma e invia le modifiche al repository che hai creato in precedenza. Salva il nome del repository e la sua GitHub organizzazione, ad esempio. `myorg/aws-ps-pipeline` | DevOps ingegnere | 

### Prepara il codice di distribuzione
<a name="prepare-the-deployment-code"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica il contenuto. | Scarica (clona) il contenuto dal [repository](https://github.com/aws-samples/sample-terraform-aws-permission-sets-pipeline) della soluzione. | DevOps ingegnere | 
| Soddisfa le variabili. | Crea un `terraform.tfvars` file e aggiungi le seguenti variabili necessarie:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html)<pre>repository_name                 = "myorg/aws-ps-pipeline"<br />branch_name                     = "main"<br />vcs_provider                    = "github"<br />account_lifecycle_events_source = "CT"</pre>Per informazioni sulle opzioni variabili aggiuntive, consultate il file [variables.tf](https://github.com/aws-samples/sample-terraform-aws-permission-sets-pipeline/blob/main/variables.tf) nel repository di questo pattern. GitHub  | DevOps ingegnere | 
| Regola la configurazione del backend Terraform. | Nel `backend.tf` file, sostituisci i segnaposto con i tuoi valori. Usa la AWS Control Tower home Regione AWS e fornisci i nomi del bucket Amazon S3 e della tabella DynamoDB creati in precedenza.<pre>terraform {<br />  required_version = ">=1.6"<br />  backend "s3" {<br />    region         = "{region}"<br />    bucket         = "{bucket_name}"<br />    key            = "terraform.tfstate"<br />    dynamodb_table = "{table_name}"<br />    encrypt        = "true"<br />  }<br />}</pre>Se preferisci, puoi usare la tua configurazione di backend Terraform. | DevOps ingegnere | 
| Regola la configurazione del provider Terraform. | Nel `providers.tf` file, sostituisci i segnaposto con le tue informazioni. Utilizza la AWS Control Tower home Region e fornisci l'ARN del ruolo IAM tra account precedentemente creato per il provider. `event-source-account`<pre>provider "aws" {<br />  region = "{region}"<br />}<br /><br />provider "aws" {<br />  alias  = "event-source-account"<br />  region = "{region}"<br />  assume_role {<br />    role_arn = "{role_arn}"<br />  }<br />}<br /></pre> | DevOps ingegnere | 

### Implementa la soluzione manualmente
<a name="deploy-the-solution-manually"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Seleziona il Account AWS. | Ti consigliamo di implementare la soluzione nell'account amministratore delegato di IAM Identity Center. Tuttavia, puoi anche distribuirla nell'account di gestione. AWS Organizations Per accedere all'account selezionato nella stessa regione dell'istanza IAM Identity Center, utilizza il AWS CLI. Assicurati che il ruolo IAM che stai utilizzando sia autorizzato ad assumere il ruolo specificato per il `event-source-account` provider nei passaggi precedenti. Inoltre, questo ruolo deve avere accesso alle AWS risorse utilizzate nella configurazione del backend Terraform. | Amministratore AWS | 
| Esegui Terraform manualmente. | Per inizializzare, pianificare e applicare le configurazioni, esegui i seguenti comandi Terraform nell'ordine mostrato:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html) | DevOps ingegnere | 
| Il controllo dei risultati della distribuzione. | Nell'account amministratore delegato di IAM Identity Center, verifica che la `aws-ps-pipeline` pipeline sia stata creata. Verifica anche che esista una AWS CodeConnections connessione con lo stato **In sospeso**. | AWS DevOps | 
| Completa la CodeConnections configurazione. | Per completare la CodeConnections configurazione, procedi nel seguente modo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html)La pipeline dovrebbe ora avere accesso all'archivio dei set di autorizzazioni.Per istruzioni dettagliate, consulta [Aggiornare una connessione in sospeso](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) nella documentazione della console Developer Tools.  | AWS DevOps | 

### Scegli un flusso di esecuzione della pipeline per testare la soluzione
<a name="choose-a-pipeline-execution-flow-to-test-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esegui la pipeline AWS Control Tower tramite aggiornamenti AFT. | Dopo la creazione o la modifica di un account utilizzando AWS Control Tower o AFT (a seconda del tipo di eventi del ciclo di vita scelti), viene avviata la pipeline. | Amministratore AWS | 
| Esegui la pipeline modificando il codice. | Dopo aver modificato il codice e averlo inviato al `main` ramo, viene avviata la pipeline. | AWS DevOps | 
| Esegui la pipeline manualmente. | Per avviare la pipeline manualmente, utilizzate la funzione [Release change](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-rerun-manually.html) in. AWS CodePipeline | AWS DevOps | 

## Risoluzione dei problemi
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Accesso negato | Verifica di disporre delle autorizzazioni necessarie per distribuire la soluzione. | 
| CodeConnections problemi | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html) | 
| Problemi di esecuzione della pipeline | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html) | 
| Problemi di distribuzione dei set di autorizzazioni | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/manage-aws-permission-sets-dynamically-by-using-terraform.html) | 

## Risorse correlate
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-resources"></a>

**Servizio AWS documentazione**
+ [AWS IAM Identity Center Guida per l'utente](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)
+ [Gestione Account AWS con set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) (documentazione IAM Identity Center)

**Altre risorse**
+ [AWS Modulo Permission Sets](https://registry.terraform.io/modules/aws-ia/permission-sets/aws/latest) (Terraform)

## Informazioni aggiuntive
<a name="manage-aws-permission-sets-dynamically-by-using-terraform-additional"></a>

**File JSON con set di autorizzazioni di esempio**

L'esempio seguente mostra come configurare un set di autorizzazioni utilizzando il file JSON nel repository:

```
{
  "Name": "ps-billing", // Permission set identifier
  "Comment": "Sample permission set for billing access", // Comment to document the purpose of the permission set
  "Description": "Billing access in AWS", // Detailed description
  "SessionDuration": "PT4H", // Session duration = 4 hours (ISO 8601 format)
  "ManagedPolicies": [ // List of AWS IAM managed policies
    "arn:aws:iam::aws:policy/job-function/Billing",
    "arn:aws:iam::aws:policy/job-function/SupportUser",
    "arn:aws:iam::aws:policy/AWSSupportAccess",
    "arn:aws:iam::aws:policy/job-function/ViewOnlyAccess"
  ],
  "CustomerPolicies": [], // References to IAM policies previously created
  "CustomPolicy": {}, // Inline IAM policy defined directly in the permission set
  "PermissionBoundary": {  // AWS or customer managed IAM policy to be used as boundary
    "ManagedPolicy": "",
    "CustomerPolicy": ""
  },
  "Assignments": [ // Define the assignment rules
    {
      "all_accounts": true, // Apply to ALL active AWS accounts in organization
      "principal": "G_BILLING_USERS", // Group/user name in Identity Center
      "type": "GROUP", // Can be "GROUP" or "USER"
      "account_id": [], // List of AWS account ID (empty since all_accounts=true)
      "account_ou": [], // List of AWS Organizational Unit IDs with target AWS accounts
      "account_tag": [] // List of tags (key:value) to match AWS Organization accounts tags
    }
  ]
}
```

Per ulteriori informazioni, consulta lo schema JSON nella documentazione del [modulo AWS Permission Sets](https://registry.terraform.io/modules/aws-ia/permission-sets/aws/latest#json-file-templates) sul sito Web Terraform.

**Suggerimenti**
+ Puoi utilizzare i [blocchi di importazione](https://developer.hashicorp.com/terraform/language/import) Terraform per importare un set di autorizzazioni esistente nella soluzione.
+ È possibile utilizzare AFT per implementare la pipeline del set di AWS autorizzazioni in un account delegato. Per ulteriori informazioni, consulta [AFT](https://awslabs.github.io/aft-blueprints/index.html) Blueprints.

# Etichetta automaticamente gli allegati Transit Gateway utilizzando AWS Organizations
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations"></a>

*Richard Milner-Watts, Haris Bin Ayub e John Capps, Amazon Web Services*

## Riepilogo
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-summary"></a>

Su Amazon Web Services (AWS), puoi utilizzarlo [AWS Resource Access Manager](https://aws.amazon.com/ram/)per condividere [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)oltre Account AWS i confini. Tuttavia, quando si creano allegati Transit Gateway oltre i limiti dell'account, gli allegati vengono creati senza un tag Name. Ciò può rendere l'identificazione degli allegati dispendiosa in termini di tempo. 

Questa soluzione fornisce un meccanismo automatizzato per raccogliere informazioni su ogni allegato Transit Gateway per gli account all'interno di un'organizzazione gestita da [AWS Organizations](https://aws.amazon.com/organizations/). Il processo include la ricerca dell'intervallo [Classless Inter-Domain Routing (CIDR) dalla tabella di routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) Transit Gateway. La soluzione applica quindi un tag Name sotto forma di all'allegato all'interno dell'`<CIDR-range>-<AccountName>`account che contiene il gateway di transito.

Questa soluzione può essere utilizzata insieme a una soluzione come il [Serverless Transit Network Orchestrator](https://aws.amazon.com/solutions/implementations/serverless-transit-network-orchestrator/) della Solutions Library. AWS Serverless Transit Network Orchestrator consente la creazione automatizzata di allegati Transit Gateway Gateway su larga scala.

## Prerequisiti e limitazioni
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Un' AWS Organizations organizzazione che contiene tutti gli account correlati
+ Accesso all'account di gestione dell'organizzazione, nella directory principale dell'organizzazione, per creare il ruolo richiesto AWS Identity and Access Management (IAM)
+ Un account membro della rete condivisa contenente uno o più gateway di transito condivisi con l'organizzazione e dotati di allegati

## Architecture
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-architecture"></a>

La seguente schermata Console di gestione AWS mostra esempi di allegati Transit Gateway senza tag Name associato e due allegati Transit Gateway con tag Name generati da questa soluzione. La struttura del tag Name generato è. `<CIDR-range>-<AccountName>`

![\[La console mostra gli allegati senza tag Name e due allegati con i tag Name.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/4b10dfec-43be-4337-9945-c64df921934a/images/7e7d4a47-f07a-4708-8022-a1d22855bb5d.png)


 

Questa soluzione utilizza un [AWS Step Functions](https://aws.amazon.com/step-functions/)flusso [AWS CloudFormation](https://aws.amazon.com/cloudformation/)di lavoro che gestisce la creazione di tag Transit Gateway Name su tutte le Regioni AWS configurazioni. Il flusso di lavoro richiama [AWS Lambda](https://aws.amazon.com/lambda/)funzioni che eseguono le attività sottostanti.

Dopo che la soluzione ha ottenuto i nomi degli account da AWS Organizations, la macchina a stati Step Functions ottiene tutti gli allegati Transit Gateway IDs. Questi vengono elaborati in parallelo per regione. Questa elaborazione include la ricerca dell'intervallo CIDR per ogni allegato. L'intervallo CIDR si ottiene cercando nelle tabelle di routing Transit Gateway all'interno della regione un ID allegato Transit Gateway corrispondente. Se tutte le informazioni richieste sono disponibili, la soluzione applica un tag Name all'allegato. La soluzione non sovrascriverà alcun tag Name esistente.

La soluzione viene eseguita secondo una pianificazione controllata da un EventBridge evento [Amazon](https://aws.amazon.com/eventbridge/). L'evento avvia la soluzione ogni giorno alle 06:00 UTC.

**Stack tecnologico Target**
+ Amazon EventBridge
+ AWS Lambda
+ AWS Organizations
+ AWS Transit Gateway
+ Amazon Virtual Private Cloud (Amazon VPC) (Amazon VPC)
+ AWS X-Ray

**Architettura Target**

L'architettura della soluzione e il flusso di lavoro sono illustrati nel diagramma seguente.

![\[Processo in nove fasi tra account di rete condivisi e di gestione dell'organizzazione.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/4b10dfec-43be-4337-9945-c64df921934a/images/873cc89f-c6e3-43cd-94ed-59b6ea2b8d49.png)


1. L'evento pianificato avvia la regola.

1. La EventBridge regola avvia la macchina a stati Step Functions.

1. La macchina a stati richiama la funzione Lambda`tgw-tagger-organizations-account-query`.

1. La funzione `tgw-tagger-organizations-account-query` Lambda assume il ruolo nell'account di gestione dell'organizzazione.

1. La funzione `tgw-tagger-organizations-account-query` Lambda richiama l'API Organizations per restituire Account AWS i metadati.

1. La macchina a stati richiama la funzione Lambda`tgw-tagger-attachment-query`.

1. Per ogni regione, in parallelo, la macchina a stati richiama la funzione `tgw-tagger-rtb-query` Lambda per leggere l'intervallo CIDR per ogni allegato.

1. Per ogni regione, in parallelo, la macchina a stati richiama la funzione Lambda `tgw-tagger-attachment-tagger`****.

1. I name tag vengono creati per gli allegati Transit Gateway nell'account Shared Networking.

**Automazione e scalabilità**

La soluzione elabora ogni regione in parallelo per ridurre la durata totale dell'esecuzione.

## Tools (Strumenti)
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-tools"></a>

**Servizi AWS**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)fornisce 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ti CloudWatch aiuta a monitorare i parametri delle tue risorse AWS e delle applicazioni su cui esegui AWS in tempo reale.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) è 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.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)è 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.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)ti aiuta a gestire e governare centralmente il tuo ambiente man mano che cresci e scalerai le tue risorse. AWS Utilizzando Organizations, puoi creare nuove risorse Account AWS e allocarle 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 Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)è un servizio di flusso di lavoro visivo a basso codice utilizzato per orchestrare Servizi AWS, automatizzare i processi aziendali e creare applicazioni serverless. I flussi di lavoro gestiscono gli errori, i nuovi tentativi, la parallelizzazione, le integrazioni dei servizi e l'osservabilità, in modo che gli sviluppatori possano concentrarsi su logiche aziendali di maggior valore.
+ [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)connette e gestisce reti locali tramite un hub centrale. VPCs Ciò semplifica la rete e pone fine alle complesse relazioni di peering. Funziona come un router cloud, in modo che ogni nuova connessione venga effettuata una sola volta.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) è un servizio per l'avvio di AWS risorse in una rete virtuale logicamente isolata da te definita.
+ [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)raccoglie dati sulle richieste servite dalla tua applicazione e fornisce strumenti che puoi utilizzare per visualizzare, filtrare e ottenere informazioni su tali dati per identificare problemi e opportunità di ottimizzazione.

**Codice**

Il codice sorgente di questa soluzione è disponibile nel GitHub repository [Transit Gateway Attachment Tagger](https://github.com/aws-samples/tgw-attachment-tagger). Il repository include i seguenti file:
+ `tgw-attachment-tagger-main-stack.yaml`crea tutte le risorse per supportare questa soluzione all'interno dell'account Shared Networking.
+ `tgw-attachment-tagger-organizations-stack.yaml`****crea un ruolo nell'account di gestione dell'organizzazione.

## Epiche
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-epics"></a>

### Implementa lo stack di soluzioni principale
<a name="deploy-the-main-solution-stack"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Raccogli le informazioni necessarie sui prerequisiti. | Per configurare l'accesso tra account dalla funzione Lambda all'API, è necessario AWS Organizations l'ID account per l'account di gestione dell'organizzazione.****L'ordine in cui vengono creati i due CloudFormation stack è importante. È necessario prima distribuire le risorse nell'account di rete condivisa. Il ruolo nell'account di rete condivisa deve già esistere prima di distribuire le risorse nell'account di gestione dell'organizzazione. Per ulteriori informazioni, consulta la [documentazione relativa ad AWS](https://docs.amazonaws.cn/en_us/IAM/latest/UserGuide/id_roles_create_for-user.html). | DevOps ingegnere | 
| Avvia il CloudFormation modello per lo stack di soluzioni principale. | Il modello per lo stack di soluzioni principale implementerà i ruoli IAM, il flusso di lavoro Step Functions, le funzioni Lambda e l'evento Amazon. CloudWatch Apri l'account Console di gestione AWS for the Shared Networking, quindi apri la console: &CFN.  Crea lo stack utilizzando il `tgw-attachment-tagger-main-stack.yaml` modello e i seguenti valori:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/tag-transit-gateway-attachments-automatically-using-aws-organizations.html)[Per ulteriori informazioni sul lancio di uno CloudFormation stack, consulta la documentazione.AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) | DevOps ingegnere | 
| Verifica che la soluzione sia stata avviata correttamente. | Attendi che lo CloudFormation stack raggiunga lo stato **CREATE\$1COMPLETE**. Questa operazione dovrebbe richiedere meno di un minuto.Apri la console Step Functions e verifica che sia stata creata una nuova macchina a stati con il nome **tgw-attachment-tagger-state-machine**. | DevOps ingegnere | 

### Implementa lo stack AWS Organizations
<a name="deploy-the-aws-organizations-stack"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Raccogli le informazioni necessarie sui prerequisiti. | Per configurare l'accesso tra account dalla funzione Lambda all'API AWS Organizations, è necessario l'ID account per l'account Shared Networking. | DevOps ingegnere | 
| Avvia il CloudFormation modello per lo stack Organizations | Il modello per lo stack AWS Organizations implementerà il ruolo IAM nell'account di gestione dell'organizzazione. Accedi alla console AWS per l'account di gestione dell'organizzazione, quindi apri la CloudFormation console.  Crea lo stack utilizzando il `tgw-attachment-tagger-organizations-stack.yaml` modello e i seguenti valori:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/tag-transit-gateway-attachments-automatically-using-aws-organizations.html)Per le altre opzioni di creazione dello stack, utilizzate le impostazioni predefinite. | DevOps ingegnere | 
| Verifica che la soluzione sia stata avviata correttamente. | Attendi che lo CloudFormation stack raggiunga lo stato **CREATE\$1COMPLETE**. Questa operazione dovrebbe richiedere meno di un minuto.Apri la console AWS Identity and Access Management (IAM) e verifica che sia stato creato un nuovo ruolo con il nome **tgw-attachment-tagger-organization-query-role**. | DevOps ingegnere | 

### Verifica la soluzione
<a name="verify-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Avvia la macchina a stati. | Apri la console Step Functions per l'account Shared Networking e scegli **Macchine a stati** nel riquadro di navigazione.Seleziona la macchina a stati **tgw-attachment-tagger-state-machine** e scegli **Avvia esecuzione**.  Poiché l'input di questa macchina a stati non viene utilizzato dalla soluzione, è possibile utilizzare il valore predefinito.<pre>{<br />    "Comment": "Insert your JSON here"<br />}</pre>Selezionare **Start Execution (Avvia esecuzione)**. | DevOps ingegnere | 
| Sorveglia la macchina statale fino al completamento. | Nella nuova pagina che si apre, puoi guardare la macchina a stati funzionare. La durata dipenderà dal numero di allegati Transit Gateway da elaborare.In questa pagina è possibile esaminare ogni fase della macchina a stati. È possibile visualizzare le varie attività all'interno della macchina a stati e seguire i collegamenti ai CloudWatch registri delle funzioni Lambda. Per le attività eseguite in parallelo all'interno della mappa, puoi utilizzare l'elenco a discesa **Indice** per visualizzare le implementazioni specifiche per ogni regione. | DevOps ingegnere | 
| Verifica i tag degli allegati Transit Gateway. | Apri la console VPC per l'account Shared Networking e scegli **Transit Gateway** Attachments.  Sulla console, viene fornito un tag Name per gli allegati che soddisfano i criteri (l'allegato viene propagato a una tabella di routing Transit Gateway e il proprietario della risorsa è un membro dell'organizzazione). | DevOps ingegnere | 
| Verifica l'inizio CloudWatch dell'evento. | Attendi l'inizio CloudWatch dell'evento. L'evento è previsto per le 06:00 UTC. Quindi apri la console Step Functions per l'account Shared Networking e scegli **Macchine a stati** nel riquadro di navigazione.Seleziona la macchina a stati **tgw-attachment-tagger-state-macchina.** Verifica che la soluzione sia stata eseguita alle 06:00 UTC. | DevOps ingegnere | 

## Risorse correlate
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-resources"></a>
+ [AWS Organizations](https://aws.amazon.com/organizations/)
+ [AWS Resource Access Manager](https://aws.amazon.com/ram/)
+ [Orchestrator di rete di transito senza server](https://aws.amazon.com/solutions/implementations/serverless-transit-network-orchestrator/)
+ [Creazione di ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html)
+ [Creazione di uno stack sulla console AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)

# Altri modelli
<a name="cloudfoundations-more-patterns-pattern-list"></a>

**Topics**
+ [Automatizza le allocazioni IPv4 IPAM CIDR di Amazon VPC per nuove applicazioni utilizzando AFT Account AWS](automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.md)
+ [Gestisci i set di autorizzazioni per più account utilizzando Account Factory for Terraform](govern-permission-sets-aft.md)
+ [Esegui il provisioning di AWS Service Catalog prodotti basati su AWS CloudFormation modelli utilizzando GitHub Actions](provision-aws-service-catalog-products-using-github-actions.md)
+ [Fornisci ruoli IAM con privilegi minimi implementando una soluzione di distribuzione automatica di ruoli](provision-least-privilege-iam-roles-by-deploying-a-role-vending-machine-solution.md)