Gestione delle identità e degli accessi per l' AWS CodePipeline - AWS CodePipeline

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

Gestione delle identità e degli accessi per l' AWS CodePipeline

AWS Identity and Access Management (IAM) è un software Servizio AWS che aiuta un amministratore a controllare in modo sicuro l'accesso alle AWS risorse. Gli amministratori IAM controllano chi può essere autenticato (effettuato l'accesso) e autorizzato (disporre delle autorizzazioni) a utilizzare le risorse. CodePipeline IAM è uno Servizio AWS strumento che puoi utilizzare senza costi aggiuntivi.

Destinatari

Il modo in cui usi AWS Identity and Access Management (IAM) varia a seconda del lavoro che CodePipeline svolgi.

Utente del servizio: se utilizzi il CodePipeline servizio per svolgere il tuo lavoro, l'amministratore ti fornisce le credenziali e le autorizzazioni necessarie. Man mano che utilizzi più CodePipeline funzionalità per svolgere il tuo lavoro, potresti aver bisogno di autorizzazioni aggiuntive. La comprensione della gestione dell'accesso ti consente di richiedere le autorizzazioni corrette all'amministratore. Se non riesci ad accedere a una funzionalità in CodePipeline, consultaRisoluzione dei problemi di identità e accesso in AWS CodePipeline.

Amministratore del servizio: se sei responsabile delle CodePipeline risorse della tua azienda, probabilmente hai pieno accesso a CodePipeline. È tuo compito determinare a quali CodePipeline funzionalità e risorse devono accedere gli utenti del servizio. Devi inviare le richieste all'amministratore IAM per cambiare le autorizzazioni degli utenti del servizio. Esamina le informazioni contenute in questa pagina per comprendere i concetti di base relativi a IAM. Per saperne di più su come la tua azienda può utilizzare IAM con CodePipeline, consultaCome AWS CodePipeline funziona con IAM.

Amministratore IAM: se sei un amministratore IAM, potresti voler conoscere i dettagli su come scrivere policy a cui gestire l'accesso CodePipeline. Per visualizzare esempi di policy CodePipeline basate sull'identità che puoi utilizzare in IAM, consulta. Esempi di policy di AWS CodePipeline basate su identità

Autenticazione con identità

L'autenticazione è il modo in cui accedi AWS utilizzando le tue credenziali di identità. Devi essere autenticato (aver effettuato l' Utente root dell'account AWS accesso AWS) come utente IAM o assumendo un ruolo IAM.

Puoi accedere AWS come identità federata utilizzando le credenziali fornite tramite una fonte di identità. AWS IAM Identity Center Gli utenti (IAM Identity Center), l'autenticazione Single Sign-On della tua azienda e le tue credenziali di Google o Facebook sono esempi di identità federate. Se accedi come identità federata, l'amministratore ha configurato in precedenza la federazione delle identità utilizzando i ruoli IAM. Quando accedi AWS utilizzando la federazione, assumi indirettamente un ruolo.

A seconda del tipo di utente, puoi accedere al AWS Management Console o al portale di AWS accesso. Per ulteriori informazioni sull'accesso a AWS, vedi Come accedere al tuo Account AWS nella Guida per l'Accedi ad AWS utente.

Se accedi a AWS livello di codice, AWS fornisce un kit di sviluppo software (SDK) e un'interfaccia a riga di comando (CLI) per firmare crittograficamente le tue richieste utilizzando le tue credenziali. Se non utilizzi AWS strumenti, devi firmare tu stesso le richieste. Per ulteriori informazioni sull'utilizzo del metodo consigliato per firmare autonomamente le richieste, consulta Signing AWS API request nella IAM User Guide.

A prescindere dal metodo di autenticazione utilizzato, potrebbe essere necessario specificare ulteriori informazioni sulla sicurezza. Ad esempio, ti AWS consiglia di utilizzare l'autenticazione a più fattori (MFA) per aumentare la sicurezza del tuo account. Per ulteriori informazioni, consulta Autenticazione a più fattori nella Guida per l'utente di AWS IAM Identity Center e Utilizzo dell'autenticazione a più fattori (MFA) in AWS nella Guida per l'utente di IAM.

Utente root dell'account AWS

