Concedi le autorizzazioni IAM per gli CloudFormation Hooks - AWS CloudFormation

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

Concedi le autorizzazioni IAM per gli CloudFormation Hooks

Per impostazione predefinita, un nuovo utente Account AWS non è autorizzato a gestire gli Hooks utilizzando l'API AWS Management Console, AWS Command Line Interface (AWS CLI) o AWS . Per concedere l'autorizzazione agli utenti, un amministratore IAM può creare policy IAM. L'amministratore può quindi aggiungere le policy IAM ai ruoli e gli utenti possono assumere i ruoli.

Usa gli esempi di policy riportati in questo argomento per creare policy IAM personalizzate che consentano agli utenti di lavorare con gli Hooks.

Per scoprire come creare una policy basata sull'identità IAM utilizzando questi esempi di documenti di policy JSON, consulta Definire le autorizzazioni IAM personalizzate con le policy gestite dai clienti nella Guida per l'utente IAM.

Questo argomento tratta le autorizzazioni necessarie per eseguire le seguenti operazioni:

  • Gestisci gli Hooks: crea, modifica e disabilita gli Hooks nel tuo account.

  • Pubblica gli Hooks pubblicamente: registra, testa e pubblica i tuoi Hooks personalizzati per renderli disponibili pubblicamente nel registro. CloudFormation

  • Visualizza i risultati delle chiamate: accedi e richiedi i risultati delle chiamate Hook nel tuo account.

Durante la creazione delle policy IAM, puoi trovare la documentazione per tutte le azioni, le risorse e le chiavi di condizione associate al prefisso del cloudformation servizio nella AWS CloudFormation sezione Actions, resources and condition keys for del Service Authorization Reference.

Consenti agli utenti di gestire gli Hooks

Se devi consentire agli utenti di gestire le estensioni, inclusi gli Hooks, senza la possibilità di renderle pubbliche nel CloudFormation registro, puoi utilizzare il seguente esempio di politica IAM.

Importante

Le chiamate ActivateType e le chiamate SetTypeConfiguration API collaborano per creare Hooks nel tuo account. Quando concedi a un utente l'autorizzazione a chiamare l'SetTypeConfigurationAPI, gli concedi automaticamente la possibilità di modificare e disabilitare gli Hooks esistenti. Non puoi utilizzare le autorizzazioni a livello di risorsa per limitare l'accesso a questa chiamata API. Pertanto, assicurati di concedere questa autorizzazione solo agli utenti autorizzati del tuo account.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ActivateType", "cloudformation:DescribeType", "cloudformation:ListTypes", "cloudformation:SetTypeConfiguration" ], "Resource": "*" } ] }

Gli utenti che gestiscono gli Hooks potrebbero aver bisogno di alcune autorizzazioni correlate. Ad esempio, per visualizzare i controlli dal Control Catalog nella CloudFormation console, l'utente deve disporre dell'controlcatalog:ListControlsautorizzazione in una policy IAM. Per registrare gli Hooks personalizzati come estensioni private nel CloudFormation registro, l'utente deve disporre dell'cloudformation:RegisterTypeautorizzazione in una policy IAM.

Consenti agli utenti di pubblicare pubblicamente Hooks personalizzati

L'esempio seguente di politica IAM si concentra specificamente sulle funzionalità di pubblicazione. Utilizza questa policy se devi consentire agli utenti di rendere le estensioni, inclusi gli Hooks, disponibili pubblicamente nel CloudFormation registro.

Importante

Publishing Hooks le rende disponibili pubblicamente ad altri. Account AWS Assicurati che solo gli utenti autorizzati dispongano di queste autorizzazioni e che le estensioni pubblicate soddisfino gli standard di qualità e sicurezza della tua organizzazione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:DescribePublisher", "cloudformation:DescribeTypeRegistration", "cloudformation:ListTypes", "cloudformation:ListTypeVersions", "cloudformation:PublishType", "cloudformation:RegisterPublisher", "cloudformation:RegisterType", "cloudformation:TestType" ], "Resource": "*" } ] }

Consenti agli utenti di richiedere i risultati delle chiamate

Le autorizzazioni IAM necessarie per visualizzare i risultati delle invocazioni di Hook cambiano a seconda della richiesta API effettuata.

  • Per concedere le autorizzazioni per richiedere tutti i risultati di Hook, i risultati per un Hook specifico o i risultati per uno specifico Hook e lo stato di invocazione, devi concedere l'accesso all'azione. cloudformation:ListAllHookResults

  • Per concedere le autorizzazioni per richiedere risultati specificando una destinazione Hook, devi concedere l'accesso all'azione. cloudformation:ListHookResults Questa autorizzazione consente al chiamante dell'API di specificare i TargetId parametri TargetType and durante la chiamata. ListHookResults

Di seguito viene mostrato un esempio di una politica di autorizzazioni di base per la richiesta dei risultati di invocazione di Hook. Le identità IAM (utenti o ruoli) con questa policy sono autorizzate a richiedere tutti i risultati di chiamata utilizzando tutte le combinazioni di parametri disponibili.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListAllHookResults", "cloudformation:ListHookResults" ], "Resource": "*" } ] }

Controlla quali set di modifiche possono essere specificati

L'esempio seguente di policy IAM concede le autorizzazioni all'cloudformation:ListHookResultsazione per richiedere risultati specificando la destinazione dell'Hook. Tuttavia, nega l'azione anche se l'obiettivo è un set di modifiche denominato. example-changeset

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListHookResults" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "cloudformation:ListHookResults" ], "Resource": "*", "Condition": { "StringEquals": { "cloudformation:ChangeSetName": "example-changeset" } } } ] }

Controlla quali ganci possono essere specificati

Il seguente esempio di policy IAM concede le autorizzazioni all'cloudformation:ListAllHookResultsazione per richiedere i risultati di chiamata solo quando l'ARN dell'Hook è fornito nella richiesta. Nega l'azione per un Hook ARN specificato.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*", "Condition": { "Null": { "cloudformation:TypeArn": "true" } } }, { "Effect": "Deny", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*", "Condition": { "ArnEquals": { "cloudformation:TypeArn": "arn:aws:cloudformation:us-east-1:123456789012:type/hook/MyCompany-MyHook" } } } ] }