

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

# AWS Service Catalog Vincoli di avvio
<a name="constraints-launch"></a>

Un vincolo di lancio specifica il ruolo AWS Identity and Access Management (IAM) da AWS Service Catalog assumere quando un utente finale avvia, aggiorna o chiude un prodotto. Un ruolo IAM è una raccolta di autorizzazioni che un utente o un servizio può assumere temporaneamente per utilizzare i AWS servizi. AWS Per un esempio introduttivo, vedi:
+ CloudFormation tipo di prodotto: [Passaggio 6: aggiungere un vincolo di avvio per assegnare un ruolo IAM](getstarted-launchconstraint.md)
+ Tipo di prodotto Terraform Open Source o Terraform Cloud: [Fase 5: Creare ruoli di lancio](getstarted-launchrole-Terraform.md)

I vincoli di lancio si applicano ai prodotti del portafoglio (associazione prodotto-portafoglio). I vincoli di lancio non si applicano a livello di portafoglio o a un prodotto in tutti i portafogli. Per associare un vincolo di avvio a tutti i prodotti in un portafoglio, devi applicare il vincolo di avvio a ogni prodotto individualmente.

Senza vincoli di lancio, gli utenti finali devono lanciare e gestire i prodotti utilizzando le proprie credenziali IAM. A tal fine, devono disporre delle autorizzazioni per AWS i servizi CloudFormation utilizzati dai prodotti e. AWS Service Catalog Utilizzando un ruolo di avvio, puoi invece limitare le autorizzazioni degli utenti finali al minimo richiesto per quel prodotto. Per ulteriori informazioni sulle autorizzazioni per utenti finali, consulta [Identity and Access Management in AWS Service Catalog](controlling_access.md).

Per creare e assegnare ruoli IAM, devi disporre delle seguenti autorizzazioni amministrative IAM:
+ `iam:CreateRole`
+ `iam:PutRolePolicy`
+ `iam:PassRole`
+ `iam:Get*`
+ `iam:List*`

## Configurazione di un ruolo di avvio
<a name="constraints-launch-role"></a>

Il ruolo IAM che assegni a un prodotto come vincolo di lancio deve disporre delle autorizzazioni per utilizzare quanto segue:

**Per i prodotti Cloudformation**
+ La policy gestita di `arn:aws:iam::aws:policy/AWSCloudFormationFullAccess` CloudFormation 
+ Servizi inclusi nel AWS CloudFormation modello del prodotto
+ Accesso in lettura al AWS CloudFormation modello in un bucket Amazon S3 di proprietà del servizio. 

**Per i prodotti Terraform**
+ Servizi nel modello Amazon S3 per il prodotto
+ Accesso in lettura al modello Amazon S3 in un bucket Amazon S3 di proprietà del servizio. 
+ `resource-groups:Tag`per il tagging in un'istanza Amazon EC2 (assunto dal motore di provisioning Terraform durante l'esecuzione delle operazioni di provisioning)
+ `resource-groups:CreateGroup`per l'etichettatura dei gruppi di risorse (presupposto per creare gruppi di risorse e AWS Service Catalog assegnare tag) 

La politica di fiducia del ruolo IAM deve consentire di AWS Service Catalog assumere il ruolo. Nella procedura riportata di seguito, la politica di fiducia verrà impostata automaticamente quando si seleziona AWS Service Catalog come tipo di ruolo. Se non utilizzi la console, consulta la sezione *Creazione di politiche di fiducia per AWS i servizi che assumono ruoli* in [Come usare le politiche di fiducia con i ruoli IAM](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/). 

**Nota**  
Le autorizzazioni `servicecatalog:ProvisionProduct`, `servicecatalog:TerminateProvisionedProduct` e `servicecatalog:UpdateProvisionedProduct` non possono essere assegnate in un ruolo di avvio. È necessario utilizzare i ruoli IAM, come illustrato nei passaggi delle policy in linea nella sezione [Concedere autorizzazioni agli utenti AWS Service Catalog finali](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-iamenduser.html).

**Nota**  
Per visualizzare i prodotti e le risorse Cloudformation forniti nella AWS Service Catalog console, gli utenti finali devono avere accesso in lettura. CloudFormation La visualizzazione dei prodotti e delle risorse forniti nella console **non** utilizza il ruolo di avvio.

**Creazione di un ruolo di avvio**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   I prodotti Terraform richiedono configurazioni aggiuntive dei ruoli di lancio. Per ulteriori informazioni, consulta la [Fase 5: Creare ruoli di lancio](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-launchrole-Terraform) in *Getting Started with a Terraform Open* Source. 

1. Scegli **Ruoli**.

1. Scegli **Crea nuovo ruolo**.

1. Immettere un nome di ruolo e scegliere **Next Step (Fase successiva)**.

1. In **Ruoli AWS di servizio** accanto a **AWS Service Catalog**, scegli **Seleziona**.

1. Nella pagina **Attach Policy (Associa policy)**, scegliere **Next Step (Fase successiva)**.

1. Per creare il ruolo, scegliere **Create Role (Crea ruolo)**. 

**Associazione di una policy a un nuovo ruolo**

1. Scegli il ruolo che hai creato per visualizzare la pagina dei dettagli del ruolo.

1. Scegliere la scheda **Permissions (Autorizzazioni)** ed espandere la sezione **Inline Policies (Policy inline)**. Quindi, scegliere **click here (fai clic qui)**.