Quando ne crei un Account AWS, inizi con un'unica identità di accesso che ha accesso completo a tutte Servizi AWS le risorse dell'account. Questa identità è denominata utente Account AWS root ed è accessibile effettuando l'accesso con l'indirizzo e-mail e la password utilizzati per creare l'account. Si consiglia vivamente di non utilizzare l'utente root per le attività quotidiane. Conservare le credenziali dell'utente root e utilizzarle per eseguire le operazioni che solo l'utente root può eseguire. Per un elenco completo delle attività che richiedono l'accesso come utente root, consulta la sezione Attività che richiedono le credenziali dell'utente root nella Guida per l'utente di IAM.

Utenti e gruppi IAM

Un utente IAM è un'identità interna Account AWS che dispone di autorizzazioni specifiche per una singola persona o applicazione. Ove possibile, consigliamo di fare affidamento a credenziali temporanee invece di creare utenti IAM con credenziali a lungo termine come le password e le chiavi di accesso. Tuttavia, per casi d'uso specifici che richiedono credenziali a lungo termine con utenti IAM, si consiglia di ruotare le chiavi di accesso. Per ulteriori informazioni, consulta la pagina Rotazione periodica delle chiavi di accesso per casi d'uso che richiedono credenziali a lungo termine nella Guida per l'utente di IAM.

Un gruppo IAM è un'identità che specifica un insieme di utenti IAM. Non è possibile eseguire l'accesso come gruppo. È possibile utilizzare gruppi per specificare le autorizzazioni per più utenti alla volta. I gruppi semplificano la gestione delle autorizzazioni per set di utenti di grandi dimensioni. Ad esempio, è possibile avere un gruppo denominato IAMAdmins e concedere a tale gruppo le autorizzazioni per amministrare le risorse IAM.

Gli utenti sono diversi dai ruoli. Un utente è associato in modo univoco a una persona o un'applicazione, mentre un ruolo è destinato a essere assunto da chiunque ne abbia bisogno. Gli utenti dispongono di credenziali a lungo termine permanenti, mentre i ruoli forniscono credenziali temporanee. Per ulteriori informazioni, consulta Quando creare un utente IAM (invece di un ruolo) nella Guida per l'utente di IAM.

Ruoli IAM

Un ruolo IAM è un'identità interna all'utente Account AWS che dispone di autorizzazioni specifiche. È simile a un utente IAM, ma non è associato a una persona specifica. Puoi assumere temporaneamente un ruolo IAM in AWS Management Console cambiando ruolo. Puoi assumere un ruolo chiamando un'operazione AWS CLI o AWS API o utilizzando un URL personalizzato. Per ulteriori informazioni sui metodi per l'utilizzo dei ruoli, consulta Utilizzo di ruoli IAM nella Guida per l'utente di IAM.

