

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

# Sicurezza in AWS CodePipeline
<a name="security"></a>

La sicurezza del cloud AWS è la massima priorità. In qualità di AWS cliente, puoi beneficiare di data center e architetture di rete progettati per soddisfare i requisiti delle organizzazioni più sensibili alla sicurezza.

La sicurezza è una responsabilità condivisa tra te e te. AWS Il [modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) descrive questo aspetto come sicurezza *del* cloud e sicurezza *nel* cloud:
+ **Sicurezza del cloud**: AWS è responsabile della protezione dell'infrastruttura che gestisce AWS i servizi in Cloud AWS. AWS fornisce inoltre servizi che è possibile utilizzare in modo sicuro. I revisori esterni testano e verificano regolarmente l'efficacia della nostra sicurezza nell'ambito dei [AWS Programmi di AWS conformità dei Programmi di conformità](https://aws.amazon.com/compliance/programs/) dei di . Per ulteriori informazioni sui programmi di conformità applicabili AWS CodePipeline, consulta [AWS Servizi nell'ambito del programma di conformitàAWS](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Sicurezza nel cloud**: la tua responsabilità è determinata dal AWS servizio che utilizzi. Inoltre, sei responsabile anche di altri fattori, tra cui la riservatezza dei dati, i requisiti dell’azienda e le leggi e le normative applicabili. 

Questa documentazione ti aiuta a capire come applicare il modello di responsabilità condivisa durante l'utilizzo CodePipeline. I seguenti argomenti mostrano come eseguire la configurazione CodePipeline per soddisfare gli obiettivi di sicurezza e conformità. Imparerai anche a utilizzare altri AWS servizi che ti aiutano a monitorare e proteggere CodePipeline le tue risorse. 

**Topics**
+ [Protezione dei dati in AWS CodePipeline](data-protection.md)
+ [Gestione delle identità e degli accessi per AWS CodePipeline](security-iam.md)
+ [Registrazione e monitoraggio CodePipeline](incident-response.md)
+ [Convalida della conformità per AWS CodePipeline](compliance-validation.md)
+ [Resilienza in AWS CodePipeline](disaster-recovery-resiliency.md)
+ [Sicurezza dell'infrastruttura in AWS CodePipeline](infrastructure-security.md)
+ [Best practice di sicurezza](security-best-practices.md)

# Protezione dei dati in AWS CodePipeline
<a name="data-protection"></a>

Il [modello di responsabilità AWS condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) di si applica alla protezione dei dati in. Come descritto in questo modello, AWS è responsabile della protezione dell'infrastruttura globale che gestisce tutti i Cloud AWS. L’utente è responsabile del controllo dei contenuti ospitati su questa infrastruttura. L’utente è inoltre responsabile della configurazione della protezione e delle attività di gestione per i Servizi AWS utilizzati. Per maggiori informazioni sulla privacy dei dati, consulta le [Domande frequenti sulla privacy dei dati](https://aws.amazon.com/compliance/data-privacy-faq/). Per informazioni sulla protezione dei dati in Europa, consulta il post del blog relativo al [AWS Modello di responsabilità condivisa e GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) nel *AWS Blog sulla sicurezza*.

Ai fini della protezione dei dati, consigliamo di proteggere Account AWS le credenziali e configurare i singoli utenti con AWS IAM Identity Center or AWS Identity and Access Management (IAM). In tal modo, a ogni utente verranno assegnate solo le autorizzazioni necessarie per svolgere i suoi compiti. Suggeriamo, inoltre, di proteggere i dati nei seguenti modi:
+ Utilizza l’autenticazione a più fattori (MFA) con ogni account.
+  SSL/TLS Da utilizzare per comunicare con AWS le risorse. È richiesto TLS 1.2 ed è consigliato TLS 1.3.
+ Configura l'API e la registrazione delle attività degli utenti con AWS CloudTrail. Per informazioni sull'utilizzo dei CloudTrail percorsi per acquisire AWS le attività, consulta [Lavorare con i CloudTrail percorsi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) nella *Guida per l'AWS CloudTrail utente*.
+ Utilizza soluzioni di AWS crittografia, insieme a tutti i controlli di sicurezza predefiniti all'interno Servizi AWS.
+ Utilizza i servizi di sicurezza gestiti avanzati, come Amazon Macie, che aiutano a individuare e proteggere i dati sensibili archiviati in Amazon S3.
+ Se hai bisogno di moduli crittografici convalidati FIPS 140-3 per accedere AWS tramite un'interfaccia a riga di comando o un'API, usa un endpoint FIPS. Per ulteriori informazioni sugli endpoint FIPS disponibili, consulta il [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Ti consigliamo di non inserire mai informazioni riservate o sensibili, ad esempio gli indirizzi e-mail dei clienti, nei tag o nei campi di testo in formato libero, ad esempio nel campo **Nome**. Ciò include quando lavori o Servizi AWS utilizzi la console, l'API o. AWS CLI AWS SDKs I dati inseriti nei tag o nei campi di testo in formato libero utilizzati per i nomi possono essere utilizzati per i la fatturazione o i log di diagnostica. Quando si fornisce un URL a un server esterno, suggeriamo vivamente di non includere informazioni sulle credenziali nell’URL per convalidare la richiesta al server.

Le best practice di sicurezza seguenti gestiscono anche la protezione dei dati in CodePipeline:
+ [Configura la crittografia lato server per gli artefatti archiviati in Amazon S3 per CodePipeline](S3-artifact-encryption.md)
+ [Utilizzalo per tenere traccia delle password del database o delle chiavi Gestione dei segreti AWS API di terze parti](parameter-store-encryption.md)

## Riservatezza del traffico Internet
<a name="inter-network-traffic-privacy"></a>

 Amazon VPC è un software Servizio AWS che puoi utilizzare per avviare AWS risorse in una rete virtuale (*cloud privato virtuale*) da te definita. CodePipelinesupporta gli endpoint Amazon VPC powered by AWS PrivateLink, una AWS tecnologia che facilita la comunicazione privata tra l' Servizi AWS utilizzo di un'interfaccia di rete elastica e indirizzi IP privati. Ciò significa che puoi connetterti direttamente CodePipeline tramite un endpoint privato nel tuo VPC, mantenendo tutto il traffico all'interno del tuo VPC e della rete. AWS In passato, le applicazioni in esecuzione all'interno di un VPC avevano bisogno dell'accesso a Internet per connettersi ad CodePipeline. Con un VPC, hai il controllo delle impostazioni di rete, ad esempio:
+ Intervallo di indirizzi IP,
+ sottoreti,
+ Tabelle di routing e
+ Gateway di rete.

Per connettere il tuo VPC CodePipeline, definisci un'interfaccia VPC endpoint per. CodePipeline Questo tipo di endpoint ti consente di connettere il tuo Servizi AWS VPC a. L'endpoint fornisce una connettività affidabile e scalabile CodePipeline senza richiedere un gateway Internet, un'istanza NAT (Network Address Translation) o una connessione VPN. Per ulteriori informazioni sulla configurazione di un VPC, consulta la [Guida per l'utente di VPC](https://docs.aws.amazon.com/vpc/latest/userguide/).

## Crittografia dei dati a riposo
<a name="encryption-at-rest"></a>

I dati in ingresso vengono crittografati CodePipeline quando sono inattivi utilizzando. AWS KMS keys Gli artefatti del codice vengono archiviati in un bucket S3 di proprietà del cliente e crittografati con la chiave o con una chiave gestita dal Chiave gestita da AWS cliente. Per ulteriori informazioni, consulta [Configura la crittografia lato server per gli artefatti archiviati in Amazon S3 per CodePipeline](S3-artifact-encryption.md).

## Crittografia dei dati in transito
<a name="encryption-in-transit"></a>

Tutte le service-to-service comunicazioni sono crittografate in transito tramite SSL/TLS. 

## Gestione delle chiavi crittografiche
<a name="key-management"></a>

Se scegli l'opzione predefinita per la crittografia degli artefatti del codice, utilizza il. CodePipeline Chiave gestita da AWS Non è possibile modificarlo o eliminarlo. Chiave gestita da AWS Se utilizzi una chiave gestita dal cliente AWS KMS per crittografare o decrittografare gli artefatti nel bucket S3, puoi modificare o ruotare questa chiave gestita dal cliente secondo necessità.

**Importante**  
CodePipeline supporta solo chiavi KMS simmetriche. Non utilizzare una chiave KMS asimmetrica per crittografare i dati nel bucket S3.

**Topics**

# Configura la crittografia lato server per gli artefatti archiviati in Amazon S3 per CodePipeline
<a name="S3-artifact-encryption"></a>

Esistono due modi per configurare la crittografia lato server per gli artefatti di Amazon S3:
+ CodePipeline crea un bucket di artefatti S3 ed è predefinito Chiave gestita da AWS quando crei una pipeline utilizzando la procedura guidata Create Pipeline. Chiave gestita da AWS Viene crittografato insieme ai dati degli oggetti e gestito da. AWS
+ È possibile creare e gestire la propria chiave gestita dai clienti.

**Importante**  
CodePipeline supporta solo chiavi KMS simmetriche. Non utilizzare una chiave KMS asimmetrica per crittografare i dati nel bucket S3.

Se utilizzi la chiave S3 predefinita, non puoi modificarla o eliminarla. Chiave gestita da AWS Se stai utilizzando una chiave gestita dal cliente AWS KMS per crittografare o decrittografare gli artefatti nel bucket S3, puoi modificare o ruotare questa chiave gestita dal cliente secondo necessità.

Amazon S3 supporta le policy di bucket che puoi utilizzare per la crittografia lato server per tutti gli oggetti archiviati nel bucket. Ad esempio, la seguente policy di bucket rifiuta a chiunque l'autorizzazione al caricamento dell'oggetto (`s3:PutObject`) se la richiesta non include l'intestazione `x-amz-server-side-encryption` che richiede la codifica lato server con SSE-KMS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "SSEAndSSLPolicy",
    "Statement": [
        {
            "Sid": "DenyUnEncryptedObjectUploads",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::codepipeline-us-west-2-89050EXAMPLE/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-server-side-encryption": "aws:kms"
                }
            }
        },
        {
            "Sid": "DenyInsecureConnections",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::codepipeline-us-west-2-89050EXAMPLE/*",
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": "false"
                }
            }
        }
    ]
}
```

------

Per ulteriori informazioni sulla crittografia lato server e AWS KMS, consulta [Protezione dei dati utilizzando la crittografia lato server e Protezione dei dati utilizzando la crittografia lato server con chiavi KMS archiviate in ([SSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)). AWS Key Management Service 

[Per ulteriori informazioni in merito, consulta la Guida per gli sviluppatori. AWS KMSAWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/)

**Topics**
+ [Visualizza il tuo Chiave gestita da AWS](#S3-view-default-keys)
+ [Configura la crittografia lato server per i bucket S3 utilizzando o CloudFormation AWS CLI](#S3-rotate-customer-key)

## Visualizza il tuo Chiave gestita da AWS
<a name="S3-view-default-keys"></a>

Quando utilizzi la procedura guidata **Create Pipeline (Crea pipeline)** per creare la prima pipeline, un bucket S3 viene automaticamente creato nella stessa regione in cui è stata creata la pipeline. Il bucket viene utilizzato per archiviare gli artefatti pipeline. Quando una pipeline viene eseguita, gli artefatti vengono inseriti nel bucket S3 e recuperati dallo stesso. Per impostazione predefinita, CodePipeline utilizza la crittografia lato server con l' AWS KMS utilizzo di Chiave gestita da AWS per Amazon S3 (`aws/s3`la chiave). Questa Chiave gestita da AWS viene creata e archiviata nel tuo account. AWS Quando gli artefatti vengono recuperati dal bucket S3, CodePipeline utilizza lo stesso processo SSE-KMS per decrittografare l'artefatto.

**Per visualizzare informazioni sul tuo Chiave gestita da AWS**

1. Accedi a Console di gestione AWS e apri la AWS KMS console.

1. Se viene visualizzata una pagina di benvenuto, scegli **Inizia subito**.

1. Nel riquadro di navigazione del servizio, scegli **chiavi AWS gestite**. 

1. Scegli la regione per la tua pipeline. Ad esempio, se la pipeline è stata creata in`us-east-2`, assicurati che il filtro sia impostato su Stati Uniti orientali (Ohio).

   Per ulteriori informazioni sulle regioni e gli endpoint disponibili per CodePipeline, consulta [AWS CodePipeline endpoint](https://docs.aws.amazon.com/general/latest/gr/codepipeline.html) e quote.

1. **Nell'elenco, scegli la chiave con l'alias utilizzato per la tua pipeline (per impostazione predefinita, aws/s3).** Vengono visualizzate informazioni di base sulla chiave.



## Configura la crittografia lato server per i bucket S3 utilizzando o CloudFormation AWS CLI
<a name="S3-rotate-customer-key"></a>

Quando si utilizza CloudFormation o si AWS CLI crea una pipeline, è necessario configurare manualmente la crittografia lato server. Utilizza la policy bucket di esempio riportata sopra, quindi crea la tua chiave gestita dal cliente. Puoi anche usare le tue chiavi al posto di Chiave gestita da AWS. Alcuni motivi per scegliere la propria chiave includono:
+ Quando desideri ruotare la chiave in base a una pianificazione per soddisfare requisiti di business o di sicurezza dell'organizzazione.
+ Quando desideri creare una pipeline che utilizza le risorse associate a un altro account AWS . Ciò richiede l'uso di una chiave gestita dal cliente. Per ulteriori informazioni, consulta [Crea una pipeline CodePipeline che utilizzi le risorse di un altro account AWS](pipelines-create-cross-account.md). 

Le best practice di crittografia scoraggiano il riutilizzo esteso delle chiavi di crittografia. Come best practice, ruota la chiave regolarmente. Per creare nuovo materiale crittografico per le AWS KMS chiavi, è possibile creare una chiave gestita dal cliente e quindi modificare le applicazioni o gli alias per utilizzare la nuova chiave gestita dal cliente. In alternativa, puoi abilitare la rotazione automatica delle chiavi per una chiave gestita dal cliente esistente. 

Per ruotare la chiave gestita dal cliente, consulta [Rotazione delle](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) chiavi. 

**Importante**  
CodePipeline supporta solo chiavi KMS simmetriche. Non utilizzare una chiave KMS asimmetrica per crittografare i dati nel bucket S3.

# Utilizzalo per tenere traccia delle password del database o delle chiavi Gestione dei segreti AWS API di terze parti
<a name="parameter-store-encryption"></a>

Ti consigliamo di utilizzarle Gestione dei segreti AWS per ruotare, gestire e recuperare le credenziali del database, le chiavi API e altri **segreti** durante tutto il loro ciclo di vita. Secrets Manager consente di sostituire le credenziali codificate nel codice (comprese le password) con una chiamata API a Secrets Manager per recuperare il segreto a livello di codice. Per ulteriori informazioni, consulta [What Is AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida per l'utente di AWS Secrets Manager*.

Per le pipeline in cui si passano parametri segreti (come OAuth le credenziali) in un CloudFormation modello, è necessario includere nel modello riferimenti dinamici che accedono ai segreti archiviati in Secrets Manager. Per il modello di ID di riferimento e gli esempi, vedere [Secrets Manager Secrets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-secretsmanager) nella *Guida AWS CloudFormation per l'utente*. [Per un esempio che utilizza riferimenti dinamici in uno snippet di modello per GitHub webhook in una pipeline, vedi Webhook Resource Configuration.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#aws-resource-codepipeline-webhook--examples)



## Consulta anche
<a name="related-resources-managing-secrets"></a>

Le risorse correlate seguenti possono rivelarsi utili durante l'utilizzo della gestione dei segreti.
+ Secrets Manager può ruotare automaticamente le credenziali del database, ad esempio per la rotazione dei segreti di Amazon RDS. Per ulteriori informazioni, consulta [Rotating Your AWS Secrets Manager Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) nella *Guida per l'utente di AWS Secrets Manager*.
+ Per visualizzare le istruzioni per l'aggiunta di riferimenti dinamici di Secrets Manager ai modelli CloudFormation , consulta [https://aws.amazon.com/blogs/security/how-to-create-and-retrieve-secrets-managed-in-aws-secrets-manager-using-aws-cloudformation-template/](https://aws.amazon.com/blogs/security/how-to-create-and-retrieve-secrets-managed-in-aws-secrets-manager-using-aws-cloudformation-template/). 

# Gestione delle identità e degli accessi per AWS CodePipeline
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) è uno strumento 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.

**Topics**
+ [Destinatari](#security_iam_audience)
+ [Autenticazione con identità](#security_iam_authentication)
+ [Gestione dell’accesso tramite policy](#security_iam_access-manage)
+ [Come AWS CodePipeline funziona con IAM](security_iam_service-with-iam.md)
+ [AWS CodePipeline esempi di politiche basate sull'identità](security_iam_id-based-policy-examples.md)
+ [AWS CodePipeline esempi di politiche basate sulle risorse](security_iam_resource-based-policy-examples.md)
+ [Risoluzione dei problemi di identità e accesso AWS CodePipeline](security_iam_troubleshoot.md)
+ [riferimento per le autorizzazioni](permissions-reference.md)
+ [Gestisci il ruolo CodePipeline di servizio](how-to-custom-role.md)

## Destinatari
<a name="security_iam_audience"></a>

Il modo in cui utilizzi AWS Identity and Access Management (IAM) varia in base al tuo ruolo:
+ **Utente del servizio**: richiedi le autorizzazioni all’amministratore se non riesci ad accedere alle funzionalità (consulta [Risoluzione dei problemi di identità e accesso AWS CodePipeline](security_iam_troubleshoot.md))
+ **Amministratore del servizio**: determina l’accesso degli utenti e invia le richieste di autorizzazione (consulta [Come AWS CodePipeline funziona con IAM](security_iam_service-with-iam.md))
+ **Amministratore IAM**: scrivi policy per gestire l’accesso (consulta [AWS CodePipeline esempi di politiche basate sull'identità](security_iam_id-based-policy-examples.md))

## Autenticazione con identità
<a name="security_iam_authentication"></a>

L'autenticazione è il modo in cui accedi AWS utilizzando le tue credenziali di identità. Devi autenticarti come utente IAM o assumendo un ruolo IAM. Utente root dell'account AWS

Puoi accedere come identità federata utilizzando credenziali provenienti da una fonte di identità come AWS IAM Identity Center (IAM Identity Center), autenticazione Single Sign-On o credenziali. Google/Facebook Per ulteriori informazioni sull’accesso, consulta [Come accedere all’ Account AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) nella *Guida per l’utente di Accedi ad AWS *.

Per l'accesso programmatico, AWS fornisce un SDK e una CLI per firmare crittograficamente le richieste. Per ulteriori informazioni, consulta [AWS Signature Version 4 per le richieste API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) nella *Guida per l’utente di IAM*.

### Utente root dell'account AWS
<a name="security_iam_authentication-rootuser"></a>

 Quando si crea una Account AWS, si inizia con un'identità di accesso chiamata *utente Account AWS root* che ha accesso completo a tutte le risorse. Servizi AWS Consigliamo vivamente di non utilizzare l’utente root per le attività quotidiane. Per le attività che richiedono le credenziali come utente root, consulta [Attività che richiedono le credenziali dell’utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) nella *Guida per l’utente di IAM*. 

### Utenti e gruppi IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* è una identità che dispone di autorizzazioni specifiche per una singola persona o applicazione. Ti consigliamo di utilizzare credenziali temporanee invece di utenti IAM con credenziali a lungo termine. Per ulteriori informazioni, consulta [Richiedere agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) per l'*utente IAM*.

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) specifica una raccolta di utenti IAM e semplifica la gestione delle autorizzazioni per gestire gruppi di utenti di grandi dimensioni. Per ulteriori informazioni, consulta [Casi d’uso per utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) nella *Guida per l’utente di IAM*.

### Ruoli IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* è un’identità con autorizzazioni specifiche che fornisce credenziali temporanee. Puoi assumere un ruolo [passando da un ruolo utente a un ruolo IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o chiamando un'operazione AWS CLI o AWS API. Per ulteriori informazioni, consulta [Metodi per assumere un ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) nella *Guida per l’utente di IAM*.

I ruoli IAM sono utili per l’accesso degli utenti federati, le autorizzazioni utente IAM temporanee, l’accesso multi-account, l’accesso multi-servizio e le applicazioni in esecuzione su Amazon EC2. Per maggiori informazioni, consultare [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente IAM*.

## Gestione dell’accesso tramite policy
<a name="security_iam_access-manage"></a>

Puoi controllare l'accesso AWS creando policy e associandole a AWS identità o risorse. Una policy definisce le autorizzazioni quando è associata a un'identità o a una risorsa. AWS valuta queste politiche quando un preside effettua una richiesta. La maggior parte delle politiche viene archiviata AWS come documenti JSON. Per maggiori informazioni sui documenti delle policy JSON, consulta [Panoramica delle policy JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) nella *Guida per l’utente IAM*.

Utilizzando le policy, gli amministratori specificano chi ha accesso a cosa definendo quale **principale** può eseguire **azioni** su quali **risorse** e in quali **condizioni**.

Per impostazione predefinita, utenti e ruoli non dispongono di autorizzazioni. Un amministratore IAM crea le policy IAM e le aggiunge ai ruoli, che gli utenti possono quindi assumere. Le policy IAM definiscono le autorizzazioni indipendentemente dal metodo utilizzato per eseguirle.

### Policy basate sull’identità
<a name="security_iam_access-manage-id-based-policies"></a>

Le policy basate su identità sono documenti di policy di autorizzazione JSON che è possibile collegare a un’identità (utente, gruppo o ruolo). Tali policy controllano le operazioni autorizzate per l’identità, nonché le risorse e le condizioni in cui possono essere eseguite. Per informazioni su come creare una policy basata su identità, consultare [Definizione di autorizzazioni personalizzate IAM con policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l’utente IAM*.

Le policy basate su identità possono essere *policy in linea* (con embedding direttamente in una singola identità) o *policy gestite* (policy autonome collegate a più identità). Per informazioni su come scegliere tra una policy gestita o una policy inline, consulta [Scegliere tra policy gestite e policy in linea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) nella *Guida per l’utente di IAM*.

### Policy basate sulle risorse
<a name="security_iam_access-manage-resource-based-policies"></a>

Le policy basate su risorse sono documenti di policy JSON che è possibile collegare a una risorsa. Gli esempi includono le *policy di trust dei ruoli* IAM e le *policy dei bucket* di Amazon S3. Nei servizi che supportano policy basate sulle risorse, gli amministratori dei servizi possono utilizzarli per controllare l’accesso a una risorsa specifica. In una policy basata sulle risorse è obbligatorio [specificare un’entità principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

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

### Altri tipi di policy
<a name="security_iam_access-manage-other-policies"></a>

AWS supporta tipi di policy aggiuntivi che possono impostare le autorizzazioni massime concesse dai tipi di policy più comuni:
+ **Limiti delle autorizzazioni**: imposta il numero massimo di autorizzazioni che una policy basata su identità ha la possibilità di concedere a un’entità IAM. Per ulteriori informazioni, consulta [Limiti delle autorizzazioni per le entità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) nella *Guida per l’utente di IAM*.
+ **Politiche di controllo del servizio (SCPs)**: specificano le autorizzazioni massime per un'organizzazione o un'unità organizzativa in. AWS Organizations Per ulteriori informazioni, consultare [Policy di controllo dei servizi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) nella *Guida per l’utente di AWS Organizations *.
+ **Politiche di controllo delle risorse (RCPs)**: imposta le autorizzazioni massime disponibili per le risorse nei tuoi account. Per ulteriori informazioni, consulta [Politiche di controllo delle risorse (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) nella *Guida per l'AWS Organizations utente*.
+ **Policy di sessione**: policy avanzate passate come parametro quando si crea una sessione temporanea per un ruolo o un utente federato. Per maggiori informazioni, consultare [Policy di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) nella *Guida per l’utente IAM*.

# Come AWS CodePipeline funziona con IAM
<a name="security_iam_service-with-iam"></a>

Prima di utilizzare IAM per gestire l'accesso a CodePipeline, è necessario comprendere con quali funzionalità IAM è disponibile l'uso CodePipeline. Per avere una panoramica di alto livello su come CodePipeline e su altri Servizi AWS aspetti del funzionamento di IAM, consulta Servizi AWS la sezione dedicata alla [compatibilità con IAM nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *User Guide*.

**Topics**
+ [CodePipeline politiche basate sull'identità](#security_iam_service-with-iam-id-based-policies)
+ [CodePipeline politiche basate sulle risorse](#security_iam_service-with-iam-resource-based-policies)
+ [Autorizzazione basata su tag CodePipeline](#security_iam_service-with-iam-tags)
+ [CodePipeline Ruoli IAM](#security_iam_service-with-iam-roles)

## CodePipeline politiche basate sull'identità
<a name="security_iam_service-with-iam-id-based-policies"></a>

Con le policy basate su identità IAM, puoi specificare operazioni e risorse consentite o rifiutate, nonché le condizioni in base alle quali le operazioni sono consentite o rifiutate. CodePipeline supporta operazioni, risorse e chiavi di condizione specifiche. Per informazioni su tutti gli elementi utilizzati in una policy JSON, consulta [Documentazione di riferimento degli elementi delle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella *Guida per l'utente IAM*.

### Azioni
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

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

L’elemento `Action` di una policy JSON descrive le operazioni che è possibile utilizzare per consentire o negare l’accesso in una policy. Includere le operazioni in una policy per concedere le autorizzazioni di eseguire l’operazione associata.

Le azioni politiche CodePipeline utilizzano il seguente prefisso prima dell'azione:. `codepipeline:` 

Ad esempio, per concedere a qualcuno l'autorizzazione a visualizzare le pipeline esistenti nell'account, è possibile includere l'operazione `codepipeline:GetPipeline` nella rispettiva policy. Le dichiarazioni politiche devono includere un `NotAction` elemento `Action` or. CodePipeline definisce il proprio set di azioni che descrivono le attività che è possibile eseguire con questo servizio.

Per specificare più azioni in una sola istruzione, separa ciascuna di esse con una virgola come mostrato di seguito:

```
"Action": [
      "codepipeline:action1",
      "codepipeline:action2"
```

È possibile specificare più azioni tramite caratteri jolly (\$1). Ad esempio, per specificare tutte le azioni che iniziano con la parola `Get`, includi la seguente azione:

```
"Action": "codepipeline:Get*"
```



Per un elenco di CodePipeline azioni, consulta [Actions Defined by AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions) nella *IAM User Guide*.

### Resources
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

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

L’elemento JSON `Resource` della policy specifica l’oggetto o gli oggetti ai quali si applica l’operazione. Come best practice, specifica una risorsa utilizzando il suo [nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Per le azioni che non supportano le autorizzazioni a livello di risorsa, si utilizza un carattere jolly (\$1) per indicare che l’istruzione si applica a tutte le risorse.

```
"Resource": "*"
```



#### risorse e operazioni
<a name="ACP_ARN_Format"></a>

In , la risorsa principale è una pipeline. In una policy, utilizza un Amazon Resource Name (ARN) per identificare la risorsa cui si applica la policy. supporta altre risorse che possono essere utilizzate con la risorsa principale, ad esempio fasi, operazioni e operazioni personalizzate. e vi si può fare riferimento come risorse secondarie. A queste risorse e sottorisorse sono associati Amazon Resource Names (ARNs) univoci. Per ulteriori informazioni su ARNs, consulta [Amazon Resource Names (ARN) e Servizio AWS namespace](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in. *Riferimenti generali di Amazon Web Services* **Per associare l'ARN della pipeline alla pipeline, puoi trovare l'ARN della pipeline in Impostazioni nella console.** Per ulteriori informazioni, consulta [Visualizza l'ARN della pipeline e l'ARN del ruolo di servizio (console)](pipelines-settings-console.md).


| Tipo di risorsa | Formato ARN | 
| --- | --- | 
|  Pipeline  |  arn:aws:codepipeline::: *region* *account* *pipeline-name*  | 
| Stage |  arn:aws:codepipeline:: *region**account*:/*pipeline-name**stage-name*  | 
| Azione |  arn:aws:codepipeline::://*region**account**pipeline-name**stage-name**action-name*  | 
| Operazione personalizzata | arn:aws:codepipeline: ::actiontype:///regionaccountownercategoryproviderversion | 
|  Tutte le risorse   |  arn:aws:codepipeline: \$1  | 
|  Tutte le risorse di proprietà dell'account specificato nella regione specificata  |  arn:aws:codepipeline::: *region* \$1 *account*  | 

**Nota**  
La maggior parte dei servizi in AWS uso considera i due punti (:) o una barra (/) come lo stesso carattere in. ARNs Tuttavia, utilizza una corrispondenza esatta nei modelli di eventi e nelle regole. Assicurati di utilizzare i caratteri ARN corretti durante la creazione di modelli di eventi, in modo che corrispondano alla sintassi ARN nella pipeline che desideri associare.

In , sono presenti chiamate API che supportano autorizzazioni a livello di risorsa. Le autorizzazioni a livello di risorsa indicano se una chiamata API è in grado di specificare un ARN della risorsa o se la chiamata API può solo specificare tutte le risorse utilizzando il carattere jolly. Vedi [riferimento per le autorizzazioni](permissions-reference.md) per una descrizione dettagliata delle autorizzazioni a livello di risorsa e un elenco delle chiamate CodePipeline API che supportano le autorizzazioni a livello di risorsa.

Ad esempio, puoi indicare una pipeline (*myPipeline*) specifica nella tua dichiarazione utilizzando il relativo ARN come segue:

```
"Resource": "arn:aws:codepipeline:us-east-2:111222333444:myPipeline"
```

Puoi anche specificare tutte le pipeline che appartengono a un account specifico utilizzando il carattere jolly (\$1) come segue:

```
"Resource": "arn:aws:codepipeline:us-east-2:111222333444:*"
```

Per specificare tutte le risorse, o se un'azione API specifica non supporta ARNs, utilizzate il carattere jolly (\$1) nell'`Resource`elemento come segue:

```
"Resource": "*"
```

**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à. Se una chiamata API supporta ARNs, supporta le autorizzazioni a livello di risorsa e non è necessario utilizzare il carattere jolly (\$1).

Alcune chiamate API accettano più risorse (ad esempio,). `GetPipeline` Per specificare più risorse in una singola istruzione, separale ARNs con virgole, come segue:

```
"Resource": ["arn1", "arn2"]
```

 fornisce una serie di operazioni per utilizzare le risorse. Per un elenco di operazioni disponibili, consulta la sezione [riferimento per le autorizzazioni](permissions-reference.md).

### Chiavi di condizione
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

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

L’elemento `Condition` specifica quando le istruzioni vengono eseguite in base a criteri definiti. È possibile compilare espressioni condizionali che utilizzano [operatori di condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di [contesto delle condizioni AWS globali nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) per l'*utente IAM*.

CodePipeline definisce il proprio set di chiavi di condizione e supporta anche l'utilizzo di alcune chiavi di condizione globali. Per visualizzare tutte le chiavi di condizione AWS globali, consulta [AWS Global Condition Context Keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) nella *IAM User Guide*.



 Tutte le operazioni Amazon EC2 supportano le chiavi di condizione `aws:RequestedRegion` e `ec2:Region`. Per ulteriori informazioni, consultare [Esempio: limitazione dell'accesso a una regione specifica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region). 

Per visualizzare un elenco di chiavi di CodePipeline condizione, consulta [Condition Keys for AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-policy-keys) nella *IAM User Guide*. Per sapere con quali azioni e risorse puoi utilizzare una chiave di condizione, consulta [Azioni definite da AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions).

### Esempi
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Per visualizzare esempi di politiche CodePipeline basate sull'identità, vedere. [AWS CodePipeline esempi di politiche basate sull'identità](security_iam_id-based-policy-examples.md)

## CodePipeline politiche basate sulle risorse
<a name="security_iam_service-with-iam-resource-based-policies"></a>

CodePipeline non supporta politiche basate sulle risorse. Tuttavia, viene fornito un esempio di policy basata sulle risorse per il servizio S3 relativo a. CodePipeline 

### Esempi
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Per visualizzare esempi di politiche basate sulle risorse, CodePipeline consulta, [AWS CodePipeline esempi di politiche basate sulle risorse](security_iam_resource-based-policy-examples.md)

## Autorizzazione basata su tag CodePipeline
<a name="security_iam_service-with-iam-tags"></a>

È possibile allegare tag alle CodePipeline risorse o passare tag in una richiesta a CodePipeline. Per controllare l’accesso basato su tag, fornire informazioni sui tag nell’[elemento condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) di una policy utilizzando le chiavi di condizione `codepipeline:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`. Per ulteriori informazioni sul tagging delle risorse di CodePipeline , consulta [Applicazione di tag alle risorse](tag-resources.md).

Per visualizzare un esempio di policy basata su identità per limitare l'accesso a una risorsa in base ai tag di tale risorsa, consulta [Utilizzo dei tag per controllare l'accesso alle CodePipeline risorse](tag-based-access-control.md).

## CodePipeline Ruoli IAM
<a name="security_iam_service-with-iam-roles"></a>

Un [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) è un'entità nel tuo AWS account che dispone di autorizzazioni specifiche.

### Utilizzo di credenziali temporanee con CodePipeline
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

È possibile utilizzare credenziali temporanee per effettuare l'accesso con la federazione, assumere un ruolo IAM o un ruolo multi-account. È possibile ottenere credenziali di sicurezza temporanee chiamando operazioni AWS STS API come [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)o. [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) 

CodePipeline supporta l'uso di credenziali temporanee. 

### Ruoli di servizio
<a name="security_iam_service-with-iam-roles-service"></a>

CodePipeline consente a un servizio di assumere un [ruolo di servizio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) per conto dell'utente. Questo ruolo consente al servizio di accedere alle risorse in altri servizi per completare un'azione per conto dell'utente. I ruoli dei servizi sono visualizzati nell'account IAM e sono di proprietà dell'account. Ciò significa che un amministratore IAM può modificare le autorizzazioni per questo ruolo. Tuttavia, questo potrebbe pregiudicare la funzionalità del servizio.

CodePipeline supporta ruoli di servizio. 

# AWS CodePipeline esempi di politiche basate sull'identità
<a name="security_iam_id-based-policy-examples"></a>

Per impostazione predefinita, gli utenti e i ruoli IAM non dispongono dell'autorizzazione per creare o modificare risorse CodePipeline . Inoltre, non possono eseguire attività utilizzando l'API Console di gestione AWS AWS CLI, o. AWS Un amministratore IAM deve creare policy IAM che concedono a utenti e ruoli l'autorizzazione per eseguire operazioni API specifiche sulle risorse specificate di cui hanno bisogno. L'amministratore deve quindi allegare queste policy a utenti o IAM che richiedono tali autorizzazioni.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta [Creazione di policy nella scheda JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) nella *Guida per l'utente IAM*.

Per informazioni su come creare una pipeline che utilizzi le risorse di un altro account e per i relativi esempi di policy, consulta[Crea una pipeline CodePipeline che utilizzi le risorse di un altro account AWS](pipelines-create-cross-account.md).

**Topics**
+ [Best practice per le policy](security_iam_service-with-iam-policy-best-practices.md)
+ [Visualizzazione di risorse nella console](security-iam-resources-console.md)
+ [Consentire agli utenti di visualizzare le loro autorizzazioni](security_iam_id-based-policy-examples-view-own-permissions.md)
+ [Esempi di politiche basate sull'identità (IAM)](security-iam-id-policies-examples.md)
+ [Utilizzo dei tag per controllare l'accesso alle CodePipeline risorse](tag-based-access-control.md)
+ [Autorizzazioni necessarie per l'uso della console](security-iam-permissions-console.md)
+ [Autorizzazioni necessarie per visualizzare i log di calcolo nella console](security-iam-permissions-console-logs.md)
+ [AWS politiche gestite per AWS CodePipeline](managed-policies.md)
+ [Esempi di policy gestite dal cliente](#customer-managed-policies)

# Best practice per le policy
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare CodePipeline risorse nel tuo account. Queste operazioni possono comportare costi aggiuntivi per l’ Account AWS. Quando si creano o modificano policy basate sull’identità, seguire queste linee guida e raccomandazioni:
+ **Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni** *a utenti e carichi di lavoro, utilizza le politiche gestite che concedono le autorizzazioni per molti casi d'uso comuni.AWS * Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per maggiori informazioni, consulta [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o [Policy gestite da AWS per le funzioni dei processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) nella *Guida per l’utente di IAM*.
+ **Applicazione delle autorizzazioni con privilegio minimo** - Quando si impostano le autorizzazioni con le policy IAM, concedere solo le autorizzazioni richieste per eseguire un’attività. È possibile farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come *autorizzazioni con privilegio minimo*. Per maggiori informazioni sull’utilizzo di IAM per applicare le autorizzazioni, consulta [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l’utente di IAM*.
+ **Condizioni d’uso nelle policy IAM per limitare ulteriormente l’accesso** - Per limitare l’accesso ad azioni e risorse è possibile aggiungere una condizione alle policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio CloudFormation. Per maggiori informazioni, consultare la sezione [Elementi delle policy JSON di IAM: condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) nella *Guida per l’utente di IAM*.
+ **Utilizzo dello strumento di analisi degli accessi IAM per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali** - Lo strumento di analisi degli accessi IAM convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio (JSON) della policy IAM e alle best practice di IAM. Lo strumento di analisi degli accessi IAM offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per maggiori informazioni, consultare [Convalida delle policy per il Sistema di analisi degli accessi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) nella *Guida per l’utente di IAM*.
+ **Richiedi l'autenticazione a più fattori (MFA**): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungere le condizioni MFA alle policy. Per maggiori informazioni, consultare [Protezione dell’accesso API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) nella *Guida per l’utente di IAM*.

Per maggiori informazioni sulle best practice in IAM, consulta [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l’utente di IAM*.

# Visualizzazione di risorse nella console
<a name="security-iam-resources-console"></a>

La console richiede l'`ListRepositories`autorizzazione per visualizzare un elenco di repository per il tuo AWS account nella AWS regione in cui hai effettuato l'accesso. La console, inoltre, include a funzione **Go to resource (Vai alla risorsa)** per eseguire rapidamente una ricerca di risorse senza distinzione tra maiuscole e minuscole. Questa ricerca viene eseguita nel tuo AWS account nella AWS regione in cui hai effettuato l'accesso. Le seguenti risorse sono visualizzate per i seguenti servizi:
+ AWS CodeBuild: progetti di compilazione
+ AWS CodeCommit: repository
+ AWS CodeDeploy: applicazioni
+ AWS CodePipeline: pipeline

Per eseguire la ricerca nelle risorse di tutti i servizi, è necessario disporre delle autorizzazioni seguenti:
+ AWS CodeBuild: `ListProjects`
+ CodeCommit: `ListRepositories`
+ CodeDeploy: `ListApplications`
+ CodePipeline: `ListPipelines`

I risultati non vengono restituiti per le risorse di un servizio se non hai le autorizzazioni per quel servizio. Anche se hai le autorizzazioni per la visualizzazione delle risorse, alcune risorse non verranno restituite se c'è un esplicito `Deny` a visualizzare tali risorse.

# Consentire agli utenti di visualizzare le loro autorizzazioni
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono collegate alla relativa identità utente. Questa politica include le autorizzazioni per completare questa azione sulla console o utilizzando l'API o a livello di codice. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# Esempi di politiche basate sull'identità (IAM)
<a name="security-iam-id-policies-examples"></a>

Puoi collegare le policy alle identità IAM. Ad esempio, puoi eseguire le operazioni seguenti: 
+ **Allega una politica di autorizzazioni a un utente o a un gruppo nel tuo account**: per concedere a un utente l'autorizzazione a visualizzare le pipeline nella console, puoi allegare una politica di autorizzazioni a un utente o gruppo a cui appartiene l'utente.
+ **Collega una policy di autorizzazione a un ruolo (assegnazione di autorizzazioni tra account)**: per concedere autorizzazioni tra più account, è possibile collegare una policy di autorizzazione basata su identità a un ruolo IAM. Ad esempio, l'amministratore dell'Account A può creare un ruolo per concedere autorizzazioni su più account a un altro account (ad esempio, AWS Account B) oppure un ruolo come segue: Servizio AWS 

  1. L'amministratore dell'account A crea un ruolo IAM e attribuisce una policy di autorizzazione al ruolo che concede le autorizzazioni sulle risorse per l'account A.

  1. L'amministratore dell'account A attribuisce una policy di attendibilità al ruolo, identificando l'account B come il principale per tale ruolo. 

  1. L'amministratore dell'Account B può quindi delegare le autorizzazioni per assumere il ruolo a qualsiasi utente dell'Account B. In questo modo gli utenti dell'Account B possono creare o accedere alle risorse nell'Account A. Il responsabile della politica di fiducia può anche essere un Servizio AWS principale se si desidera concedere l' Servizio AWS autorizzazione per assumere il ruolo.

  Per ulteriori informazioni sull'uso di IAM per delegare le autorizzazioni, consulta [Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) nella *IAM User Guide* (Guida per l'utente di IAM).

Di seguito viene illustrato un esempio di politica delle autorizzazioni che concede le autorizzazioni per disabilitare e abilitare le transizioni tra tutte le fasi della pipeline denominata in: `MyFirstPipeline` `us-west-2 region`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codepipeline:EnableStageTransition",
        "codepipeline:DisableStageTransition"
      ],
      "Resource" : [
        "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/*"
      ]
    }
  ]
}
```

------

L'esempio seguente mostra una politica nell'account 111222333444 che consente agli utenti di visualizzare, ma non modificare, la pipeline denominata nella console. `MyFirstPipeline` Questa policy è basata sulla policy gestita `AWSCodePipeline_ReadOnlyAccess`, ma poiché è relativa alla pipeline `MyFirstPipeline`, non può utilizzare direttamente la policy gestita. Se non desideri limitare la policy a una pipeline specifica, valuta se utilizzare una delle policy gestite create e mantenute da . Per ulteriori informazioni, consulta la sezione relativa all'[utilizzo di policy gestite](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html). È necessario collegare questa policy a un ruolo IAM creato per l'accesso, ad esempio un ruolo denominato: `CrossAccountPipelineViewers`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "codepipeline:GetPipeline",
        "codepipeline:GetPipelineState",
        "codepipeline:GetPipelineExecution",
        "codepipeline:ListPipelineExecutions",
        "codepipeline:ListActionExecutions",
        "codepipeline:ListActionTypes",
        "codepipeline:ListPipelines",
        "codepipeline:ListTagsForResource",
        "iam:ListRoles",
        "s3:ListAllMyBuckets",
        "codecommit:ListRepositories",
        "codedeploy:ListApplications",
        "lambda:ListFunctions",
        "codestar-notifications:ListNotificationRules",
        "codestar-notifications:ListEventTypes",
        "codestar-notifications:ListTargets"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"
    },
    {
      "Action": [
        "codepipeline:GetPipeline",
        "codepipeline:GetPipelineState",
        "codepipeline:GetPipelineExecution",
        "codepipeline:ListPipelineExecutions",
        "codepipeline:ListActionExecutions",
        "codepipeline:ListActionTypes",
        "codepipeline:ListPipelines",
        "codepipeline:ListTagsForResource",
        "iam:ListRoles",
        "s3:GetBucketPolicy",
        "s3:GetObject",
        "s3:ListBucket",
        "codecommit:ListBranches",
        "codedeploy:GetApplication",
        "codedeploy:GetDeploymentGroup",
        "codedeploy:ListDeploymentGroups",
        "elasticbeanstalk:DescribeApplications",
        "elasticbeanstalk:DescribeEnvironments",
        "lambda:GetFunctionConfiguration",
        "opsworks:DescribeApps",
        "opsworks:DescribeLayers",
        "opsworks:DescribeStacks"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Sid": "CodeStarNotificationsReadOnlyAccess",
      "Effect": "Allow",
      "Action": [
        "codestar-notifications:DescribeNotificationRule"
      ],
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "codestar-notifications:NotificationsForResource": "arn:aws:iam::*:role/Service*"
        }
      }
    }
  ]
}
```

------

Dopo aver creato questa policy, crea il ruolo IAM nell'account 111222333444 e collega la policy a quel ruolo. Nelle relazioni di fiducia del ruolo, devi aggiungere l' AWS account che assumerà questo ruolo. L'esempio seguente mostra una politica che consente agli utenti dell'*111111111111* AWS account di assumere i ruoli definiti nell'account 111222333444:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111111111111:root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

L'esempio seguente mostra una politica creata nell'*111111111111* AWS account che consente agli utenti di assumere il ruolo denominato *CrossAccountPipelineViewers* nell'account 111222333444:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::111222333444:role/CrossAccountPipelineViewers"
        }
    ]
}
```

------

Puoi creare policy IAM per limitare le chiamate e le risorse a cui gli utenti del tuo account hanno accesso e quindi collegare tali policy al tuo utente amministrativo. Per ulteriori informazioni su come creare ruoli IAM e per scoprire esempi di istruzioni sulle policy IAM, consulta[Esempi di policy gestite dal cliente](security_iam_id-based-policy-examples.md#customer-managed-policies). 

# Utilizzo dei tag per controllare l'accesso alle CodePipeline risorse
<a name="tag-based-access-control"></a>

Le condizioni nelle dichiarazioni delle politiche IAM fanno parte della sintassi utilizzata per specificare le autorizzazioni per le risorse richieste dalle CodePipeline azioni. L'utilizzo di tag nelle condizioni è un modo per controllare l'accesso alle risorse e alle richieste. Per informazioni sull'etichettatura delle CodePipeline risorse, consulta. [Applicazione di tag alle risorse](tag-resources.md) In questo argomento viene illustrato il controllo degli accessi basato su tag.

Durante la progettazione di policy IAM, potrebbe essere necessario impostare autorizzazioni granulari concedendo l'accesso a risorse specifiche. Poiché il numero di risorse che puoi gestire cresce, questa operazione diventa più difficile. Il tagging delle risorse e l'utilizzo di tag in condizioni di dichiarazione di policy possono semplificare questa attività. Puoi concedere l'accesso in blocco a qualsiasi risorsa con un determinato tag. Quindi applicare ripetutamente questo tag a risorse pertinenti, durante la creazione o in seguito.

I tag possono essere collegati alla risorsa o trasferiti nella richiesta verso servizi che supportano il tagging. In CodePipeline, le risorse possono avere tag e alcune azioni possono includere tag. Quando si crea una policy IAM, è possibile utilizzare le chiavi di condizione di tag per controllare:
+ Quali utenti possono eseguire operazioni su una risorsa della pipeline, in base ai tag di cui la risorsa dispone già.
+ Quali tag possono essere passati in una richiesta di operazione.
+ Se delle chiavi di tag specifiche possono essere utilizzate in una richiesta.

Gli operatori di condizioni stringa consentono di creare elementi `Condition` che limitano l'accesso in base al confronto con una chiave con un valore di stringa. È possibile aggiungere `IfExists` alla fine di qualsiasi condizione il nome dell'operatore tranne la condizione Null. Questa aggiunta ha lo scopo di dichiarare che "se la chiave di policy è presente nel contesto della richiesta, la chiave deve essere elaborata come specificato nella policy". Se la chiave non è presente, l'elemento della condizione viene valutato come "true". Ad esempio, è possibile utilizzare `StringEqualsIfExists` per limitare per condizione chiavi che potrebbero non essere presenti su altri tipi di risorse. 

Per la sintassi e la semantica complete delle chiavi di condizione dei tag, vedi [Controllo dell'accesso tramite](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) tag. Per ulteriori informazioni sulle chiavi di condizione, consulta le seguenti risorse. Gli esempi di CodePipeline policy contenuti in questa sezione si allineano alle seguenti informazioni sulle chiavi di condizione e le ampliano con esempi di sfumature, CodePipeline come l'annidamento delle risorse.
+ [Operatori di condizione stringa](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)
+ [Servizi AWS che funzionano con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
+ [Sintassi delle SCP](https://docs.aws.amazon.com/IAM/latest/UserGuide/orgs_manage_policies_scps_syntax.html)
+ [Elementi della policy JSON IAM: Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)
+ [aws: RequestTag /tag-key](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag)
+ [Chiavi di condizione per CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-policy-keys)

I seguenti esempi mostrano come specificare le condizioni dei tag nelle policy per gli utenti CodePipeline .

**Example 1: Limitare le operazioni in base ai tag nella richiesta**  
La politica degli utenti `AWSCodePipeline_FullAccess` gestiti offre agli utenti il permesso illimitato di eseguire qualsiasi CodePipeline azione su qualsiasi risorsa.  
La seguente politica limita questo potere e nega agli utenti non autorizzati l'autorizzazione a creare pipeline in cui nella richiesta sono elencati tag specifici. A tale scopo, nega l'operazione `CreatePipeline` se nella richiesta è specificato un tag denominato `Project` con uno dei valori `ProjectA` o `ProjectB`. La chiave di condizione `aws:RequestTag` viene utilizzata per controllare quali tag possono essere passati in una richiesta IAM.   
Nell'esempio seguente, l'intento della policy è negare agli utenti non autorizzati l'autorizzazione a creare una pipeline con i valori dei tag specificati. Tuttavia, la creazione di una pipeline richiede l'accesso a risorse oltre alla pipeline stessa (ad esempio, azioni e fasi della pipeline). Poiché il criterio `'Resource'` specificato è`'*'`, il criterio viene valutato rispetto a ogni risorsa che dispone di un ARN e viene creata durante la creazione della pipeline. Queste risorse aggiuntive non dispongono della chiave tag condition, quindi il `StringEquals` controllo ha esito negativo e all'utente non viene concessa la possibilità di creare alcuna pipeline. Per risolvere questo problema, utilizzare l'operatore di condizione `StringEqualsIfExists`. In questo modo, il test viene effettuato solo se la chiave di condizione esiste.   
Potresti leggere quanto segue: «Se la risorsa da controllare ha una chiave di `"RequestTag/Project"` condizione del tag, consenti l'azione solo se il valore della chiave inizia con`projectA`. Se la risorsa verificata non include quella chiave di condizione, non preoccuparti".   
Inoltre, la politica impedisce a questi utenti non autorizzati di manomettere le risorse utilizzando la chiave di `aws:TagKeys` condizione per impedire che le azioni di modifica dei tag includano gli stessi valori dei tag. L'amministratore di un cliente deve collegare questa policy IAM agli utenti amministrativi non autorizzati, oltre alla policy per gli utenti gestiti.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codepipeline:CreatePipeline",
        "codepipeline:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEqualsIfExists": {
          "aws:RequestTag/Project": ["ProjectA", "ProjectB"]
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "codepipeline:UntagResource"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

**Example 2: Limita le azioni di etichettatura in base ai tag delle risorse**  
La politica degli utenti `AWSCodePipeline_FullAccess` gestiti offre agli utenti autorizzazioni illimitate per eseguire qualsiasi CodePipeline azione su qualsiasi risorsa.  
La policy seguente limita questa capacità e nega agli utenti non autorizzati l'autorizzazione a eseguire operazioni su pipeline specifiche di progetto. A tale scopo, rifiuta alcune operazioni se la risorsa ha un tag denominato `Project` con uno dei valori `ProjectA` o `ProjectB`. La chiave di condizione `aws:ResourceTag` viene utilizzata per controllare l'accesso alle risorse in base ai tag su tali risorse. L'amministratore di un cliente deve collegare questa policy IAM a utenti IAM non autorizzati oltre alla policy gestita dall'utente.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codepipeline:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Project": ["ProjectA", "ProjectB"]
        }
      }
    }
  ]
}
```

**Example 3: Consentire operazioni in base ai tag nella richiesta**  
La policy seguente concede agli utenti l'autorizzazione per creare pipeline di sviluppo CodePipeline.  
A questo scopo, consente le operazioni `CreatePipeline`e `TagResource` se la richiesta specifica un tag denominato `Project` con il valore `ProjectA`. In altre parole, l'unica chiave di tag che può essere specificata è`Project`, e il suo valore deve essere`ProjectA`.  
La chiave `aws:RequestTag` condition viene utilizzata per controllare quali tag possono essere passati in una richiesta IAM. La condizione `aws:TagKeys` garantisce che la chiave tag rileva la distinzione tra maiuscole e minuscole. Questa policy è utile per gli utenti o i ruoli a cui non è associata la policy per gli utenti `AWSCodePipeline_FullAccess` gestiti. La policy gestita offre agli utenti autorizzazioni illimitate per eseguire qualsiasi CodePipeline azione su qualsiasi risorsa.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codepipeline:CreatePipeline",
        "codepipeline:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/Project": "ProjectA"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

**Example 4: Limita le azioni di rimozione dei tag in base ai tag delle risorse**  
La politica degli utenti `AWSCodePipeline_FullAccess` gestiti offre agli utenti autorizzazioni illimitate per eseguire qualsiasi CodePipeline azione su qualsiasi risorsa.  
La policy seguente limita questa capacità e nega agli utenti non autorizzati l'autorizzazione a eseguire operazioni su pipeline specifiche di progetto. A tale scopo, rifiuta alcune operazioni se la risorsa ha un tag denominato `Project` con uno dei valori `ProjectA` o `ProjectB`.   
Inoltre, la politica impedisce a questi utenti non autorizzati di manomettere le risorse utilizzando la chiave di `aws:TagKeys` condizione per impedire che le azioni di modifica dei tag rimuovano completamente il tag. `Project` L'amministratore di un cliente deve collegare questa policy IAM a utenti o ruoli non autorizzati, oltre alla policy per gli utenti gestiti.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codepipeline:UntagResource"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

# Autorizzazioni necessarie per l'uso della console
<a name="security-iam-permissions-console"></a>

Per utilizzare nella console devi avere un set minimo di autorizzazioni dai seguenti servizi:
+ AWS Identity and Access Management
+ Amazon Simple Storage Service

Queste autorizzazioni ti consentono di descrivere altre AWS risorse per il tuo AWS account.

A seconda degli altri servizi incorporati nelle pipeline, potrebbero essere necessarie autorizzazioni da uno o più dei seguenti:
+ AWS CodeCommit
+ AWS CodeBuild
+ CloudFormation
+ AWS CodeDeploy
+ AWS Elastic Beanstalk
+ AWS Lambda
+ AWS OpsWorks

Se decidi di creare una policy IAM più restrittiva delle autorizzazioni minime richieste, la console non funzionerà come previsto per gli utenti con tale policy IAM. Per garantire che gli utenti possano continuare a usare la console, collega anche la policy gestita `AWSCodePipeline_ReadOnlyAccess` all'utente, come descritto in [AWS politiche gestite per AWS CodePipeline](managed-policies.md).

Non è necessario consentire autorizzazioni minime per la console agli utenti che effettuano chiamate all' AWS CLI o all'API.

# Autorizzazioni necessarie per visualizzare i log di calcolo nella console
<a name="security-iam-permissions-console-logs"></a>

Per visualizzare i log nell'azione Comandi sulla CodePipeline console, il ruolo della console deve disporre delle autorizzazioni. Per visualizzare i log nella console, aggiungi le `logs:GetLogEvents` autorizzazioni al ruolo della console.

Nell'informativa sulla politica relativa al ruolo della console, riduci le autorizzazioni al livello della pipeline, come illustrato nell'esempio seguente.

```
{
    "Effect": "Allow",
    "Action": [
        "Action": "logs:GetLogEvents"
    ],
    "Resource": "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*"
}
```

# AWS politiche gestite per AWS CodePipeline
<a name="managed-policies"></a>





Una politica AWS gestita è una politica autonoma creata e amministrata da AWS. AWS le politiche gestite sono progettate per fornire autorizzazioni per molti casi d'uso comuni, in modo da poter iniziare ad assegnare autorizzazioni a utenti, gruppi e ruoli.

Tieni presente che le policy AWS gestite potrebbero non concedere le autorizzazioni con il privilegio minimo per i tuoi casi d'uso specifici, poiché sono disponibili per tutti i clienti. AWS Si consiglia pertanto di ridurre ulteriormente le autorizzazioni definendo [policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) specifiche per i propri casi d’uso.

Non è possibile modificare le autorizzazioni definite nelle politiche gestite. AWS Se AWS aggiorna le autorizzazioni definite in una politica AWS gestita, l'aggiornamento ha effetto su tutte le identità principali (utenti, gruppi e ruoli) a cui è associata la politica. AWS è più probabile che aggiorni una policy AWS gestita quando ne Servizio AWS viene lanciata una nuova o quando diventano disponibili nuove operazioni API per i servizi esistenti.

Per ulteriori informazioni, consultare [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) nella *Guida per l’utente di IAM*.

**Importante**  
Le policy `AWSCodePipelineFullAccess` gestite da AWS `AWSCodePipelineReadOnlyAccess` sono state sostituite. Usa le `AWSCodePipeline_ReadOnlyAccess` politiche `AWSCodePipeline_FullAccess` e.













## AWS politica gestita: `AWSCodePipeline_FullAccess`
<a name="security-iam-awsmanpol-AWSCodePipeline_FullAccess"></a>





Questa è una politica che garantisce l'accesso completo a CodePipeline. Per visualizzare il documento sulla policy JSON nella console IAM, consulta. [AWSCodePipeline\$1FullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSCodePipeline_FullAccess)



**Dettagli delle autorizzazioni**

Questa policy include le seguenti autorizzazioni:




+ `codepipeline`— Concede le autorizzazioni a. CodePipeline
+ `chatbot`— Concede le autorizzazioni per consentire ai responsabili di gestire le risorse in Amazon Q Developer nelle applicazioni di chat.
+ `cloudformation`— Concede le autorizzazioni per consentire ai responsabili di gestire gli stack di risorse in. CloudFormation
+ `cloudtrail`— Concede le autorizzazioni per consentire ai responsabili di gestire le risorse di registrazione. CloudTrail
+ `codebuild`— Concede le autorizzazioni per consentire ai mandanti di accedere alle risorse di compilazione in. CodeBuild
+ `codecommit`— Concede le autorizzazioni per consentire ai responsabili di accedere alle risorse di origine in. CodeCommit
+ `codedeploy`— Concede le autorizzazioni per consentire ai responsabili di accedere alle risorse di distribuzione in. CodeDeploy
+ `codestar-notifications`— Concede le autorizzazioni per consentire ai responsabili di accedere alle risorse nelle notifiche. AWS CodeStar 
+ `ec2`— Concede le autorizzazioni per consentire le distribuzioni per gestire il bilanciamento elastico del carico in CodeCatalyst Amazon EC2.
+ `ecr`— Concede le autorizzazioni per consentire l'accesso alle risorse in Amazon ECR.
+ `elasticbeanstalk`— Concede le autorizzazioni per consentire ai mandanti di accedere alle risorse in Elastic Beanstalk.
+ `iam`— Concede le autorizzazioni per consentire ai dirigenti di gestire ruoli e policy in IAM.
+ `lambda`— Concede le autorizzazioni per consentire ai responsabili di gestire le risorse in Lambda.
+ `events`— Concede le autorizzazioni per consentire ai responsabili di gestire le risorse negli Eventi. CloudWatch 
+ `opsworks`— Concede le autorizzazioni per consentire ai responsabili di gestire le risorse in. AWS OpsWorks
+ `s3`— Concede le autorizzazioni per consentire ai committenti di gestire le risorse in Amazon S3.
+ `sns`— Concede le autorizzazioni per consentire ai mandanti di gestire le risorse di notifica in Amazon SNS.
+ `states`— Concede le autorizzazioni per consentire ai mandanti di visualizzare le macchine a stati in. AWS Step Functions Una macchina a stati è costituita da un insieme di stati che gestiscono le attività e le transizioni tra gli stati.

Per la politica, vedere [AWSCodePipeline\$1FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodePipeline_FullAccess.html). 

## AWS politica gestita: `AWSCodePipeline_ReadOnlyAccess`
<a name="security-iam-awsmanpol-AWSCodePipeline_ReadOnlyAccess"></a>





Questa è una politica che garantisce l'accesso in sola lettura a. CodePipeline Per visualizzare il documento sulla policy JSON nella console IAM, consulta. [AWSCodePipeline\$1ReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSCodePipeline_ReadOnlyAccess)



**Dettagli delle autorizzazioni**

Questa policy include le seguenti autorizzazioni:




+ `codepipeline`— Concede le autorizzazioni alle azioni in. CodePipeline
+ `codestar-notifications`— Concede le autorizzazioni per consentire ai mandanti di accedere alle risorse nelle notifiche. AWS CodeStar 
+ `s3`— Concede le autorizzazioni per consentire ai committenti di gestire le risorse in Amazon S3.
+ `sns`— Concede le autorizzazioni per consentire ai mandanti di gestire le risorse di notifica in Amazon SNS.

Per la politica, consulta. [AWSCodePipeline\$1ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodePipeline_ReadOnlyAccess.html)



## AWS politica gestita: `AWSCodePipelineApproverAccess`
<a name="security-iam-awsmanpol-AWSCodePipeline_Approver"></a>





Si tratta di una politica che concede l'autorizzazione ad approvare o rifiutare un'azione di approvazione manuale. Per visualizzare il documento sulla policy JSON nella console IAM, consulta. [AWSCodePipelineApproverAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSCodePipelineApproverAccess)



**Dettagli delle autorizzazioni**

Questa policy include le seguenti autorizzazioni:




+ `codepipeline`— Concede le autorizzazioni alle azioni in. CodePipeline

Per la politica, vedere. [AWSCodePipelineApproverAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodePipelineApproverAccess.html)

## AWS politica gestita: `AWSCodePipelineCustomActionAccess`
<a name="security-iam-awsmanpol-AWSCodePipelineCustomActionAccess"></a>





Questa è una politica che concede l'autorizzazione a creare azioni personalizzate CodePipeline o integrare le risorse Jenkins per azioni di compilazione o test. Per visualizzare il documento relativo alla policy JSON nella console IAM, consulta. [AWSCodePipelineCustomActionAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSCodePipelineCustomActionAccess)



**Dettagli delle autorizzazioni**

Questa policy include le seguenti autorizzazioni:




+ `codepipeline`— Concede le autorizzazioni alle azioni in. CodePipeline

Per la politica, vedere. [AWSCodePipelineCustomActionAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodePipelineCustomActionAccess.html)

## CodePipeline politiche e notifiche gestite
<a name="notifications-permissions"></a>

CodePipeline supporta le notifiche, che possono notificare agli utenti importanti modifiche alle pipeline. Le politiche gestite CodePipeline includono dichiarazioni politiche per la funzionalità di notifica. Per ulteriori informazioni, vedere [Cosa sono le notifiche?](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/welcome.html).

### Autorizzazioni correlate alle notifiche nelle policy gestite di accesso completo
<a name="notifications-fullaccess"></a>

Questa politica gestita concede le CodePipeline autorizzazioni per i servizi correlati e CodeCommit CodeBuild CodeDeploy AWS CodeStar le notifiche. La policy concede anche le autorizzazioni necessarie per lavorare con altri servizi che si integrano con le tue pipeline, come Amazon S3, Elastic Beanstalk, Amazon EC2 e. CloudTrail CloudFormation Gli utenti a cui viene applicata questa policy gestita possono anche creare e gestire argomenti Amazon SNS per le notifiche, iscrivere e annullare l'iscrizione degli utenti agli argomenti, elencare argomenti da scegliere come obiettivi per le regole di notifica ed elencare Amazon Q Developer nei client di applicazioni di chat configurati per Slack.

Le policy gestite `AWSCodePipeline_FullAccess` includono le seguenti dichiarazioni per consentire l'accesso completo alle notifiche. 

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsSNSTopicCreateAccess",
        "Effect": "Allow",
        "Action": [
            "sns:CreateTopic",
            "sns:SetTopicAttributes"
        ],
        "Resource": "arn:aws:sns:*:*:codestar-notifications*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

### Autorizzazioni correlate alle notifiche nelle policy gestite di sola lettura
<a name="notifications-readonly"></a>

Le policy gestite `AWSCodePipeline_ReadOnlyAccess` includono le seguenti dichiarazioni per consentire l'accesso in sola lettura alle notifiche. Gli utenti con questa policy applicata possono visualizzare le notifiche per le risorse, ma non possono crearle, gestirle o sottoscriverle. 

```
   {
        "Sid": "CodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:DescribeNotificationRule"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "Resource": "*"
    }
```

Per ulteriori informazioni su IAM e le notifiche, consulta [Identity and Access Management for AWS CodeStar Notifications](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security-iam.html).

## AWS CodePipeline aggiornamenti alle politiche AWS gestite
<a name="security-iam-awsmanpol-updates"></a>



Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite CodePipeline da quando questo servizio ha iniziato a tenere traccia di queste modifiche. Per gli avvisi automatici sulle modifiche apportate a questa pagina, sottoscrivi il feed RSS nella CodePipeline pagina della cronologia dei documenti [https://docs.aws.amazon.com/codepipeline/latest/userguide/history.html](https://docs.aws.amazon.com/codepipeline/latest/userguide/history.html).




| Modifica | Descrizione | Data | 
| --- | --- | --- | 
| [AWSCodePipeline\$1FullAccess](#security-iam-awsmanpol-AWSCodePipeline_FullAccess)— Aggiornamenti alla politica esistente | CodePipeline ha aggiunto un'autorizzazione a questa politica per il supporto ListStacks in CloudFormation. | 15 marzo 2024 | 
| [AWSCodePipeline\$1FullAccess](#security-iam-awsmanpol-AWSCodePipeline_FullAccess)— Aggiornamenti alla politica esistente | Questa politica è stata aggiornata per aggiungere autorizzazioni per Amazon Q Developer nelle applicazioni di chat. Per ulteriori informazioni, consulta [CodePipeline politiche e notifiche gestite](#notifications-permissions). | 21 giugno 2023 | 
|  [AWSCodePipeline\$1FullAccess](#security-iam-awsmanpol-AWSCodePipeline_FullAccess)e politiche [AWSCodePipeline\$1ReadOnlyAccess](#security-iam-awsmanpol-AWSCodePipeline_ReadOnlyAccess)gestite: aggiornamenti alla politica esistente  |  CodePipeline ha aggiunto un'autorizzazione a queste politiche per supportare un tipo di notifica aggiuntivo utilizzando Amazon Q Developer nelle applicazioni di chat,`chatbot:ListMicrosoftTeamsChannelConfigurations`.   | 16 maggio 2023 | 
|  **AWSCodePipelineFullAccess**: obsoleta  |  Questa policy è stata sostituita da `AWSCodePipeline_FullAccess`. Dopo il 17 novembre 2022, questa politica non può essere associata a nuovi utenti, gruppi o ruoli. Per ulteriori informazioni, consulta [AWS politiche gestite per AWS CodePipeline](#managed-policies).  | 17 novembre 2022 | 
|  **AWSCodePipelineReadOnlyAccess**: obsoleta  |  Questa policy è stata sostituita da `AWSCodePipeline_ReadOnlyAccess`. Dopo il 17 novembre 2022, questa politica non può essere associata a nuovi utenti, gruppi o ruoli. Per ulteriori informazioni, consulta [AWS politiche gestite per AWS CodePipeline](#managed-policies).  | 17 novembre 2022 | 
|  CodePipeline ha iniziato a tenere traccia delle modifiche  |  CodePipeline ha iniziato a tenere traccia delle modifiche per le sue politiche AWS gestite.  | 12 marzo 2021 | 

## Esempi di policy gestite dal cliente
<a name="customer-managed-policies"></a>

Questa sezione include policy utente di esempio che concedono autorizzazioni per diverse operazioni . Queste politiche funzionano quando si utilizza l' AWS SDKsAPI o il AWS CLI. Quando si utilizza la console, devi concedere autorizzazioni specifiche aggiuntive alla console. Per ulteriori informazioni, consulta [Autorizzazioni necessarie per l'uso della console](security-iam-permissions-console.md).

**Nota**  
Tutti gli esempi utilizzano la regione degli Stati Uniti occidentali (Oregon) (`us-west-2`) e contengono account fittizi. IDs

**Esempi**
+ [Esempio 1: concessione di autorizzazioni per ottenere lo stato di una pipeline](#identity-based-policies-example-1)
+ [Esempio 2: concessione delle autorizzazioni per abilitare e disabilitare le transizioni tra fasi](#identity-based-policies-example-2)
+ [Esempio 3: concessione delle autorizzazioni per ottenere un elenco di tutti i tipi di operazione disponibili](#identity-based-policies-example-3)
+ [Esempio 4: concessione delle autorizzazioni per approvare o rifiutare operazioni di approvazione manuali](#identity-based-policies-example-4)
+ [Esempio 5: concessione delle autorizzazioni per eseguire il polling di processi per un'operazione personalizzata](#identity-based-policies-example-5)
+ [Esempio 6: allega o modifica una politica per l'integrazione di Jenkins con AWS CodePipeline](#identity-based-policies-example-6)
+ [Esempio 7: configurazione dell'accesso tra account a una pipeline](#identity-based-policies-example-7)

### Esempio 1: concessione di autorizzazioni per ottenere lo stato di una pipeline
<a name="identity-based-policies-example-1"></a>

L'esempio seguente concede le autorizzazioni per ottenere lo stato della pipeline denominata `MyFirstPipeline`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:GetPipelineState"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"
        }
    ]
}
```

------

### Esempio 2: concessione delle autorizzazioni per abilitare e disabilitare le transizioni tra fasi
<a name="identity-based-policies-example-2"></a>

L'esempio seguente concede le autorizzazioni per disabilitare e abilitare le transizioni tra tutte le fasi nella pipeline denominata `MyFirstPipeline`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:DisableStageTransition",
                "codepipeline:EnableStageTransition"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/*"
        }
    ]
}
```

------

Per consentire all'utente di disabilitare e abilitare le transizioni per una singola fase in una pipeline, occorre specificare la fase. Ad esempio, per permettere all'utente di abilitare e disabilitare le transizioni per una fase denominata `Staging` in una pipeline denominata `MyFirstPipeline`:

```
"Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/Staging"
```

### Esempio 3: concessione delle autorizzazioni per ottenere un elenco di tutti i tipi di operazione disponibili
<a name="identity-based-policies-example-3"></a>

L'esempio seguente concede le autorizzazioni per ottenere un elenco di tutti i tipi di operazione disponibili per pipeline nella regione `us-west-2`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:ListActionTypes"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:actiontype:*"
        }
    ]
}
```

------

### Esempio 4: concessione delle autorizzazioni per approvare o rifiutare operazioni di approvazione manuali
<a name="identity-based-policies-example-4"></a>

L'esempio seguente concede le autorizzazioni per approvare o rifiutare operazioni di approvazione manuale in una fase denominata `Staging` in una pipeline denominata `MyFirstPipeline`: 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:PutApprovalResult"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/Staging/*"
        }
    ]
}
```

------

### Esempio 5: concessione delle autorizzazioni per eseguire il polling di processi per un'operazione personalizzata
<a name="identity-based-policies-example-5"></a>

L'esempio seguente concede le autorizzazioni per eseguire il polling di processi per l'operazione personalizzata denominata `TestProvider`, che è un tipo di operazione di `Test` nella sua prima versione, in tutte le pipeline: 

**Nota**  
Il job worker per un'azione personalizzata potrebbe essere configurato con un AWS account diverso o richiedere un ruolo IAM specifico per funzionare.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:PollForJobs"
            ],
            "Resource": [
                "arn:aws:codepipeline:us-west-2:111222333444:actionType:Custom/Test/TestProvider/1"
            ]
        }
    ]
}
```

------

### Esempio 6: allega o modifica una politica per l'integrazione di Jenkins con AWS CodePipeline
<a name="identity-based-policies-example-6"></a>

Se configuri una pipeline per utilizzare Jenkins per la compilazione o il test, crea un'identità separata per tale integrazione e allega una policy IAM con le autorizzazioni minime richieste per l'integrazione tra Jenkins e. Questa policy è identica alla policy gestita `AWSCodePipelineCustomActionAccess`. L'esempio seguente mostra una politica per l'integrazione con Jenkins:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 

    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:AcknowledgeJob",
                "codepipeline:GetJobDetails",
                "codepipeline:PollForJobs",
                "codepipeline:PutJobFailureResult",
                "codepipeline:PutJobSuccessResult"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Esempio 7: configurazione dell'accesso tra account a una pipeline
<a name="identity-based-policies-example-7"></a>

Puoi configurare l'accesso a pipeline per utenti e gruppi in un altro account AWS . Il modo consigliato consiste nel creare un ruolo nell'account in cui è stata creata la pipeline. Il ruolo dovrebbe consentire agli utenti dell'altro AWS account di assumere quel ruolo e accedere alla pipeline. Per ulteriori informazioni, consulta [Procedura guidata: accesso tra account mediante i ruoli](https://docs.aws.amazon.com/IAM/latest/UserGuide/walkthru_cross-account-with-roles.html).

L'esempio seguente mostra una politica nell'account 80398EXAMPLE che consente agli utenti di visualizzare, ma non modificare, la pipeline denominata nella console. `MyFirstPipeline` Questa policy è basata sulla policy gestita `AWSCodePipeline_ReadOnlyAccess`, ma poiché è relativa alla pipeline `MyFirstPipeline`, non può utilizzare direttamente la policy gestita. Se non desideri limitare la policy a una pipeline specifica, valuta se utilizzare una delle policy gestite create e mantenute da . Per ulteriori informazioni, consulta la sezione relativa all'[utilizzo di policy gestite](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html). È necessario collegare questa policy a un ruolo IAM creato per l'accesso, ad esempio un ruolo denominato: `CrossAccountPipelineViewers`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 

    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:GetPipeline",
                "codepipeline:GetPipelineState",
                "codepipeline:ListActionTypes",
                "codepipeline:ListPipelines",
                "iam:ListRoles",
                "s3:GetBucketPolicy",
                "s3:GetObject",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "codedeploy:GetApplication",
                "codedeploy:GetDeploymentGroup",
                "codedeploy:ListApplications",
                "codedeploy:ListDeploymentGroups",
                "elasticbeanstalk:DescribeApplications",
                "elasticbeanstalk:DescribeEnvironments",
                "lambda:GetFunctionConfiguration",
                "lambda:ListFunctions"
            ],
            "Resource": "arn:aws:codepipeline:us-east-2:111122223333:MyFirstPipeline"
        }
    ]
}
```

------

Dopo aver creato questa policy, crea il ruolo IAM nell'account 80398EXAMPLE e collega la policy a quel ruolo. Nelle relazioni di fiducia del ruolo, devi aggiungere l' AWS account che assume questo ruolo.

L'esempio seguente mostra una politica creata nell'*111111111111* AWS account che consente agli utenti di assumere il ruolo denominato `CrossAccountPipelineViewers` nell'account 80398EXAMPLE:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::111122223333:role/CrossAccountPipelineViewers"
        }
    ]
}
```

------

# AWS CodePipeline esempi di politiche basate sulle risorse
<a name="security_iam_resource-based-policy-examples"></a>

**Topics**

Anche altri servizi, ad esempio Amazon S3, supportano policy di autorizzazioni basate su risorse. Ad esempio, è possibile associare una policy a un bucket S3 per gestire le autorizzazioni di accesso a quel bucket. Sebbene CodePipeline non supporti le politiche basate sulle risorse, memorizza gli artefatti da utilizzare nelle pipeline in bucket S3 con versioni diverse. 

**Example Per creare una policy per un bucket S3 da utilizzare come archivio di artefatti per CodePipeline**  
Puoi utilizzare qualsiasi bucket S3 con versione come archivio degli artefatti per. CodePipeline Se utilizzi la procedura guidata **Create Pipeline (Crea pipeline)** per creare la prima pipeline, questo bucket S3 viene creato automaticamente per garantire che tutti gli oggetti caricati nello store di artefatti siano crittografati e che le connessioni al bucket siano sicure. Come best practice, se crei il tuo bucket S3, valuta se aggiungere la seguente policy o i relativi elementi al bucket. In questa policy, l'ARN per il bucket S3 è `codepipeline-us-east-2-1234567890`. Sostituisci questo ARN con l'ARN per il bucket S3:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "SSEAndSSLPolicy",
    "Statement": [
        {
            "Sid": "DenyUnEncryptedObjectUploads",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-server-side-encryption": "aws:kms"
                }
            }
        },
        {
            "Sid": "DenyInsecureConnections",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": false
                }
            }
        }
    ]
}
```

# Risoluzione dei problemi di identità e accesso AWS CodePipeline
<a name="security_iam_troubleshoot"></a>

Utilizza le seguenti informazioni per aiutarti a diagnosticare e risolvere i problemi più comuni che potresti riscontrare quando lavori con un CodePipeline IAM.

**Topics**
+ [Non sono autorizzato a eseguire alcuna azione in CodePipeline](#security_iam_troubleshoot-no-permissions)
+ [Non sono autorizzato a eseguire iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Sono un amministratore e voglio consentire ad altri di accedere CodePipeline](#security_iam_troubleshoot-admin-delegate)
+ [Voglio consentire a persone esterne al mio AWS account di accedere alle mie risorse CodePipeline](#security_iam_troubleshoot-cross-account-access)

## Non sono autorizzato a eseguire alcuna azione in CodePipeline
<a name="security_iam_troubleshoot-no-permissions"></a>

Se ti Console di gestione AWS dice che non sei autorizzato a eseguire un'azione, devi contattare l'amministratore per ricevere assistenza. L'amministratore è la persona che ti ha fornito il nome utente e la password.

L'errore di esempio seguente si verifica quando l'utente `mateojackson` IAM tenta di utilizzare la console per visualizzare i dettagli su una pipeline, ma non dispone delle `codepipeline:GetPipeline` autorizzazioni.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: codepipeline:GetPipeline on resource: my-pipeline
```

In questo caso, Mateo chiede al suo amministratore di aggiornare le policy per poter accedere alla risorsa `my-pipeline` mediante l'operazione `codepipeline:GetPipeline`.

## Non sono autorizzato a eseguire iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se ricevi un errore che indica che non sei autorizzato a eseguire l'operazione `iam:PassRole`, devi contattare il tuo amministratore per ricevere assistenza. L'amministratore è la persona che ti ha fornito il nome utente e la password. Richiedi a tale persona di aggiornare le tue policy per poter passare un ruolo a CodePipeline.

Alcuni Servizi AWS consentono di passare un ruolo esistente a quel servizio, invece di creare un nuovo ruolo di servizio o un ruolo collegato al servizio. Per eseguire questa operazione, è necessario disporre delle autorizzazioni per trasmettere il ruolo al servizio.

L'errore di esempio seguente si verifica quando un utente IAM denominato `marymajor` cerca di utilizzare la console per eseguire un'operazione in CodePipeline. Tuttavia, l'operazione richiede che il servizio disponga delle autorizzazioni concesse da un ruolo di servizio. Mary non dispone di autorizzazioni per passare il ruolo al servizio.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

In questo caso, Mary chiede all'amministratore di aggiornare la sue policy per poter eseguire l'operazione `iam:PassRole`.

## Sono un amministratore e voglio consentire ad altri di accedere CodePipeline
<a name="security_iam_troubleshoot-admin-delegate"></a>

Per consentire ad altri di accedere CodePipeline, devi concedere l'autorizzazione alle persone o alle applicazioni che necessitano dell'accesso. Se si utilizza AWS IAM Identity Center per gestire persone e applicazioni, si assegnano set di autorizzazioni a utenti o gruppi per definirne il livello di accesso. I set di autorizzazioni creano e assegnano automaticamente le policy IAM ai ruoli IAM associati alla persona o all'applicazione. Per ulteriori informazioni, consulta [Set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) nella *Guida per l'AWS IAM Identity Center utente*.

Se non utilizzi IAM Identity Center, devi creare entità IAM (utenti o ruoli) per le persone o le applicazioni che necessitano di accesso. Dovrai quindi collegare all'entità una policy che conceda le autorizzazioni corrette in CodePipeline. Dopo aver concesso le autorizzazioni, fornisci le credenziali all'utente o allo sviluppatore dell'applicazione. Utilizzeranno tali credenziali per accedere. AWS*Per ulteriori informazioni sulla creazione di utenti, gruppi, policy e autorizzazioni IAM, consulta [IAM Identities](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) and [Policies and permissions in IAM nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) User Guide.*

## Voglio consentire a persone esterne al mio AWS account di accedere alle mie risorse CodePipeline
<a name="security_iam_troubleshoot-cross-account-access"></a>

È possibile creare un ruolo con il quale utenti in altri account o persone esterne all’organizzazione possono accedere alle tue risorse. È possibile specificare chi è attendibile per l’assunzione del ruolo. Per i servizi che supportano politiche basate sulle risorse o liste di controllo degli accessi (ACLs), puoi utilizzare tali politiche per concedere alle persone l'accesso alle tue risorse.

Per maggiori informazioni, consulta gli argomenti seguenti:
+ Per sapere se CodePipeline supporta queste funzionalità, consulta. [Come AWS CodePipeline funziona con IAM](security_iam_service-with-iam.md)
+ Per scoprire come fornire l'accesso alle tue risorse attraverso Account AWS le risorse di tua proprietà, consulta [Fornire l'accesso a un utente IAM in un altro Account AWS di tua proprietà](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) nella *IAM User Guide*.
+ Per scoprire come fornire l'accesso alle tue risorse a terze parti Account AWS, consulta [Fornire l'accesso a soggetti Account AWS di proprietà di terze parti](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) nella *Guida per l'utente IAM*.
+ Per informazioni su come fornire l'accesso tramite la federazione delle identità, consulta [Fornire l'accesso a utenti autenticati esternamente (federazione delle identità)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) nella *Guida per l'utente IAM*.
+ Per informazioni sulle differenze di utilizzo tra ruoli e policy basate su risorse per l’accesso multi-account, consulta [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente di IAM*.

# riferimento per le autorizzazioni
<a name="permissions-reference"></a>

Utilizza la tabella seguente come riferimento quando configuri il controllo degli accessi e scrivi policy di autorizzazione da allegare a un'identità IAM (politiche basate sull'identità). La tabella seguente elenca le operazioni API di e le operazioni corrispondenti cui hai concesso le autorizzazioni di esecuzione dell'operazione. Per le operazioni che supportano le autorizzazioni a *livello di risorsa, la tabella elenca le risorse per le quali è possibile concedere le AWS autorizzazioni*. Puoi specificare le operazioni nel campo `Action` della policy.

*Le autorizzazioni a livello di risorsa* sono quelle che consentono di specificare su quali risorse gli utenti possono eseguire azioni. AWS CodePipeline fornisce un supporto parziale per le autorizzazioni a livello di risorsa. Ciò significa che per alcune chiamate AWS CodePipeline API, è possibile controllare quando gli utenti sono autorizzati a utilizzare tali azioni in base alle condizioni che devono essere soddisfatte o quali risorse gli utenti sono autorizzati a utilizzare. Ad esempio, puoi concedere agli utenti l'autorizzazione per elencare informazioni di esecuzione della pipeline, ma solo per una o più pipeline specifiche.

**Nota**  
Nella colonna **Risorse** sono elencate le risorse necessarie per le chiamate API che supportano le autorizzazioni a livello di risorsa. Per chiamate API che non supportano autorizzazioni a livello di risorsa, puoi concedere agli utenti l'autorizzazione per utilizzarla, ma devi specificare un carattere jolly (\$1) per l'elemento resource della dichiarazione di policy.




**Operazioni API e autorizzazioni richieste per le azioni**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/codepipeline/latest/userguide/permissions-reference.html)

# Gestisci il ruolo CodePipeline di servizio
<a name="how-to-custom-role"></a>

Il ruolo 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 in qualsiasi modo il ruolo del servizio per . 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` in`eu-west-2`, la console assegna un nome al ruolo e alla policy`AWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline`.

## CodePipeline politica del ruolo di servizio
<a name="how-to-custom-role-policy"></a>

La dichiarazione sulla politica del ruolo del CodePipeline servizio contiene le autorizzazioni minime per la gestione delle pipeline. È possibile modificare l'istruzione del ruolo di servizio per rimuovere o aggiungere l'accesso alle risorse che non si utilizzano. Consulta il riferimento all'azione appropriata per le autorizzazioni minime richieste da CodePipeline utilizzare per ogni azione.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowS3BucketAccess",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::[[pipeArtifactBucketNames]]"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "{{accountId}}"
        }
      }
    },
    {
      "Sid": "AllowS3ObjectAccess",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:PutObjectTagging",
        "s3:GetObjectTagging",
        "s3:GetObjectVersionTagging"
      ],
      "Resource": [
        "arn:aws:s3:::[[pipeArtifactBucketNames]]/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "{{accountId}}"
        }
      }
    }
  ]
}
```

------

**Nota**  
Nella policy, le seguenti autorizzazioni sono richieste quando gli oggetti S3 nel bucket di origine contengono tag:   

```
s3:PutObjectTagging
s3:GetObjectTagging
s3:GetObjectVersionTagging
```

## Rimuovi le autorizzazioni dal ruolo di servizio CodePipeline
<a name="remove-permissions-from-policy"></a>

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"
},
```

## Aggiungi le autorizzazioni al ruolo di servizio CodePipeline
<a name="how-to-update-role-new-services"></a>

È necessario aggiornare la dichiarazione sulla politica del ruolo di servizio con le autorizzazioni relative a un ruolo di servizio Servizio AWS non ancora incluso nella dichiarazione di politica del ruolo di servizio predefinita prima di poterla utilizzare nelle pipeline.

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

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


****  

| Servizio AWS | CodePipeline data di supporto | 
| --- | --- | 
| CodePipeline è stato aggiunto il supporto all'azione di invoca. Per informazioni, consulta [Autorizzazioni relative alla policy del ruolo di servizio per l'azione di richiamo CodePipeline](action-reference-PipelineInvoke.md#action-reference-PipelineInvoke-permissions-action). | 14 marzo 2025 | 
|  EC2supporto per le azioni aggiunto. Per informazioni, consulta [Autorizzazioni relative alla policy del ruolo di servizio per l'azione di implementazione di EC2](action-reference-EC2Deploy.md#action-reference-EC2Deploy-permissions-action). | 21 febbraio 2025 | 
|  EKSsupporto per le azioni aggiunto. Per informazioni, consulta [Autorizzazioni relative alla politica del ruolo di servizio](action-reference-EKS.md#action-reference-EKS-service-role). | 20 febbraio 2025 | 
|  È stato aggiunto il supporto per le ECRBuildAndPublish azioni di Amazon Elastic Container Registry. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione `ECRBuildAndPublish`](action-reference-ECRBuildAndPublish.md#edit-role-ECRBuildAndPublish). | 22 novembre 2024 | 
| È stato aggiunto il supporto per le InspectorScan azioni di Amazon Inspector. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione `InspectorScan`](action-reference-InspectorScan.md#edit-role-InspectorScan). | 22 novembre 2024 | 
| È stato aggiunto il supporto all'azione dei comandi. Per informazioni, consulta [Autorizzazioni del ruolo di servizio: azione dei comandi](action-reference-Commands.md#edit-role-Commands). | 03 ottobre 2024 | 
| CloudFormation supporto all'azione aggiunto. Consulta [Autorizzazioni per i ruoli di servizio: azione `CloudFormationStackSet`](action-reference-StackSets.md#edit-role-cfn-stackset) e [Autorizzazioni per i ruoli di servizio: azione `CloudFormationStackInstances`](action-reference-StackSets.md#edit-role-cfn-stackinstances). | 30 dicembre 2020 | 
| CodeCommit è stato aggiunto il supporto completo per l'azione in formato artefatto di output clone. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione CodeCommit](action-reference-CodeCommit.md#edit-role-codecommit). | 11 novembre 2020 | 
| AWS CodeBuild è stato aggiunto il supporto per le azioni di creazione in batch. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione CodeCommit](action-reference-CodeCommit.md#edit-role-codecommit). | 30 luglio 2020 | 
| AWS AppConfig supporto per le azioni aggiunto. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione `AppConfig`](action-reference-AppConfig.md#edit-role-appconfig). | 22 giugno 2020 | 
| AWS Step Functions supporto per le azioni aggiunto. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione `StepFunctions`](action-reference-StepFunctions.md#edit-role-stepfunctions). | 27 maggio 2020 | 
| AWS CodeStar Aggiunto il supporto per le azioni di connessione. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione CodeConnections](action-reference-CodestarConnectionSource.md#edit-role-connections). | 18 dicembre 2019 | 
| È stato aggiunto il supporto per le azioni di implementazione di S3. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: S3 deploy action](action-reference-S3Deploy.md#edit-role-s3deploy). | 16 gennaio 2019 | 
| È stato aggiunto il supporto per le CodeDeployToECS azioni. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione `CodeDeployToECS`](action-reference-ECSbluegreen.md#edit-role-codedeploy-ecs). | 27 novembre 2018 | 
| È stato aggiunto il supporto per le azioni Amazon ECR. Per informazioni, consulta [Autorizzazioni per ruoli di servizio: azione Amazon ECR](action-reference-ECR.md#edit-role-ecr). | 27 novembre 2018 | 
| È stato aggiunto il supporto per l'azione Service Catalog. Per informazioni, consulta [Autorizzazioni del ruolo di servizio: azione Service Catalog](action-reference-ServiceCatalog.md#edit-role-servicecatalog). | 16 ottobre 2018 | 
| AWS Device Farm è stato aggiunto il supporto per le azioni. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione AWS Device Farm](action-reference-DeviceFarm.md#edit-role-devicefarm). | 19 luglio 2018 | 
| È stato aggiunto il supporto per le azioni di Amazon ECS. Per informazioni, consulta [Autorizzazioni per ruoli di servizio: azione standard di Amazon ECS](action-reference-ECS.md#edit-role-ecs). | 12 dicembre 2017 /Aggiornamento per l'attivazione dell'autorizzazione all'aggiunta di tag il 21 luglio 2017 | 
| CodeCommit supporto all'azione aggiunto. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione CodeCommit](action-reference-CodeCommit.md#edit-role-codecommit). | 18 Aprile 2016 | 
| AWS OpsWorks supporto per le azioni aggiunto. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione AWS OpsWorks](action-reference-OpsWorks.md#edit-role-opsworks). | 2 giugno 2016 | 
| CloudFormation supporto per le azioni aggiunto. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione CloudFormation](action-reference-CloudFormation.md#edit-role-cloudformation). | 3 Novembre 2016 | 
| AWS CodeBuild supporto per le azioni aggiunto. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione CodeBuild](action-reference-CodeBuild.md#edit-role-codebuild). | 1° dicembre 2016 | 
| È stato aggiunto il supporto all'azione Elastic Beanstalk. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: distribuisci l'azione `ElasticBeanstalk`](action-reference-Beanstalk.md#edit-role-beanstalk). | Avvio iniziale del servizio | 
| CodeDeploy supporto all'azione aggiunto. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: azione AWS CodeDeploy](action-reference-CodeDeploy.md#edit-role-codedeploy). | Avvio iniziale del servizio | 
| Aggiunto il supporto S3 Source Action. Per informazioni, consulta [Autorizzazioni per i ruoli di servizio: S3 source action](action-reference-S3.md#edit-role-s3source). | Avvio iniziale del servizio | 

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

 

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

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

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

1. 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 (\$1) con un ARN della risorsa o con ARN della risorsa che contiene un carattere jolly (\$1). 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)

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

# Registrazione e monitoraggio CodePipeline
<a name="incident-response"></a>

Puoi utilizzare le funzionalità di registrazione AWS per determinare le azioni intraprese dagli utenti nel tuo account e le risorse utilizzate. I file di log visualizzano:
+ La data e l'ora delle operazioni.
+ L'indirizzo IP di origine di un'operazione.
+ Quali operazioni non sono riuscite a causa di autorizzazioni inadeguate.

Le funzionalità di registrazione sono disponibili nelle seguenti versioni: Servizi AWS
+ AWS CloudTrail può essere utilizzato per registrare le chiamate AWS API e gli eventi correlati effettuati da o per conto di un Account AWS. Per ulteriori informazioni, consulta [Registrazione delle chiamate CodePipeline API con AWS CloudTrail](monitoring-cloudtrail-logs.md).
+ Amazon CloudWatch Events può essere usato per monitorare Cloud AWS le tue risorse e le applicazioni su cui esegui AWS. Puoi creare avvisi in Amazon CloudWatch Events in base a metriche da te definite. Per ulteriori informazioni, consulta [Monitoraggio CodePipeline degli eventi](detect-state-changes-cloudwatch-events.md).

# Convalida della conformità per AWS CodePipeline
<a name="compliance-validation"></a>

Per sapere se un Servizio AWS programma rientra nell'ambito di specifici programmi di conformità, consulta Servizi AWS la sezione [Scope by Compliance Program Servizi AWS](https://aws.amazon.com/compliance/services-in-scope/) e scegli il programma di conformità che ti interessa. Per informazioni generali, consulta Programmi di [AWS conformità Programmi](https://aws.amazon.com/compliance/programs/) di di .

È possibile scaricare report di audit di terze parti utilizzando artifact. Per ulteriori informazioni, consulta [Scaricamento dei report in AWS Artifact in](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html). AWS Artifact

La vostra responsabilità di conformità durante l'utilizzo Servizi AWS è determinata dalla sensibilità dei dati, dagli obiettivi di conformità dell'azienda e dalle leggi e dai regolamenti applicabili. Per ulteriori informazioni sulla responsabilità di conformità durante l'utilizzo Servizi AWS, consulta la [Documentazione AWS sulla sicurezza](https://docs.aws.amazon.com/security/).

# Resilienza in AWS CodePipeline
<a name="disaster-recovery-resiliency"></a>

L'infrastruttura AWS globale è costruita attorno a AWS regioni e zone di disponibilità. AWS Le regioni forniscono più zone di disponibilità fisicamente separate e isolate, collegate con reti a bassa latenza, ad alto throughput e altamente ridondanti. Con le zone di disponibilità è possibile progettare e gestire applicazioni e database che eseguono automaticamente il failover tra zone di disponibilità senza interruzioni. Le zone di disponibilità sono più disponibili, tolleranti ai guasti e scalabili rispetto alle infrastrutture a data center singolo o multiplo tradizionali. 

[Per ulteriori informazioni su AWS regioni e zone di disponibilità, consulta Global Infrastructure.AWS](https://aws.amazon.com/about-aws/global-infrastructure/)

# Sicurezza dell'infrastruttura in AWS CodePipeline
<a name="infrastructure-security"></a>

In quanto servizio gestito, AWS CodePipeline è protetto dalla sicurezza di rete AWS globale. Per informazioni sui servizi AWS di sicurezza e su come AWS protegge l'infrastruttura, consulta [AWS Cloud Security](https://aws.amazon.com/security/). Per progettare il tuo AWS ambiente utilizzando le migliori pratiche per la sicurezza dell'infrastruttura, vedi [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in *Security Pillar AWS Well‐Architected* Framework.

Utilizzate chiamate API AWS pubblicate per accedere CodePipeline attraverso la rete. I client devono supportare quanto segue:
+ Transport Layer Security (TLS). È richiesto TLS 1.2 ed è consigliato TLS 1.3.
+ Suite di cifratura con Perfect Forward Secrecy (PFS), ad esempio Ephemeral Diffie-Hellman (DHE) o Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). La maggior parte dei sistemi moderni, come Java 7 e versioni successive, supporta tali modalità.

# Best practice di sicurezza
<a name="security-best-practices"></a>



**Topics**

CodePipeline fornisce una serie di funzionalità di sicurezza da considerare durante lo sviluppo e l'implementazione delle proprie politiche di sicurezza. Le seguenti best practice sono linee guida generali e non rappresentano una soluzione di sicurezza completa. Poiché queste best practice potrebbero non essere appropriate o sufficienti per l’ambiente, sono da considerare come considerazioni utili anziché prescrizioni.

Utilizza la crittografia e l'autenticazione per i repository di origine che si connettono alle pipeline. Queste sono le CodePipeline migliori pratiche per la sicurezza:
+ Se create una configurazione di pipeline o di azione che deve includere segreti, come token o password, non inserite i segreti direttamente nella configurazione dell'azione o i valori predefiniti delle variabili definite a livello di pipeline o di CloudFormation configurazione, poiché le informazioni verranno visualizzate nei log. Utilizzare Secrets Manager per impostare e archiviare i segreti, quindi utilizzare il segreto di riferimento nella configurazione della pipeline e dell'azione, come descritto in. [Utilizzalo per tenere traccia delle password del database o delle chiavi Gestione dei segreti AWS API di terze parti](parameter-store-encryption.md)
+ Se crei una pipeline che utilizza un bucket di origine S3, configura la crittografia lato server per gli artefatti archiviati in Amazon S3 per la gestione, come descritto CodePipeline in. AWS KMS keys[Configura la crittografia lato server per gli artefatti archiviati in Amazon S3 per CodePipeline](S3-artifact-encryption.md)
+ Se utilizzi un provider di operazioni Jenkins, quando utilizzi un provider di compilazione Jenkins per l'operazione di compilazione e di test della pipeline, installa Jenkins su un'istanza EC2 e configura un profilo dell'istanza EC2 separato. Assicurati che il profilo dell'istanza conceda a Jenkins solo le AWS autorizzazioni necessarie per eseguire attività per il tuo progetto, come il recupero di file da Amazon S3. Per ulteriori informazioni su come creare il ruolo per il profilo dell'istanza Jenkins, consulta le fasi descritte in [Crea un ruolo IAM da utilizzare per l'integrazione con Jenkins](tutorials-four-stage-pipeline.md#tutorials-four-stage-pipeline-prerequisites-jenkins-iam-role).