Esempi di politiche basate sull'identità per CloudFormation - AWS Guida prescrittiva

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

Esempi di politiche basate sull'identità per CloudFormation

Questa sezione contiene esempi di politiche basate sull'identità che dimostrano come concedere e negare le autorizzazioni per. CloudFormation È possibile utilizzare queste politiche di esempio per iniziare a progettare politiche personalizzate che aderiscano al principio del privilegio minimo.

Per un elenco di azioni e condizioni CloudFormation specifiche, consulta Azioni, risorse e chiavi di condizione per AWS CloudFormation e AWS CloudFormation condizioni. Per un elenco dei tipi di risorse da utilizzare con le condizioni, consulta il riferimento ai tipi di AWS risorse e proprietà.

Consenti l'accesso alla visualizzazione

L'accesso alla visualizzazione è il tipo di accesso meno privilegiato a. CloudFormation Questo tipo di policy potrebbe essere appropriato per i dirigenti IAM che desiderano visualizzare tutti gli stack di. CloudFormation Account AWS La seguente policy di esempio concede le autorizzazioni per visualizzare i dettagli di qualsiasi CloudFormation stack dell'account.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource": "*" } ] }

Consenti la creazione di stack in base al modello

La seguente policy di esempio consente ai responsabili IAM di creare stack utilizzando solo i CloudFormation modelli archiviati in uno specifico bucket Amazon Simple Storage Service (Amazon S3). Il nome del bucket è. my-CFN-templates Puoi caricare modelli approvati in questo bucket. La chiave di cloudformation:TemplateUrl condizione nella policy impedisce al responsabile IAM di utilizzare altri modelli per creare stack.

Importante

Consenti al principale IAM di avere accesso in sola lettura a questo bucket S3. Questo aiuta a impedire al responsabile IAM di aggiungere, rimuovere o modificare i modelli approvati.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "StringLike": { "cloudformation:TemplateUrl": "https:// my-CFN-templates.s3.amazonaws.com/*" } } } ] }

Negare l'aggiornamento o l'eliminazione di uno stack

Per proteggere CloudFormation stack specifici che forniscono AWS risorse aziendali critiche, puoi limitare le azioni di aggiornamento ed eliminazione per quello stack specifico. Puoi consentire queste azioni solo per alcuni principi IAM specificati e negarle per qualsiasi altro principale IAM nell'ambiente. La seguente dichiarazione politica nega le autorizzazioni per aggiornare o eliminare uno CloudFormation stack specifico in uno specifico and. Regione AWS Account AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/<stack_ID>" } ] }

Questa dichiarazione politica nega le autorizzazioni per aggiornare o eliminare lo MyProductionStack CloudFormation stack, che si trova in e in. us-east-1 Regione AWS 123456789012 Account AWSÈ possibile visualizzare l'ID dello stack nella console. CloudFormation Di seguito sono riportati alcuni esempi di come è possibile modificare l'Resourceelemento di questa dichiarazione in base al proprio caso d'uso:

  • È possibile aggiungere più CloudFormation stack IDs nell'Resourceelemento di questa politica.

  • Puoi utilizzarlo arn:aws:cloudformation:us-east-1:123456789012:stack/* per impedire ai responsabili IAM di aggiornare o eliminare qualsiasi stack presente nell'account us-east-1 Regione AWS e nell'account. 123456789012

Un passo importante è decidere quale policy deve contenere questa dichiarazione. È possibile aggiungere questa dichiarazione alle seguenti politiche:

  • La policy basata sull'identità associata al principio IAM: l'inserimento della dichiarazione in questa policy impedisce al principale IAM specifico di creare o eliminare uno stack specifico. CloudFormation

  • Un limite di autorizzazioni collegato al principio IAM: l'inserimento della dichiarazione in questa policy crea una barriera di autorizzazioni. Impedisce a più di un principale IAM di creare o eliminare uno CloudFormation stack specifico, ma non limita tutti i principali dell'ambiente.

  • Un SCP collegato a un account, unità organizzativa o organizzazione: l'inserimento della dichiarazione in questa politica crea un limite di autorizzazioni. Impedisce a tutti i responsabili IAM dell'account, dell'unità organizzativa o dell'organizzazione di destinazione di creare o eliminare uno stack specifico. CloudFormation

    Tuttavia, se non consenti ad almeno un principale IAM, un principale privilegiato, di aggiornare o eliminare lo CloudFormation stack, non sarai in grado di apportare alcuna modifica, se necessario, alle risorse fornite tramite questo stack. Un utente o una pipeline di sviluppo (consigliato) può assumere questo principio privilegiato. Se desideri implementare la restrizione come SCP, ti consigliamo invece la seguente dichiarazione politica.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/<stack_ID>", "Condition": { "ArnNotLike": { "aws:PrincipalARN": [ "<ARN of the allowed privilege IAM principal>" ] } } } ] }

    In questa dichiarazione, l'Conditionelemento definisce il principio IAM escluso da SCP. Questa istruzione nega qualsiasi autorizzazione principale IAM per aggiornare o eliminare gli CloudFormation stack a meno che l'ARN del principale IAM non corrisponda all'ARN nell'elemento. Condition La chiave di aws:PrincipalARN condizione accetta un elenco, il che significa che puoi escludere più di un principale IAM dalle restrizioni, in base alle esigenze del tuo ambiente. Per un SCP simile che impedisce modifiche alle CloudFormation risorse, vedi SCP-CLOUDFORMATION-1 (). GitHub