I ruoli IAM con credenziali temporanee sono utili nelle seguenti situazioni:

  • Accesso utente federato: per assegnare le autorizzazioni a una identità federata, è possibile creare un ruolo e definire le autorizzazioni per il ruolo. Quando un'identità federata viene autenticata, l'identità viene associata al ruolo e ottiene le autorizzazioni da esso definite. Per ulteriori informazioni sulla federazione dei ruoli, consulta Creazione di un ruolo per un provider di identità di terza parte nella Guida per l'utente di IAM. Se utilizzi IAM Identity Center, configura un set di autorizzazioni. IAM Identity Center mette in correlazione il set di autorizzazioni con un ruolo in IAM per controllare a cosa possono accedere le identità dopo l'autenticazione. Per ulteriori informazioni sui set di autorizzazioni, consulta Set di autorizzazioni nella Guida per l'utente di AWS IAM Identity Center .

  • Autorizzazioni utente IAM temporanee: un utente IAM o un ruolo può assumere un ruolo IAM per ottenere temporaneamente autorizzazioni diverse per un'attività specifica.

  • Accesso multi-account: è possibile utilizzare un ruolo IAM per permettere a un utente (un principale affidabile) con un account diverso di accedere alle risorse nell'account. I ruoli sono lo strumento principale per concedere l'accesso multi-account. Tuttavia, con alcuni Servizi AWS, è possibile allegare una policy direttamente a una risorsa (anziché utilizzare un ruolo come proxy). Per informazioni sulle differenze tra ruoli e policy basate su risorse per l'accesso multi-account, consulta Differenza tra i ruoli IAM e le policy basate su risorse nella Guida per l'utente di IAM.

  • Accesso a più servizi: alcuni Servizi AWS utilizzano le funzionalità di altri Servizi AWS. Ad esempio, quando effettui una chiamata in un servizio, è comune che tale servizio esegua applicazioni in Amazon EC2 o archivi oggetti in Amazon S3. Un servizio può eseguire questa operazione utilizzando le autorizzazioni dell'entità chiamante, utilizzando un ruolo di servizio o utilizzando un ruolo collegato al servizio.

    • Sessioni di accesso inoltrato (FAS): quando utilizzi un utente o un ruolo IAM per eseguire azioni AWS, sei considerato un principale. Quando si utilizzano alcuni servizi, è possibile eseguire un'operazione che attiva un'altra operazione in un servizio diverso. FAS utilizza le autorizzazioni del principale che chiama an Servizio AWS, combinate con la richiesta Servizio AWS per effettuare richieste ai servizi downstream. Le richieste FAS vengono effettuate solo quando un servizio riceve una richiesta che richiede interazioni con altri Servizi AWS o risorse per essere completata. In questo caso è necessario disporre delle autorizzazioni per eseguire entrambe le azioni. Per i dettagli delle policy relative alle richieste FAS, consulta la pagina Forward access sessions.

    • Ruolo di servizio: un ruolo di servizio è un ruolo IAM che un servizio assume per eseguire azioni per tuo conto. Un amministratore IAM può creare, modificare ed eliminare un ruolo di servizio dall'interno di IAM. Per ulteriori informazioni, consulta la sezione Creazione di un ruolo per delegare le autorizzazioni a un Servizio AWS nella Guida per l'utente di IAM.

    • Ruolo collegato al servizio: un ruolo collegato al servizio è un tipo di ruolo di servizio collegato a un. Servizio AWS Il servizio può assumere il ruolo per eseguire un'operazione per tuo conto. I ruoli collegati al servizio vengono visualizzati nel tuo account Account AWS e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati ai servizi, ma non modificarle.

  • Applicazioni in esecuzione su Amazon EC2: puoi utilizzare un ruolo IAM per gestire le credenziali temporanee per le applicazioni in esecuzione su un'istanza EC2 e che AWS CLI effettuano richieste API. AWS Ciò è preferibile all'archiviazione delle chiavi di accesso nell'istanza EC2. Per assegnare un AWS ruolo a un'istanza EC2 e renderlo disponibile per tutte le sue applicazioni, crei un profilo di istanza collegato all'istanza. Un profilo dell'istanza contiene il ruolo e consente ai programmi in esecuzione sull'istanza EC2 di ottenere le credenziali temporanee. Per ulteriori informazioni, consulta Utilizzo di un ruolo IAM per concedere autorizzazioni ad applicazioni in esecuzione su istanze di Amazon EC2 nella Guida per l'utente di IAM.

Per informazioni sull'utilizzo dei ruoli IAM, consulta Quando creare un ruolo IAM (invece di un utente) nella Guida per l'utente di IAM.

Gestione dell'accesso con policy

Puoi controllare l'accesso AWS creando policy e collegandole a AWS identità o risorse. Una policy è un oggetto AWS che, se associato a un'identità o a una risorsa, ne definisce le autorizzazioni. AWS valuta queste politiche quando un principale (utente, utente root o sessione di ruolo) effettua una richiesta. Le autorizzazioni nelle policy determinano l'approvazione o il rifiuto della richiesta. La maggior parte delle politiche viene archiviata AWS come documenti JSON. Per ulteriori informazioni sulla struttura e sui contenuti dei documenti delle policy JSON, consulta Panoramica delle policy JSON nella Guida per l'utente di IAM.

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale principale può eseguire azioni su quali risorse e in quali condizioni.

Per impostazione predefinita, utenti e ruoli non dispongono di autorizzazioni. Per concedere agli utenti l'autorizzazione a eseguire azioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM. Successivamente l'amministratore può aggiungere le policy IAM ai ruoli e gli utenti possono assumere i ruoli.

Le policy IAM definiscono le autorizzazioni relative a un'azione, a prescindere dal metodo utilizzato per eseguirla. Ad esempio, supponiamo di disporre di una policy che consente l'azione iam:GetRole. Un utente con tale policy può ottenere informazioni sul ruolo dall' AWS Management Console AWS CLI, dall'o dall' AWS API.

Policy basate su identità