1. Scegliere **Custom Policy (Policy personalizzata)** quindi **Select (Seleziona)**. 

1. Immettere un nome per la policy, quindi incollare quanto segue nell'editor **Policy Document (Documento policy)**: 

   ```
     
             "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "s3:GetObject"
            ],
            "Resource":"*",
            "Condition":{
               "StringEquals":{
                  "s3:ExistingObjectTag/servicecatalog:provisioning":"true"
               }
            }
      ]
   }
   ```
**Nota**  
Quando configuri un ruolo di avvio per un vincolo di avvio, devi usare questa stringa:. `"s3:ExistingObjectTag/servicecatalog:provisioning":"true"` 

1. Aggiungi una riga alla politica per ogni servizio aggiuntivo utilizzato dal prodotto. Ad esempio, per aggiungere l'autorizzazione per Amazon Relational Database Service (Amazon RDS), inserisci una virgola alla fine dell'ultima riga `Action` dell'elenco, quindi aggiungi la seguente riga: 

   ```
   "rds:*"
   ```

1. Scegli **Apply Policy** (Applica policy).

## Applicazione di un vincolo di avvio
<a name="constraints-launch-constraint"></a>

Dopo aver configurato il ruolo di lancio, assegna il ruolo al prodotto come vincolo di lancio. Questa azione indica AWS Service Catalog di assumere il ruolo quando un utente finale avvia il prodotto. 

**Assegnazione del ruolo a un prodotto**

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

1. Scegliere il portafoglio che contiene il prodotto.

1. Scegliere la scheda **Vincoli**, quindi **Crea vincolo**.

1. Scegliere il prodotto da **Product (Prodotto)**, quindi scegliere **Launch (Avvia)** sotto **Constraint type (Tipo di vincolo)**. Scegli **Continua**.

1. Nella sezione **Launch constraint**, puoi selezionare un ruolo IAM dal tuo account e inserire un ARN del ruolo IAM oppure inserire il nome del ruolo.

   Se specifichi il nome del ruolo e se un account utilizza il vincolo di avvio, l'account utilizza quel nome per il ruolo IAM. Questo approccio consente ai vincoli del ruolo di avvio di essere indipendenti dall'account, in modo da poter creare meno risorse per account condiviso. 
**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 avvio. 

1. Dopo aver specificato il ruolo IAM, scegliere **Crea**.

## Aggiungere Confused Deputy a Launch Constraint
<a name="constraint-confused-deputy"></a>

AWS Service Catalog supporta la protezione [Confused Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) per APIs quelli che vengono eseguiti con una richiesta Assume Role. Quando aggiungi un vincolo di avvio, puoi limitare l'accesso al ruolo di lancio utilizzando `sourceArn` le condizioni contenute nella `sourceAccount` policy di fiducia del ruolo di avvio. Garantisce che il ruolo di lancio venga richiamato da una fonte attendibile.

Nell'esempio seguente, l' AWS Service Catalog utente finale appartiene all'account 1111. Quando l' AWS Service Catalog amministratore crea un ruolo `LaunchConstraint` per un prodotto, l'utente finale può specificare le seguenti condizioni nella politica di fiducia del ruolo di avvio per limitare il ruolo di assunzione all'account 1111.

```
"Condition":{
   "ArnLike":{
      "aws:SourceArn":"arn:aws:servicecatalog:us-east-1:111111111111:*"
   },
   "StringEquals":{
      "aws:SourceAccount":"111111111111"
   }
  
}
```

Un utente che fornisce a un prodotto il `LaunchConstraint` deve avere lo stesso `AccountId` (1111). In caso contrario, l'operazione fallisce con un `AccessDenied` errore, che impedisce l'uso improprio del ruolo di avvio.

Quanto segue AWS Service Catalog APIs è protetto dalla protezione di Confused Deputy:
+ `LaunchConstraint`
+ `ProvisionProduct`
+ `UpdateProvisionedProduct`
+ `TerminateProvisionedProduct`
+ `ExecuteProvisionedProductServiceAction`
+ `CreateProvisionedProductPlan`
+ `ExecuteProvisionedProductPlan`

La `sourceArn ` protezione supporta AWS Service Catalog solo modelli ARNs, come "`arn:<aws-partition>:servicecatalog:<region>:<accountId>:`". Non supporta risorse specifiche. ARNs

## Verifica del vincolo di avvio
<a name="constraints-launch-test"></a>

Per verificare AWS Service Catalog utilizzi il ruolo per avviare il prodotto ed effettuare correttamente il provisioning del prodotto, avvia il prodotto dalla console. AWS Service Catalog Per testare un vincolo prima della distribuzione agli utenti, crea un portafoglio di prova che contiene gli stessi prodotti e verifica i vincoli con quel portafoglio.

**Avvio del prodotto**

1. Nel menu della AWS Service Catalog console, scegli **Service Catalog**, **Utente finale**.

1. Scegli il prodotto per aprire la pagina dei **dettagli del prodotto**. Nella tabella **delle opzioni di avvio**, verifica che venga visualizzato l'Amazon Resource Name (ARN) del ruolo.

1. Scegli **Launch product**.

1. Esegui le fasi relative all'avvio, indicando le informazioni richieste.

1. Verifica che il prodotto venga avviato senza problemi.