

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

# Guida introduttiva a un prodotto Terraform
<a name="getstarted-Terraform"></a>

AWS Service Catalog [consente un approvvigionamento rapido e self-service con governance interna per le HashiCorp configurazioni Terraform.](https://developer.hashicorp.com/terraform/intro/terraform-editions) AWS Puoi utilizzarle AWS Service Catalog come unico strumento per organizzare, governare e distribuire le tue configurazioni Terraform su larga scala. AWS AWS Service Catalog supporta Terraform attraverso diverse funzionalità chiave, tra cui la catalogazione di modelli Terraform standardizzati e preapprovati, il controllo degli accessi, il controllo delle versioni, l'etichettatura e la condivisione con altri account. AWS In AWS Service Catalog, gli utenti finali visualizzano un semplice elenco di prodotti e versioni a cui hanno accesso e possono quindi distribuire tali prodotti con un'unica azione. 

**Nota**  
*Per continuare a supportare HashiCorp le tecnologie, a seguito delle recenti modifiche alle licenze di Terraform, sono stati AWS Service Catalog modificati tutti i riferimenti precedenti di *Terraform Open* Source a External.* Il tipo di prodotto External include il supporto per Terraform Community Edition, precedentemente nota come Terraform Open Source. Per ulteriori informazioni e istruzioni sulla migrazione dei prodotti Terraform Open Source esistenti e dei prodotti forniti al tipo di prodotto External, consulta. [Aggiornamento dei prodotti Terraform Open Source esistenti e dei prodotti forniti al tipo di prodotto esterno](update_terraform_open_source_to_external.md) 

I passaggi del seguente tutorial ti aiuteranno a iniziare con un prodotto Terraform in. AWS Service Catalog

In qualità di amministratore del catalogo, lavori in un account amministratore centrale (account hub). Sia i prodotti Terraform Community Edition che Terraform Cloud richiedono un motore di provisioning Terraform, sul quale puoi trovare ulteriori informazioni in and. [Motore di provisioning per Terraform Community Edition (tipo di prodotto esterno)](getstarted-terraform-engine.md#getstarted-terraform-engine-os) [Motore di provisioning per Terraform Cloud](getstarted-terraform-engine.md#getstarted-terraform-engine-cloud) 

Durante il tutorial, esegui le seguenti attività nell'account amministratore:
+ Crea un prodotto Terraform utilizzando il *tipo di prodotto Terraform Cloud* o *External*. Service Catalog utilizza il tipo di prodotto External per supportare i prodotti Terraform Community Edition. 
+ Associa il prodotto a un portafoglio
+ Crea un vincolo di lancio per consentire agli utenti finali di fornire il prodotto
+ Etichetta il prodotto
+ Condividi il portafoglio e il prodotto Terraform con l'account utente finale (account spoke) 

Nel tutorial, condividi un portafoglio utilizzando l'opzione di condivisione dell'organizzazione dall'account admin hub, che è anche l'account di gestione dell'organizzazione. Per ulteriori informazioni sulla condivisione dell'organizzazione, consulta[Condivisione di un portafoglio](catalogs_portfolios_sharing_how-to-share.md). 

La AWS risorsa contenuta nel prodotto Terraform che crei nel tutorial è un semplice bucket Amazon S3. 

**Nota**  
 Prima di iniziare, assicurati di completare le azioni riportate in. [Configurazione AWS Service Catalog](setup.md) 

**Topics**
+ [

# Aggiornamento dei prodotti Terraform Open Source esistenti e dei prodotti forniti al tipo di prodotto esterno
](update_terraform_open_source_to_external.md)
+ [

# Prerequisito: configura il tuo motore di provisioning Terraform
](getstarted-terraform-engine.md)
+ [

# Passaggio 1: download del file di configurazione Terraform
](getstarted-template-Terraform.md)
+ [

# Passaggio 2: creare un prodotto Terraform
](getstarted-product-Terraform.md)
+ [

# Fase 3: Creare un AWS Service Catalog portfolio
](getstarted-portfolio-Terraform.md)
+ [

# Fase 4: Aggiungere il prodotto al portafoglio
](getstarted-portfolio-add-product-Terraform.md)
+ [

# Fase 5: Creare ruoli di lancio
](getstarted-launchrole-Terraform.md)
+ [

# Passaggio 6: aggiungi un vincolo di lancio al tuo prodotto Terraform
](getstarted-launchconstraint-Terraform.md)
+ [

# Fase 7: concedere l'accesso all'utente finale
](getstarted-deploy-Terraform.md)
+ [

# Fase 8: Condivisione del portafoglio con l'utente finale
](getstarted-share-portfolio-end-user-Terraform.md)
+ [

# Fase 9: Verificare l'esperienza dell'utente finale
](getstarted-verify-Terraform.md)
+ [

# Fase 10: Monitoraggio delle operazioni di approvvigionamento di Terraform
](getstarted-monitoring-Terraform.md)

# Aggiornamento dei prodotti Terraform Open Source esistenti e dei prodotti forniti al tipo di prodotto esterno
<a name="update_terraform_open_source_to_external"></a>

*Per continuare a supportare HashiCorp le tecnologie, a seguito delle recenti modifiche alle licenze di Terraform, tutti i riferimenti precedenti di Terraform Open AWS Service Catalog Source sono stati modificati in *External*.* Il tipo di prodotto External include il supporto per Terraform Community Edition, precedentemente noto come Terraform Open Source. AWS Service Catalog non supporta più Terraform Open Source come tipo di prodotto valido per *nuovi* prodotti o prodotti forniti. Puoi solo aggiornare o terminare le risorse Open Source Terraform esistenti, incluse le versioni del prodotto e i prodotti forniti.

Se non l'hai già fatto, devi trasferire tutti i prodotti Terraform Open Source esistenti e i prodotti forniti a prodotti esterni, seguendo le istruzioni in questa sezione. 

1. Aggiorna il tuo Terraform Reference Engine esistente per AWS Service Catalog includere il supporto per i tipi di prodotti **External** e **Terraform Open** Source. [Per istruzioni sull'aggiornamento del tuo Terraform Reference Engine, consulta il nostro Repository. GitHub ](https://github.com/aws-samples/service-catalog-engine-for-terraform-os) 

1. Ricrea tutti i prodotti Terraform Open Source esistenti utilizzando il nuovo tipo di prodotto esterno. 

1. Elimina tutti i prodotti esistenti che utilizzano il tipo di prodotto Terraform Open Source.

1. Riassegna le risorse rimanenti per utilizzare il nuovo tipo di prodotto esterno.

1. Termina tutti i prodotti forniti esistenti che utilizzano il tipo di prodotto Terraform Open Source. 

Dopo la transizione dei prodotti esistenti, utilizza il tipo di prodotto esterno per tutti i nuovi prodotti che utilizzano un file di configurazione tar.gz. 

AWS Service Catalog supporterà i clienti durante questa modifica, se necessario. Se queste modifiche richiedono un notevole impegno per il tuo account o influiscono sui carichi di lavoro critici dei prodotti, contatta il rappresentante del tuo account per richiedere assistenza. 

# Prerequisito: configura il tuo motore di provisioning Terraform
<a name="getstarted-terraform-engine"></a>

Come prerequisito per creare prodotti Terraform in AWS Service Catalog, è necessario installare e configurare un motore di provisioning nel proprio account amministratore di Service Catalog (account hub). Il motore di provisioning è necessario sia per i prodotti Terraform Community Edition (utilizzando il tipo di prodotto External) sia per i prodotti Terraform Cloud (che utilizzano il tipo di prodotto Terraform Cloud). 

**Nota**  
La configurazione del motore è una configurazione unica che richiede circa 30 minuti. 

## Motore di provisioning per Terraform Community Edition (tipo di prodotto esterno)
<a name="getstarted-terraform-engine-os"></a>

AWS Service Catalog utilizza il tipo di prodotto *External* per supportare i prodotti Terraform Community Edition. Il tipo di prodotto *esterno* supporta anche altri strumenti di provisioning, tra cui Pulumi, Ansible, Chef e altri, basati sulla configurazione del motore di provisioning. 

Per AWS Service Catalog i prodotti che utilizzano il tipo di prodotto esterno con Terraform Community Edition, HashiCorp è necessario installare e configurare un motore di provisioning Terraform nel proprio AWS Service Catalog account amministratore (account hub). AWS gestisce questo motore e le sue risorse. 

AWS Service Catalog fornisce un GitHub repository con istruzioni sull'[installazione e la configurazione del motore di provisioning AWS Terraform fornito](https://github.com/aws-samples/service-catalog-engine-for-terraform-os/). Il repository include le seguenti informazioni: 
+ Strumenti di installazione richiesti
+ Compilazione del codice
+ Distribuzione su un account AWS 
+ Informazioni aggiuntive sul provisioning dei flussi di lavoro, sul controllo della qualità e sulle limitazioni

## Motore di provisioning per Terraform Cloud
<a name="getstarted-terraform-engine-cloud"></a>

Per AWS Service Catalog i prodotti che utilizzano il tipo di prodotto Terraform Cloud con Terraform Cloud, HashiCorp è necessario installare e configurare un motore di provisioning Terraform nel proprio account amministratore (account hub). AWS Service Catalog HashiCorp gestisce questo motore in un ambiente remoto. 

HashiCorp fornisce un GitHub repository con istruzioni sulla configurazione del motore [Terraform Cloud](https://github.com/hashicorp/aws-service-catalog-engine-for-tfc) per. AWS Service Catalog Il repository include le seguenti informazioni: 
+ Strumenti di installazione richiesti
+ Compilazione del codice
+ Distribuzione su un account AWS 
+ Informazioni aggiuntive sul provisioning dei flussi di lavoro, sul controllo della qualità e sulle limitazioni

# Passaggio 1: download del file di configurazione Terraform
<a name="getstarted-template-Terraform"></a>

 Puoi utilizzare un file di configurazione Terraform per creare e fornire prodotti HashiCorp Terraform. Queste configurazioni sono file di testo semplice e descrivono le risorse che si desidera fornire. È possibile utilizzare l'editor di testo desiderato per creare, aggiornare e salvare le configurazioni. **Per la creazione del prodotto, è necessario caricare le configurazioni Terraform come file tar.gz.** In questo tutorial, AWS Service Catalog fornisce un semplice file di configurazione per iniziare. La configurazione crea un bucket Amazon S3. 

## Download del file di configurazione
<a name="template-download"></a>

AWS Service Catalog fornisce un file [https://github.com/aws-samples/service-catalog-engine-for-terraform-os/blob/main/sample-provisioning-artifacts/s3bucket.tar.gz?raw=true](https://github.com/aws-samples/service-catalog-engine-for-terraform-os/blob/main/sample-provisioning-artifacts/s3bucket.tar.gz?raw=true)di configurazione di esempio da utilizzare in questo tutorial. 

## Panoramica del file di configurazione
<a name="template-overview"></a>

Segue il testo del file di configurazione di esempio:

```
variable "bucket_name" {
  type = string
}
provider "aws" {
}
resource "aws_s3_bucket" "bucket" {
  bucket = var.bucket_name
}
output regional_domain_name {
  value = aws_s3_bucket.bucket.bucket_regional_domain_name
}
```

**Risorse di configurazione**

Il file di configurazione dichiara le risorse da creare durante il AWS Service Catalog provisioning del prodotto. e comporta le seguenti sezioni:
+ **Variabile** (opzionale): le definizioni dei valori che un utente amministratore (amministratore dell'account hub) può assegnare per personalizzare la configurazione. Le variabili forniscono un'interfaccia coerente per modificare il comportamento di una determinata configurazione. L'etichetta dopo la parola chiave variable è un nome per la variabile, che deve essere univoco tra tutte le variabili dello stesso modulo. Questo nome viene utilizzato per assegnare un valore esterno alla variabile e per fare riferimento al valore della variabile dall'interno del modulo. 
+ **Provider** (opzionale): il fornitore di servizi cloud per la fornitura di risorse, che è. `AWS` AWS Service Catalog supporta solo `AWS` come provider. Di conseguenza, il motore di provisioning Terraform sostituisce qualsiasi altro provider elencato. `AWS` 
+ **Risorsa (richiesta): la risorsa** dell' AWS infrastruttura per il provisioning. Per questo tutorial, il file di configurazione Terraform specifica Amazon S3. 
+ **Output** (opzionale): le informazioni o il valore restituiti, simili ai valori restituiti in un linguaggio di programmazione. È possibile utilizzare i dati di output per configurare il flusso di lavoro dell'infrastruttura con strumenti di automazione. 

# Passaggio 2: creare un prodotto Terraform
<a name="getstarted-product-Terraform"></a>

Dopo aver installato il motore di provisioning Terraform, sei pronto per creare un prodotto HashiCorp Terraform in. AWS Service Catalog In questo tutorial, crei un prodotto Terraform contenente un semplice bucket Amazon S3. 

**Per creare un prodotto Terraform**

1. Apri la AWS Service Catalog console all'indirizzo [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)e accedi come utente amministratore. 

1. Vai alla sezione **Amministrazione**, quindi scegli **Elenco prodotti**. 

1. Scegli **Crea prodotto**. 

1. Nella pagina **Crea prodotto** nella sezione Dettagli del prodotto, scegli il tipo di prodotto **External** o **Terraform Cloud**. Service Catalog utilizza il tipo di prodotto *External* per supportare i prodotti Terraform Community Edition. 

1. Inserisci i seguenti dettagli del prodotto:
   + **Product name** (Nome prodotto) – **Simple S3 bucket**
   + **Descrizione del prodotto**: prodotto Terraform contenente un bucket Amazon S3.
   + **Proprietario —** **IT**
   + **Distributore** — *(vuoto)*

1. Nel riquadro dei **dettagli della versione**, scegli **Carica un file modello**, quindi scegli **Scegli file**. Seleziona il file in cui hai scaricato[Passaggio 1: download del file di configurazione Terraform](getstarted-template-Terraform.md). 

1. Immetti i seguenti dati:
   + **Nome della versione**: **v1.0**
   + **Descrizione della versione**: **Base Version**

1. Nella sezione **Dettagli del supporto**, inserisci quanto segue e quindi scegli **Crea prodotto**.
   + **Contatto via e-mail**: **ITSupport@example.com**
   + **Link di supporto** — **https://wiki.example.com/IT/support**
   + **Descrizione del supporto** — **Contact the IT department for issues deploying or connecting to this product.**

1. Scegli **Crea prodotto**. 

Dopo aver creato correttamente il prodotto, AWS Service Catalog visualizza un banner di conferma nella pagina del prodotto. 

# Fase 3: Creare un AWS Service Catalog portfolio
<a name="getstarted-portfolio-Terraform"></a>

Puoi creare un portfolio nel tuo account AWS Service Catalog amministratore (account hub) per organizzare e distribuire facilmente il prodotto agli account degli utenti finali (account spoke). 

**Come creare un portafoglio**

1. Apri la AWS Service Catalog console all'indirizzo [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)e accedi come amministratore. 

1. Nel pannello di navigazione a sinistra, scegli **Portfolio**, quindi scegli **Crea portfolio**. 

1. Immetti uno dei seguenti valori:
   + **Portfolio name** (Nome portafoglio) - **S3 bucket**
   + **Descrizione del portfolio:** **Sample portfolio for Terraform configurations. ** 
   + **Proprietario** — **IT (it@example.com)** 

1. Scegli **Create** (Crea).

# Fase 4: Aggiungere il prodotto al portafoglio
<a name="getstarted-portfolio-add-product-Terraform"></a>

Dopo aver creato un portfolio, puoi aggiungere il prodotto HashiCorp Terraform che hai creato nella fase 2. 

**Per aggiungere un prodotto a un portafoglio**

1.  Vai alla pagina con l'**elenco dei prodotti**. 

1.  **Seleziona il prodotto Terraform con bucket Simple S3 che hai creato nel passaggio 2, quindi scegli Azioni.** Dal menu a discesa, scegli **Aggiungi prodotto al portafoglio**. AWS Service Catalog visualizza il riquadro **Aggiungi un bucket Simple S3 al portafoglio**. 

1. **Seleziona il portafoglio di bucket S3, quindi disattiva Create launch constraint.** Il vincolo di avvio verrà creato più avanti nel tutorial. 

1. Scegli **Aggiungi prodotto al portafoglio.** 

Dopo aver aggiunto correttamente il prodotto al portafoglio, AWS Service Catalog visualizza un banner di conferma nella pagina con l'elenco dei prodotti. 

# Fase 5: Creare ruoli di lancio
<a name="getstarted-launchrole-Terraform"></a>

In questo passaggio, creerai un ruolo IAM (ruolo di lancio) che specifica le autorizzazioni che il motore di provisioning Terraform e il motore di provisioning Terraform AWS Service Catalog possono assumere quando un utente finale lancia un prodotto Terraform. HashiCorp 

 Il ruolo IAM (ruolo di lancio) che successivamente assegnerai al tuo semplice prodotto Terraform con bucket Amazon S3 come vincolo di lancio deve avere le seguenti autorizzazioni: 
+ Accesso alle risorse di base per il tuo prodotto Terraform. AWS In questo tutorial, è incluso l'accesso alle `s3:DeleteBucket*` operazioni `s3:CreateBucket*``s3:Get*`,`s3:List*`, e `s3:PutBucketTagging` Amazon S3. 
+ Accesso in lettura al modello Amazon S3 in un bucket Amazon AWS Service Catalog S3 di proprietà 
+ Accesso alle operazioni del gruppo di `CreateGroup` risorse`ListGroupResources`,`DeleteGroup`, e`Tag`. Queste operazioni consentono AWS Service Catalog di gestire gruppi di risorse e tag

**Per creare un ruolo di lancio nell'account AWS Service Catalog amministratore**

1. Dopo aver effettuato l'accesso all'account AWS Service Catalog amministratore, segui le istruzioni per [creare nuove politiche nella scheda JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) nella guida per l'*utente IAM*. 

1. Crea una **policy** per il tuo semplice prodotto Terraform con bucket Amazon S3. Questa politica deve essere creata prima di creare il ruolo di lancio e comprende le seguenti autorizzazioni:
   +  `s3`— Consente le autorizzazioni AWS Service Catalog complete per elencare, leggere, scrivere, fornire ed etichettare il prodotto Amazon S3. 
   +  `s3`— Consente l'accesso ai bucket Amazon S3 di proprietà di. AWS Service Catalog Per distribuire il prodotto, è AWS Service Catalog necessario accedere agli artefatti di provisioning. 
   +  `resourcegroups`— Consente di creare, AWS Service Catalog elencare, eliminare e contrassegnare. AWS Resource Groups
   +  `tag`— Consente le autorizzazioni di AWS Service Catalog etichettatura. 
**Nota**  
 A seconda delle risorse sottostanti che si desidera distribuire, potrebbe essere necessario modificare la policy JSON di esempio. 

   Incolla il seguente documento di policy JSON: 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "s3:GetObject",
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "s3:ExistingObjectTag/servicecatalog:provisioning": "true"
                   }
               }
           },
           {
               "Action": [
                   "s3:CreateBucket*",
                   "s3:DeleteBucket*",
                   "s3:Get*",
                   "s3:List*",
                   "s3:PutBucketTagging"
               ],
               "Resource": "arn:aws:s3:::*",
               "Effect": "Allow"
           },
           {
               "Action": [
                   "resource-groups:CreateGroup",
                   "resource-groups:ListGroupResources",
                   "resource-groups:DeleteGroup",
                   "resource-groups:Tag"
               ],
               "Resource": "*",
               "Effect": "Allow"
           },
           {
               "Action": [
                   "tag:GetResources",
                   "tag:GetTagKeys",
                   "tag:GetTagValues",
                   "tag:TagResources",
                   "tag:UntagResources"
               ],
               "Resource": "*",
               "Effect": "Allow"
           }
       ]
   }
   ```

------

1. 

   1. Scegli **Avanti**, **Tags**.

   1. Scegli **Avanti,** **Rivedi**.

   1. Nella pagina della **politica di revisione**, per il **nome**, inserisci**S3ResourceCreationAndArtifactAccessPolicy**.

   1. Scegli **Crea policy**.

1. Nel pannello di navigazione, scegli **Ruoli** e quindi **Crea ruolo**. 

1. Per **Seleziona entità attendibile**, scegli **Politica di fiducia personalizzata**, quindi inserisci la seguente politica JSON:

1. Scegli **Next (Successivo)**. 

1. Nell'elenco **Politiche**, seleziona quella `S3ResourceCreationAndArtifactAccessPolicy` che hai appena creato. 

1. Scegli **Next (Successivo)**. 

1. Per **Nome ruolo**, inserisci **SCLaunch-S3product**.
**Importante**  
I nomi dei ruoli di avvio **devono** iniziare con SCLaunch "" seguito dal nome del ruolo desiderato. 

1. Scegli **Crea ruolo**.
**Importante**  
Dopo aver creato il ruolo di avvio nell'account AWS Service Catalog amministratore, è necessario creare anche un ruolo di avvio identico nell'account dell'utente AWS Service Catalog finale. Il ruolo nell'account dell'utente finale deve avere lo stesso nome e includere la stessa politica del ruolo nell'account amministratore.

**Per creare un ruolo di lancio nell'account dell'utente AWS Service Catalog finale**

1. Accedi come amministratore all'account dell'utente finale, quindi segui le istruzioni per [creare nuove politiche nella scheda JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) nella *guida per l'utente IAM*. 

1. Ripeti i passaggi da 2 a 10 da *Per creare un ruolo di avvio nell'account AWS Service Catalog amministratore riportato sopra*. 

**Nota**  
Quando crei un ruolo di avvio nell'account dell'utente AWS Service Catalog finale, assicurati di utilizzare lo stesso amministratore **AccountId** nella politica di fiducia personalizzata. 

Ora che hai creato un ruolo di lancio sia nell'account amministratore che in quello dell'utente finale, puoi aggiungere un vincolo di avvio al prodotto. 

# Passaggio 6: aggiungi un vincolo di lancio al tuo prodotto Terraform
<a name="getstarted-launchconstraint-Terraform"></a>

**Importante**  
È necessario creare un vincolo di lancio per i prodotti Terraform. HashiCorp Senza un vincolo di lancio, gli utenti finali non possono fornire il prodotto. 

Dopo aver creato un ruolo di lancio nel tuo account amministratore, sei pronto per associare il ruolo di lancio a un vincolo di lancio sul tuo prodotto External o Terraform Cloud. 

Questo vincolo di lancio consente all'utente finale di lanciare il prodotto e, dopo il lancio, gestirlo come prodotto fornito. Per ulteriori informazioni, consulta [AWS Service Catalog Launch Constraints (Vincoli di lancio di SC)](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-launch.html).

L'utilizzo di un vincolo di lancio consente di seguire la best practice IAM di ridurre al minimo le autorizzazioni IAM degli utenti finali. Per ulteriori informazioni, consulta [Assegnare il privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) nella *Guida per l'utente IAM*.

**Per assegnare un vincolo di lancio al prodotto**

1. [Apri la AWS Service Catalog console in /servicecatalog. https://console.aws.amazon.com](https://console.aws.amazon.com/servicecatalog.)

1. **Nella console di navigazione a sinistra, scegli Portfolio.** 

1. Scegli il portafoglio **di bucket S3**.

1. **Nella pagina dei **dettagli del portafoglio**, scegli la scheda **Vincoli**, quindi scegli Crea vincolo.**

1. **Per **Prodotto**, scegli Simple S3 bucket.** AWS Service Catalog seleziona automaticamente il tipo di vincolo **Launch**.

1. **Scegli **Inserisci il nome del ruolo**, quindi scegli -S3Product. SCLaunch** 

1. **Scegli Crea.** 

**Nota**  
Il nome del ruolo specificato deve esistere nell'account che ha creato il vincolo di avvio e nell'account dell'utente che lancia un prodotto con questo vincolo di lancio. 

# Fase 7: concedere l'accesso all'utente finale
<a name="getstarted-deploy-Terraform"></a>

Dopo aver applicato il vincolo di lancio al tuo prodotto HashiCorp Terraform, sei pronto a concedere l'accesso agli utenti finali nell'account spoke.

In questo tutorial, concedi l'accesso agli utenti finali utilizzando la condivisione del nome principale. I nomi principali sono nomi di gruppi, ruoli e utenti che gli amministratori possono specificare in un portfolio e quindi condividere con il portfolio. Quando condividi il portfolio, AWS Service Catalog verifica se tali nomi principali esistono già. Se esistono, associa AWS Service Catalog automaticamente i principali IAM corrispondenti al portafoglio condiviso per concedere l'accesso agli utenti finali. Per ulteriori informazioni, [consulta la sezione Condivisione di un portafoglio](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing_how-to-share). 

**Prerequisiti**  
Se non hai creato un gruppo IAM per gli utenti finali, consulta[Concedere le autorizzazioni agli utenti AWS Service Catalog finali](getstarted-iamenduser.md).

**Concessione dell'accesso al portafoglio**

1. Vai alla pagina **Portfolio** e scegli il portafoglio di **bucket S3**. 

1. Scegli la scheda **Accesso**, quindi scegli **Concedi** l'accesso. 

1. Nel riquadro **Tipo di accesso**, scegli **Nome principale**. 

1. Nel riquadro **Nome principale**, seleziona il tipo di **nome principale**, quindi inserisci il **nome** principale dell'utente finale desiderato nell'account spoke. 

1. Selezionare **Grant access (Concedi accesso)**. 

# Fase 8: Condivisione del portafoglio con l'utente finale
<a name="getstarted-share-portfolio-end-user-Terraform"></a>

L' AWS Service Catalog amministratore può distribuire i portafogli con gli account degli utenti finali utilizzando la account-to-account condivisione o AWS Organizations la condivisione. In questo tutorial, condividi il tuo portafoglio con l'organizzazione dall'account amministratore (account hub), che è anche l'account di gestione dell'organizzazione. 

**Per condividere il portafoglio dall'account admin hub**

1. Apri la AWS Service Catalog console all'indirizzo [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/). 

1. Nella pagina **Portfolio**, seleziona il portafoglio di bucket S3. **Nel menu **Azioni**, scegli Condividi.** 

1. Scegli **AWS Organizations**, quindi filtra in base alla struttura organizzativa. 

1. Nel riquadro **AWS Organizzazione**, scegli l'account dell'utente finale (account spoke). 

   È inoltre possibile selezionare un **nodo principale** per condividere il portfolio con l'intera organizzazione, un'**unità organizzativa (OU) principale** o un'unità organizzativa **secondaria** all'interno dell'organizzazione in base alla struttura dell'organizzazione. Per ulteriori informazioni, consulta[Condivisione di un portafoglio](catalogs_portfolios_sharing_how-to-share.md). 

1. Nel riquadro **delle impostazioni di condivisione**, scegli **Condivisione principale**. 

1. Scegli **Condividi**. 

Dopo aver condiviso con successo il portafoglio con gli utenti finali, il passaggio successivo consiste nel verificare l'esperienza dell'utente finale e fornire il prodotto Terraform. 

# Fase 9: Verificare l'esperienza dell'utente finale
<a name="getstarted-verify-Terraform"></a>

Per verificare che gli utenti finali possano accedere correttamente alla console dell'utente finale, visualizzare e lanciare il **Simple S3 bucket** prodotto, accedi AWS come utente finale ed esegui le attività seguenti. 

**Verifica dell'accesso dell'utente finale alla console utente finale**
+ Apri la AWS Service Catalog console all'indirizzo [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)per vedere:
  + **Products** (Prodotti) – I prodotti che l'utente può utilizzare.
  + **Provisioned products** (Prodotti con provisioning) – I prodotti con provisioning che l'utente ha avviato.

**Per verificare che l'utente finale possa avviare il prodotto Terraform**

1. Nella sezione **Prodotti** della console, scegli **Simple S3** bucket.

1. Scegli **Avvia prodotto** per avviare la procedura guidata che configura il prodotto.

1. Nella pagina del **bucket Launch Simple S3**, inserisci il nome del **Amazon S3 product** prodotto fornito.

1. **Nella pagina **Parametri**, inserisci quanto segue e scegli Avanti:**
   +  **bucket\$1name — Fornisce un nome** univoco per il bucket Amazon S3. Ad esempio, **terraform-s3-product**. 

1. Scegli **Launch** product. La console visualizza la pagina dei dettagli dello stack per il lancio del prodotto Amazon S3. Lo stato iniziale del prodotto è **In corso** di modifica. Il lancio del prodotto richiede alcuni minuti. AWS Service Catalog Per visualizzare lo stato corrente, aggiorna il browser. Dopo il lancio riuscito del prodotto, lo stato è **Disponibile**. 

   AWS Service Catalog crea un nuovo bucket Amazon S3 denominato. **terraform-s3-product** 

# Fase 10: Monitoraggio delle operazioni di approvvigionamento di Terraform
<a name="getstarted-monitoring-Terraform"></a>

Se desideri monitorare le operazioni di provisioning, puoi consultare CloudWatch i log di Amazon e qualsiasi flusso di lavoro AWS Step Functions di provisioning. 

Esistono due macchine a stati per il flusso di lavoro di provisioning: 
+ `ManageProvisionedProductStateMachine`— AWS Service Catalog richiama questa macchina a stati durante il provisioning di un nuovo prodotto Terraform e durante l'aggiornamento di un prodotto Terraform predisposto esistente. 
+ `TerminateProvisionedProductStateMachine`— AWS Service Catalog richiama questa macchina a stati quando termina un prodotto fornito da Terraform esistente. 

**Per eseguire la macchina a stati di monitoraggio**

1. Apri la console di AWS gestione e accedi come amministratore nell'account dell'hub di amministrazione in cui è installato il motore di provisioning Terraform.

1. Aprire **AWS Step Functions**. 

1. Nel pannello di navigazione a sinistra, scegli Macchine a **stati**. 

1. Scegli **ManageProvisionedProductStateMachine**. 

1. Nell'elenco **Esecuzioni**, inserisci l'ID del prodotto assegnato per individuare l'esecuzione. 
**Nota**  
AWS Service Catalog crea l'ID del prodotto fornito quando si effettua il provisioning del prodotto. L'ID del prodotto fornito è formattato come segue:. **pp-1111pwtn[ID number]** 

1. Scegli l'ID di **esecuzione**. 

Nella pagina dei **dettagli di esecuzione** risultante, puoi visualizzare tutti i passaggi del flusso di lavoro di provisioning. È inoltre possibile esaminare eventuali passaggi non riusciti per identificare la causa dell'errore. 