Le policy basate su identità sono documenti di policy di autorizzazione JSON che è possibile allegare a un'identità (utente, gruppo di utenti o ruoli IAM). Tali policy definiscono le azioni che utenti e ruoli possono eseguire, su quali risorse e in quali condizioni. Per informazioni su come creare una policy basata su identità, consulta Creazione di policy IAM nella Guida per l'utente di IAM.

Le policy basate su identità possono essere ulteriormente classificate come policy inline o policy gestite. Le policy inline sono integrate direttamente in un singolo utente, gruppo o ruolo. Le politiche gestite sono politiche autonome che puoi allegare a più utenti, gruppi e ruoli nel tuo Account AWS. Le politiche gestite includono politiche AWS gestite e politiche gestite dai clienti. Per informazioni su come scegliere tra una policy gestita o una policy inline, consulta Scelta fra policy gestite e policy inline nella Guida per l'utente di IAM.

Policy basate su risorse

Le policy basate su risorse sono documenti di policy JSON che è possibile collegare a una risorsa. Gli esempi più comuni di policy basate su risorse sono le policy di attendibilità dei ruoli IAM e le policy dei bucket Amazon S3. Nei servizi che supportano policy basate sulle risorse, gli amministratori dei servizi possono utilizzarle per controllare l'accesso a una risorsa specifica. Quando è collegata a una risorsa, una policy definisce le azioni che un principale può eseguire su tale risorsa e a quali condizioni. È necessario specificare un principale in una policy basata sulle risorse. I principali possono includere account, utenti, ruoli, utenti federati o. Servizi AWS

Le policy basate sulle risorse sono policy inline che si trovano in tale servizio. Non puoi utilizzare le policy AWS gestite di IAM in una policy basata sulle risorse.

Altri tipi di policy

AWS supporta tipi di policy aggiuntivi e meno comuni. Questi tipi di policy possono impostare il numero massimo di autorizzazioni concesse dai tipi di policy più comuni.

  • Limiti delle autorizzazioni: un limite delle autorizzazioni è una funzione avanzata nella quale si imposta il numero massimo di autorizzazioni che una policy basata su identità può concedere a un'entità IAM (utente o ruolo IAM). È possibile impostare un limite delle autorizzazioni per un'entità. Le autorizzazioni risultanti sono l'intersezione delle policy basate su identità dell'entità e i relativi limiti delle autorizzazioni. Le policy basate su risorse che specificano l'utente o il ruolo nel campo Principal sono condizionate dal limite delle autorizzazioni. Un rifiuto esplicito in una qualsiasi di queste policy sostituisce l'autorizzazione. Per ulteriori informazioni sui limiti delle autorizzazioni, consulta Limiti delle autorizzazioni per le entità IAM nella Guida per l'utente di IAM.

  • Politiche di controllo dei servizi (SCP): le SCP sono politiche JSON che specificano le autorizzazioni massime per un'organizzazione o un'unità organizzativa (OU) in. AWS Organizations AWS Organizations è un servizio per il raggruppamento e la gestione centralizzata di più Account AWS di proprietà dell'azienda. Se abiliti tutte le funzionalità in un'organizzazione, puoi applicare le policy di controllo dei servizi (SCP) a uno o tutti i tuoi account. L'SCP limita le autorizzazioni per le entità presenti negli account dei membri, inclusa ciascuna. Utente root dell'account AWS Per ulteriori informazioni su organizzazioni e policy SCP, consulta la pagina sulle Policy di controllo dei servizi nella Guida per l'utente di AWS Organizations .

  • Policy di sessione: le policy di sessione sono policy avanzate che vengono trasmesse come parametro quando si crea in modo programmatico una sessione temporanea per un ruolo o un utente federato. Le autorizzazioni della sessione risultante sono l'intersezione delle policy basate su identità del ruolo o dell'utente e le policy di sessione. Le autorizzazioni possono anche provenire da una policy basata su risorse. Un rifiuto esplicito in una qualsiasi di queste policy sostituisce l'autorizzazione. Per ulteriori informazioni, consulta Policy di sessione nella Guida per l'utente di IAM.

Gestisci il ruolo CodePipeline del servizio

Il ruolo CodePipeline di servizio è configurato con una o più politiche che controllano l'accesso alle AWS risorse utilizzate dalla pipeline. Potresti voler allegare più politiche a questo ruolo, modificare la politica associata al ruolo o configurare politiche per altri ruoli di servizio in AWS. Potrebbe inoltre essere necessario collegare una policy a un ruolo durante la configurazione dell'accesso tra più account alla pipeline.

