Vincoli di avvio di AWS Service Catalog - AWS Service Catalog

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

Vincoli di avvio di AWS Service Catalog

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:

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

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

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 politica gestita arn:aws:iam::aws:policy/AWSCloudFormationFullAccess AWS 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:Tagper il tagging in un'istanza Amazon EC2 (assunto dal motore di provisioning Terraform durante l'esecuzione delle operazioni di provisioning)

  • resource-groups:CreateGroupper 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 seguente, 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.

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.

Nota

Per visualizzare i prodotti e le risorse Cloudformation forniti nella AWS Service Catalog console, gli utenti finali devono avere accesso in lettura. AWS 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/.

    I prodotti Terraform richiedono configurazioni aggiuntive dei ruoli di lancio. Per ulteriori informazioni, consulta la Fase 5: Creazione di ruoli di lancio in Getting Started with a Terraform Open Source.

  2. Scegli Ruoli.

  3. Scegli Crea nuovo ruolo.

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

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

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

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

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

  3. Scegliere Custom Policy (Policy personalizzata) quindi Select (Seleziona).

  4. 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"

  5. 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:*"
  6. Scegli Apply Policy (Applica policy).

Applicazione di un vincolo di avvio

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

  2. Scegliere il portafoglio che contiene il prodotto.

  3. Scegliere la scheda Vincoli, quindi Crea vincolo.

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

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

  6. Dopo aver specificato il ruolo IAM, scegliere Crea.

Aggiungere Confused Deputy a Launch Constraint

AWS Service Catalogsupporta la protezione Confused Deputy per le API eseguite con una richiesta Assume Role. Quando aggiungi un vincolo di avvio, puoi limitare l'accesso al ruolo di lancio utilizzando sourceAccount sourceArn le condizioni contenute nella policy di trust del ruolo di avvio. Garantisce che il ruolo di lancio venga richiamato da una fonte attendibile.

Nell'esempio seguente, l'AWS Service Catalogutente finale appartiene all'account 1111. Quando l'AWS Service Catalogamministratore 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.

Le seguenti AWS Service Catalog API sono protette per la protezione di Confused Deputy:

  • LaunchConstraint

  • ProvisionProduct

  • UpdateProvisionedProduct

  • TerminateProvisionedProduct

  • ExecuteProvisionedProductServiceAction

  • CreateProvisionedProductPlan

  • ExecuteProvisionedProductPlan

La sourceArn protezione supporta AWS Service Catalog solo ARN basati su modelli, ad esempio "arn:<aws-partition>:servicecatalog:<region>:<accountId>:". Non supporta ARN di risorse specifiche.

Verifica del vincolo di avvio

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.

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

  3. Scegli Launch product.

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

  5. Verifica che il prodotto venga avviato senza problemi.