Importante

Modificando una dichiarazione di policy o collegando un'altra policy al ruolo può impedire il funzionamento delle pipeline. Assicurati di comprendere le implicazioni prima di modificare CodePipeline in qualsiasi modo il ruolo di servizio. Assicurati di testare le pipeline dopo aver apportato eventuali modifiche al ruolo del servizio.

Nota

Nella console, i ruoli del servizio creati prima di settembre 2018 vengono creati con il nome oneClick_AWS-CodePipeline-Service_ID-Number.

I ruoli del servizio creati dopo settembre 2018 utilizzano il formato del nome del ruolo del servizio AWSCodePipelineServiceRole-Region-Pipeline_Name. Ad esempio, per una pipeline denominata MyFirstPipeline ineu-west-2, la console assegna un nome al ruolo e alla policyAWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline.

Rimozione delle autorizzazioni dal ruolo di servizio CodePipeline

Puoi modificare la dichiarazione del ruolo del servizio per rimuovere l'accesso alle risorse non utilizzate. Ad esempio, se nessuna delle tue pipeline include Elastic Beanstalk, puoi modificare l'informativa per rimuovere la sezione che concede l'accesso alle risorse Elastic Beanstalk.

Allo stesso modo, se nessuna delle tue pipeline include CodeDeploy, puoi modificare l'informativa per rimuovere la sezione che concede l'accesso alle risorse: CodeDeploy

{ "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:RegisterApplicationRevision" ], "Resource": "*", "Effect": "Allow" },

Aggiunta delle autorizzazioni dal ruolo di servizio CodePipeline

Prima di poterla utilizzare nelle pipeline, è necessario aggiornare la dichiarazione sulla politica relativa al ruolo di servizio con le autorizzazioni relative a una dichiarazione Servizio AWS non ancora inclusa nell'informativa sulla politica del ruolo di servizio predefinita.

Ciò è particolarmente importante se il ruolo di servizio che utilizzi per le tue pipeline è stato creato prima dell'aggiunta del supporto per un CodePipeline . Servizio AWS

La tabella seguente mostra quando è stato aggiunto il supporto per altri Servizi AWS.

Servizio AWS CodePipeline data di supporto
AWS CloudFormation StackSets azioni 30 dicembre 2020
CodeCommit formato di artefatto di output clone completo 11 novembre 2020
CodeBuild build in batch 30 luglio 2020
AWS AppConfig 22 giugno 2020
AWS Step Functions 27 maggio 2020
AWS CodeStar Connessioni 18 dicembre 2019
L'operazione CodeDeployToECS 27 novembre 2018
Amazon ECR 27 novembre 2018
Catalogo dei servizi 16 ottobre 2018
AWS Device Farm 19 luglio 2018
Amazon ECS 12 dicembre 2017 /Aggiornamento per l'attivazione dell'autorizzazione all'aggiunta di tag il 21 luglio 2017
CodeCommit 18 Aprile 2016
AWS OpsWorks 2 giugno 2016
AWS CloudFormation 3 Novembre 2016
AWS CodeBuild 1° dicembre 2016
Elastic Beanstalk Avvio iniziale del servizio

Per aggiungere le autorizzazioni per un servizio supportato, procedi nel seguente modo:

  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nella console IAM, nel riquadro di navigazione, scegli Ruoli, quindi scegli il tuo AWS-CodePipeline-Service ruolo dall'elenco dei ruoli.

  3. Nella scheda Autorizzazioni, in Politiche in linea, nella riga relativa alla politica del ruolo di servizio, scegli Modifica politica.

  4. Aggiungi le autorizzazioni richieste nella casella del documento Policy.

    Nota

    Quando crei policy IAM, segui i consigli di sicurezza standard che prevedono la concessione del privilegio minimo, ovvero la concessione solo delle autorizzazioni necessarie per eseguire un'attività. Alcune chiamate API supportano autorizzazioni basate su risorse e permettono la limitazione degli accessi. Ad esempio, in questo caso, per limitare le autorizzazioni quando si chiamano le operazioni DescribeTasks e ListTasks, puoi sostituire il carattere jolly (*) con un ARN della risorsa o con ARN della risorsa che contiene un carattere jolly (*). Per ulteriori informazioni sulla creazione di una policy che garantisca l'accesso con privilegi minimi, consulta. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

    Ad esempio, per ricevere CodeCommit assistenza, aggiungi quanto segue alla tua dichiarazione sulla politica:

    { "Effect": "Allow", "Action": [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:UploadArchive", "codecommit:GetUploadArchiveStatus", "codecommit:CancelUploadArchive" ], "Resource": "resource_ARN" },

    Per AWS OpsWorks ricevere assistenza, aggiungi quanto segue alla tua dichiarazione sulla politica:

    { "Effect": "Allow", "Action": [ "opsworks:CreateDeployment", "opsworks:DescribeApps", "opsworks:DescribeCommands", "opsworks:DescribeDeployments", "opsworks:DescribeInstances", "opsworks:DescribeStacks", "opsworks:UpdateApp", "opsworks:UpdateStack" ], "Resource": "resource_ARN" },

    Per AWS CloudFormation ricevere assistenza, aggiungi quanto segue alla tua dichiarazione sulla politica:

    { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "iam:PassRole" ], "Resource": "resource_ARN" },

    Tieni presente che l'cloudformation:DescribeStackEventsautorizzazione è facoltativa. Consente all' AWS CloudFormation azione di mostrare un messaggio di errore più dettagliato. Questa autorizzazione può essere revocata dal ruolo IAM se non desideri che i dettagli delle risorse vengano visualizzati nei messaggi di errore della pipeline. Per ulteriori informazioni, consulta AWS CloudFormation.

    Per ricevere CodeBuild assistenza, aggiungi quanto segue alla tua dichiarazione sulla politica:

    { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "resource_ARN" },
    Nota

    Il supporto per le build in batch è stato aggiunto in un secondo momento. Vedi il passaggio 11 per le autorizzazioni da aggiungere al ruolo di servizio per le build in batch.

    Per ricevere AWS Device Farm assistenza, aggiungi quanto segue alla tua dichiarazione politica:

    { "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "resource_ARN" },

    Per il supporto di Service Catalog, aggiungi quanto segue alla tua informativa sulla politica:

    { "Effect": "Allow", "Action": [ "servicecatalog:ListProvisioningArtifacts", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:DescribeProvisioningArtifact", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:UpdateProduct" ], "Resource": "resource_ARN" }, { "Effect": "Allow", "Action": [ "cloudformation:ValidateTemplate" ], "Resource": "resource_ARN" }
  5. Per il supporto di Amazon ECR, aggiungi quanto segue alla tua dichiarazione sulla politica:

    { "Effect": "Allow", "Action": [ "ecr:DescribeImages" ], "Resource": "resource_ARN" },
  6. Per Amazon ECS, le seguenti sono le autorizzazioni minime necessarie per creare pipeline con un'azione di distribuzione di Amazon ECS.

    { "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:UpdateService" ], "Resource": "resource_ARN" },

    Puoi scegliere di utilizzare l'autorizzazione all'etichettatura in Amazon ECS. Iscrivendoti, devi concedere le seguenti autorizzazioni:. ecs:TagResource Per ulteriori informazioni su come attivare e determinare se l'autorizzazione è richiesta e l'autorizzazione dei tag è applicata, consulta la cronologia dell'autorizzazione all'etichettatura nella Amazon Elastic Container Service Developer Guide.

    È inoltre necessario aggiungere le iam:PassRole autorizzazioni per utilizzare i ruoli IAM per le attività. Per ulteriori informazioni, consulta il ruolo IAM di esecuzione delle attività di Amazon ECS e IAM Roles for Tasks. Utilizza il seguente testo di policy.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }
  7. Per l'CodeDeployToECSazione (distribuzioni blu/verdi), le seguenti sono le autorizzazioni minime necessarie per creare pipeline con un'azione di distribuzione blu/verde CodeDeploy verso Amazon ECS.

    { "Effect": "Allow", "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetDeployment", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:GetDeploymentConfig", "ecs:RegisterTaskDefinition", "ecs:TagResource" ], "Resource": "resource_ARN" },

    Puoi scegliere di utilizzare l'autorizzazione all'etichettatura in Amazon ECS. Iscrivendoti, devi concedere le seguenti autorizzazioni:. ecs:TagResource Per ulteriori informazioni su come attivare e determinare se l'autorizzazione è richiesta e l'autorizzazione dei tag è applicata, consulta la cronologia dell'autorizzazione all'etichettatura nella Amazon Elastic Container Service Developer Guide.

    È inoltre necessario aggiungere le iam:PassRole autorizzazioni per utilizzare i ruoli IAM per le attività. Per ulteriori informazioni, consulta il ruolo IAM di esecuzione delle attività di Amazon ECS e IAM Roles for Tasks. Utilizza il seguente testo di policy.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }

    È inoltre possibile aggiungere ecs-tasks.amazonaws.com all'elenco dei servizi in base alla iam:PassedToService condizione, come mostrato in questo esempio.

    { "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "resource_ARN", "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "cloudformation.amazonaws.com", "elasticbeanstalk.amazonaws.com", "ec2.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } },
  8. Per AWS CodeStar le connessioni, è richiesta la seguente autorizzazione per creare pipeline con una fonte che utilizza una connessione, come Bitbucket Cloud.

    { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "resource_ARN" },

    Per ulteriori informazioni sulle autorizzazioni IAM per le connessioni, consulta Connections permissions reference.

  9. Per l'StepFunctionsazione, le seguenti sono le autorizzazioni minime necessarie per creare pipeline con un'azione di invoca Step Functions.

    { "Effect": "Allow", "Action": [ "states:DescribeStateMachine", "states:DescribeExecution", "states:StartExecution" ], "Resource": "resource_ARN" },
  10. Per l'AppConfigazione, le seguenti sono le autorizzazioni minime necessarie per creare pipeline con un'azione di invoca. AWS AppConfig

    { "Effect": "Allow", "Action": [ "appconfig:StartDeployment", "appconfig:GetDeployment", "appconfig:StopDeployment" ], "Resource": "resource_ARN" },
  11. Per il CodeBuild supporto per le build in batch, aggiungi quanto segue alla tua dichiarazione di politica:

    { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuildBatches", "codebuild:StartBuildBatch" ], "Resource": "resource_ARN" },
  12. Per AWS CloudFormation StackSets le azioni, sono richieste le seguenti autorizzazioni minime.

    • Per l'CloudFormationStackSetazione, aggiungi quanto segue alla tua dichiarazione politica:

      { "Effect": "Allow", "Action": [ "cloudformation:CreateStackSet", "cloudformation:UpdateStackSet", "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation", "cloudformation:DescribeStackSet", "cloudformation:ListStackInstances" ], "Resource": "resource_ARN" },
    • Per l'CloudFormationStackInstancesazione, aggiungi quanto segue alla tua dichiarazione politica:

      { "Effect": "Allow", "Action": [ "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation" ], "Resource": "resource_ARN" },
  13. Per CodeCommit supportare l'opzione di clonazione completa, aggiungi quanto segue alla tua dichiarazione politica:

    { "Effect": "Allow", "Action": [ "codecommit:GetRepository" ], "Resource": "resource_ARN" },
    Nota

    Per assicurarti che la tua CodeBuild azione possa utilizzare l'opzione full clone con una CodeCommit fonte, devi anche aggiungere l'codecommit:GitPullautorizzazione alla dichiarazione politica per il ruolo di CodeBuild servizio del tuo progetto.

  14. Per Elastic Beanstalk, le seguenti sono le autorizzazioni minime necessarie per creare pipeline con un'azione di distribuzione. ElasticBeanstalk

    { "Effect": "Allow", "Action": [ "elasticbeanstalk:*", "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "rds:*", "sqs:*", "ecs:*" ], "Resource": "resource_ARN" },
    Nota

    È necessario sostituire i caratteri jolly nella politica delle risorse con le risorse dell'account a cui si desidera limitare l'accesso. Per ulteriori informazioni sulla creazione di una politica che garantisca l'accesso con privilegi minimi, consulta. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

  15. Per una pipeline che desideri configurare per CloudWatch Logs, di seguito sono riportate le autorizzazioni minime che devi aggiungere al ruolo di servizio. CodePipeline

    { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:PutRetentionPolicy" ], "Resource": "resource_ARN" },
    Nota

    È necessario sostituire i caratteri jolly nella politica delle risorse con le risorse dell'account a cui si desidera limitare l'accesso. Per ulteriori informazioni sulla creazione di una politica che garantisca l'accesso con privilegi minimi, consulta. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

  16. Scegliere Review policy (Esamina policy) per accertarsi che la policy non contenga errori. Quando la politica è priva di errori, scegli Applica politica.