

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 CodeCommit
<a name="security"></a>

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

La sicurezza è una responsabilità condivisa tra AWS te e te. 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 nel AWS cloud. AWS ti fornisce anche servizi che puoi 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 CodeCommit, 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. Sei anche responsabile di altri fattori, tra cui la riservatezza dei dati, i requisiti della tua azienda e le leggi e normative vigenti. 

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

**Topics**
+ [Protezione dei dati in AWS CodeCommit](data-protection.md)
+ [Identity and Access Management per AWS CodeCommit](security-iam.md)
+ [Resilienza in AWS CodeCommit](disaster-recovery-resiliency.md)
+ [Sicurezza dell'infrastruttura in AWS CodeCommit](infrastructure-security.md)

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

In quanto servizio gestito, è 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 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à.

CodeCommit i repository vengono crittografati automaticamente quando sono inattivi. Non è richiesta alcuna azione del cliente. CodeCommit crittografa anche i dati del repository in transito. È possibile utilizzare il protocollo HTTPS, il protocollo SSH o entrambi con CodeCommit i repository. Per ulteriori informazioni, consulta [Configurazione per AWS CodeCommit](setting-up.md). Puoi anche configurare l'[accesso ai repository da più account](cross-account.md). CodeCommit 

**Topics**
+ [AWS Key Management Service e crittografia per i AWS CodeCommit repository](encryption.md)
+ [Connessione ai AWS CodeCommit repository con credenziali rotanti](temporary-access.md)

# AWS Key Management Service e crittografia per i AWS CodeCommit repository
<a name="encryption"></a>

I dati nei CodeCommit repository vengono crittografati in transito e a riposo. Quando i dati vengono inseriti in un CodeCommit repository (ad esempio, chiamando**git push**), CodeCommit crittografa i dati ricevuti man mano che vengono archiviati nel repository. Quando i dati vengono estratti da un CodeCommit repository (ad esempio, effettuando una chiamata**git pull**), li CodeCommit decripta e quindi li invia al chiamante. Ciò presuppone che l'utente IAM associato alla richiesta push o pull sia stato autenticato da. AWS I dati inviati o ricevuti vengono trasmessi mediante i protocolli di rete crittografati HTTPS o SSH.

Puoi utilizzare una chiave Chiave gestita da AWS o una chiave gestita dal cliente per crittografare e decrittografare i dati nel tuo repository. Per ulteriori informazioni sulle differenze tra le chiavi gestite dal cliente e Chiavi gestite da AWS, consulta [Customer](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt) managed keys e. Chiavi gestite da AWS Se non specifichi una chiave gestita dal cliente, CodeCommit utilizzerà una Chiave gestita da AWS per crittografare e decrittografare i dati nel tuo repository. Questo Chiave gestita da AWS viene creato automaticamente per te nel tuo. Account AWS La prima volta che crei un CodeCommit repository in un nuovo Regione AWS account Amazon Web Services, se non specifichi una chiave gestita dal cliente, CodeCommit crea una Chiave gestita da AWS (la `aws/codecommit` chiave) nello stesso account Regione AWS in AWS Key Management Service (AWS KMS). Questa `aws/codecommit` chiave viene utilizzata solo da CodeCommit. È memorizzato nel tuo account Amazon Web Services. A seconda di ciò che specifichi, CodeCommit utilizza la chiave gestita dal cliente o Chiave gestita da AWS per crittografare e decrittografare i dati nel repository. 

**Importante**  
 CodeCommit esegue le seguenti AWS KMS azioni sulla AWS KMS chiave utilizzata per crittografare e decrittografare i dati in un repository. Se si utilizza un Chiave gestita da AWS, un utente non necessita di autorizzazioni esplicite per queste azioni, ma non deve disporre di politiche allegate che neghino tali azioni per la chiave. `aws/codecommit` Se utilizzi una chiave gestita dal cliente con un Account AWS ID impostato come criterio principale per quella chiave, queste autorizzazioni devono essere impostate esplicitamente su. `allow` In particolare, quando si crea il primo repository e si aggiornano le chiavi per il repository, non è necessario impostare nessuna delle seguenti autorizzazioni `deny` se si utilizza un Chiave gestita da AWS, e devono essere impostate su `allow` se si utilizza una chiave gestita dal cliente con un criterio principale:  
`"kms:Encrypt"`
`"kms:Decrypt"`
`"kms:ReEncrypt"`(a seconda del contesto, ciò potrebbe richiedere, `kms:ReEncryptFrom`   
`kms:ReEncryptTo`, o `kms:ReEncrypt*` non impostato per negare)
`"kms:GenerateDataKey"`
`"kms:GenerateDataKeyWithoutPlaintext"`
`"kms:DescribeKey"`

Se si desidera utilizzare la propria chiave gestita dal cliente, la chiave deve essere disponibile nel luogo in Regione AWS cui si trova l'archivio. CodeCommit supporta l'utilizzo di chiavi gestite dal cliente sia singole che multiregionali. Sebbene siano supportati tutti i principali tipi di origine dei materiali, consigliamo di utilizzare l'opzione **KMS** predefinita. I clienti che utilizzano l'opzione **External Key Store** potrebbero subire ritardi da parte del fornitore del negozio. Inoltre. CodeCommit presenta i seguenti requisiti per le chiavi gestite dal cliente:
+ CodeCommit supporta solo l'utilizzo di chiavi simmetriche.
+ Il tipo di utilizzo della chiave deve essere impostato su Encrypt and **decrypt**.

[Per ulteriori informazioni sulla creazione di chiavi gestite dal cliente, consulta [Concetti](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt) e creazione di chiavi.](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)

Per visualizzare le informazioni sul file Chiave gestita da AWS generato da CodeCommit, procedi come segue:

1. Accedi a Console di gestione AWS e apri la console AWS Key Management Service (AWS KMS) in [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Per modificare il Regione AWS, usa il selettore della regione nell'angolo in alto a destra della pagina.

1. Nel riquadro di navigazione del servizio, scegli. **Chiavi gestite da AWS** Assicurati di aver effettuato l'accesso al sito in Regione AWS cui desideri rivedere le chiavi. 

1. Nell'elenco delle chiavi di crittografia, scegli Chiave gestita da AWS con l'alias **aws/codecommit**. Vengono visualizzate le informazioni di base su. Chiave di proprietà di AWS 

Non è possibile modificarlo o eliminarlo Chiave gestita da AWS. 

## Come vengono utilizzati gli algoritmi di crittografia per crittografare i dati del repository
<a name="encryption-algorithms"></a>

CodeCommit utilizza due approcci diversi per la crittografia dei dati. I singoli oggetti Git sotto 6 MB vengono crittografati utilizzando AES-GCM-256, che fornisce la convalida dell'integrità dei dati. Gli oggetti tra 6 MB e un massimo di 2 GB per un singolo blob vengono crittografati utilizzando AES-CBC-256. CodeCommit convalida sempre il contesto di crittografia.

## Contesto di crittografia
<a name="encryption-context"></a>

Ogni servizio integrato con AWS KMS specifica un contesto di crittografia per le operazioni di crittografia e decrittografia. Il contesto di crittografia rappresenta informazioni autenticate supplementari utilizzate da AWS KMS per verificare l'integrità dei dati. Se specificato per l'operazione di crittografia, deve anche essere specificato nell'operazione di decrittografia. In caso contrario, la decrittografia non riesce. CodeCommit utilizza l'ID del CodeCommit repository per il contesto di crittografia. È possibile utilizzare il **get-repository** comando o la CodeCommit console per trovare l'ID del repository. Cerca l'ID del CodeCommit repository nei AWS CloudTrail log per capire quali operazioni di crittografia sono state eseguite su quale chiave per crittografare o AWS KMS decrittografare i dati nel repository. CodeCommit 

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

# Connessione ai AWS CodeCommit repository con credenziali rotanti
<a name="temporary-access"></a>

Puoi consentire agli utenti di accedere ai tuoi AWS CodeCommit repository senza configurare gli utenti IAM per loro o utilizzare una chiave di accesso e una chiave segreta. Per assegnare le autorizzazioni a un'identità federata, crei un ruolo e definisci le autorizzazioni per il ruolo. Quando un’identità federata viene autenticata, l’identità viene associata al ruolo e ottiene le autorizzazioni da esso definite. Per ulteriori informazioni sulla federazione dei ruoli, consulta [ Creare un ruolo per un provider di identità di terze parti (federazione)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) nella *Guida per l'utente IAM*. Se si utilizza IAM Identity Center, configurare un set di autorizzazioni. IAM Identity Center mette in correlazione il set di autorizzazioni con un ruolo in IAM per controllare a cosa possono accedere le identità dopo l’autenticazione. Per informazioni sui set di autorizzazioni, consulta [Set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) nella *Guida per l’utente di AWS IAM Identity Center *. Puoi anche configurare l'accesso basato sui ruoli per consentire agli utenti IAM di accedere ai CodeCommit repository in account Amazon Web Services separati (una tecnica nota come accesso *tra* account). Per una panoramica della configurazione dell'accesso tra account a un repository, consulta [Configura l'accesso tra account a un AWS CodeCommit repository utilizzando i ruoli](cross-account.md). 

Puoi anche configurare l'accesso per gli utenti che desiderano o devono effettuare l'autenticazione tramite metodi quali:
+ Security Assertion Markup Language (SAML)
+ Autenticazione a più fattori (MFA)
+ Federazione
+ Login with Amazon
+ Amazon Cognito
+ Facebook
+ Google
+ Provider di identità compatibile con OpenID Connect (OIDC)

**Nota**  
Le seguenti informazioni si applicano solo all'uso **git-remote-codecommit** o all'helper delle AWS CLI credenziali per la connessione ai repository. CodeCommit Poiché l'approccio consigliato per l'accesso temporaneo o federato CodeCommit è l'impostazione**git-remote-codecommit**, questo argomento fornisce esempi di utilizzo di tale utilità. Per ulteriori informazioni, consulta [Passaggi di configurazione per le connessioni HTTPS a AWS CodeCommit con git-remote-codecommit](setting-up-git-remote-codecommit.md).   
Non è possibile utilizzare credenziali SSH o Git e HTTPS per connettersi ai CodeCommit repository con credenziali di accesso rotanti o temporanee. 

Non è necessario completare queste fasi se sono soddisfatti tutti i seguenti requisiti:
+ Hai effettuato l'accesso a un'istanza Amazon EC2.
+ Stai utilizzando Git e HTTPS con l'helper delle AWS CLI credenziali per connetterti dall'istanza Amazon EC2 ai repository. CodeCommit 
+ L'istanza Amazon EC2 ha un profilo di istanza IAM collegato che contiene le autorizzazioni di accesso descritte in o. [Per connessioni HTTPS su Linux, macOS o Unix con l'helper delle credenziali AWS CLI ](setting-up-https-unixes.md) [Per le connessioni HTTPS su Windows con l'helper per le credenziali AWS CLI ](setting-up-https-windows.md)
+ Hai installato e configurato l'helper per le credenziali Git sull'istanza Amazon EC2, come descritto in o. [Per connessioni HTTPS su Linux, macOS o Unix con l'helper delle credenziali AWS CLI ](setting-up-https-unixes.md) [Per le connessioni HTTPS su Windows con l'helper per le credenziali AWS CLI ](setting-up-https-windows.md)

Le istanze Amazon EC2 che soddisfano i requisiti precedenti sono già configurate per comunicare credenziali di accesso temporanee per tuo conto. CodeCommit 

**Nota**  
Puoi configurare e utilizzare **git-remote-codecommit** su istanze Amazon EC2.

Per consentire agli utenti l'accesso temporaneo ai tuoi CodeCommit repository, completa i seguenti passaggi.



## Fase 1: completamento dei prerequisiti
<a name="temporary-access-prerequisites"></a>

Completa i passaggi di configurazione per fornire a un utente l'accesso ai tuoi CodeCommit repository utilizzando credenziali rotanti: 
+ Per l'accesso su più account, consulta [Procedura dettagliata: delega dell'accesso tra account Amazon Web Services utilizzando](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-walkthrough-crossacct.html) ruoli IAM e. [Configura l'accesso tra account a un AWS CodeCommit repository utilizzando i ruoli](cross-account.md)
+ [Per SAML e federazione, consulta [Utilizzo del sistema di autenticazione dell'organizzazione per concedere l'accesso alle AWS risorse](https://docs.aws.amazon.com/STS/latest/UsingSTS/STSUseCases.html#IdentityBrokerApplication) e Informazioni sulla federazione basata su SAML 2.0. AWS STS](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSAML.html)
+ Per l'MFA, consulta [Utilizzo di dispositivi Multi-Factor Authentication (MFA) AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingMFA.html) con [e creazione di credenziali di sicurezza temporanee](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSessionTokens.html) per abilitare l'accesso per gli utenti IAM.
+ [Per Login with Amazon, Amazon Cognito, Facebook, Google o qualsiasi provider di identità compatibile con OIDC, consulta Informazioni su Web Identity Federation. AWS STS](https://docs.aws.amazon.com/STS/latest/UsingSTS/web-identity-federation.html)

Utilizza le informazioni in [Autenticazione e controllo degli accessi per AWS CodeCommit](auth-and-access-control.md) per specificare le CodeCommit autorizzazioni che desideri concedere all'utente.

## Fase 2: Ottenere il nome del ruolo o le credenziali di accesso
<a name="temporary-access-get-credentials"></a>

Se desideri che gli utenti accedano ai repository assumendo un ruolo, fornisci agli utenti l'Amazon Resource Name (ARN) del ruolo. In caso contrario, a seconda del modo in cui hai configurato l'accesso, l'utente può ottenere la rotazione delle credenziali in uno dei seguenti modi:
+ Per l'accesso su più account, chiama il comando AWS CLI [assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) o chiama l'API. AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)
+ [Per SAML, chiama il AWS CLI[assume-role-with-saml](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html)comando o l'API SAML. AWS STS AssumeRoleWith](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)
+ Per la federazione, chiama AWS CLI [assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html) o commands o o [get-federation-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html). AWS STS [AssumeRole[GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) APIs
+ Per l'MFA, chiama il AWS CLI [get-session-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-session-token.html)comando o l' AWS STS [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)API.
+ Per Login with Amazon, Amazon Cognito, Facebook, Google o qualsiasi provider di identità compatibile con OIDC, chiama il comando AWS CLI [assume-role-with-web-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html) o l'API. AWS STS [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)



## Passaggio 3: installa e configura git-remote-codecommit AWS CLI
<a name="temporary-access-configure-credentials"></a>

È necessario configurare il computer locale per utilizzare le credenziali di accesso installando [https://pypi.org/project/git-remote-codecommit/](https://pypi.org/project/git-remote-codecommit/) e configurando un profilo nell' AWS CLI.

1. Segui le istruzioni in [Configurazione ](setting-up.md) per configurare la AWS CLI. Utilizza il comando **aws configure** per configurare uno o più profili. Prendi in considerazione la creazione di un profilo denominato da utilizzare quando ti connetti ai CodeCommit repository utilizzando credenziali rotanti.

1. È possibile associare le credenziali al profilo AWS CLI denominato dell'utente in uno dei seguenti modi. 
   + Se stai assumendo un ruolo per accedere CodeCommit, configura un profilo denominato con le informazioni necessarie per assumere quel ruolo. Ad esempio, se desideri assumere un ruolo denominato *CodeCommitAccess* nell'account Amazon Web Services 1111, puoi configurare un profilo predefinito da utilizzare quando lavori con altre AWS risorse e un profilo denominato da utilizzare quando assumi quel ruolo. I seguenti comandi creano un profilo denominato *CodeAccess* che assume un ruolo denominato. *CodeCommitAccess* Il nome utente *Maria\$1Garcia* è associato alla sessione e il profilo predefinito è impostato come origine delle relative AWS credenziali:

     ```
     aws configure set role_arn arn:aws:iam::111111111111:role/CodeCommitAccess --profile CodeAccess
     aws configure set source_profile default --profile CodeAccess
     aws configure set role_session_name "Maria_Garcia" --profile CodeAccess
     ```

     Per verificare le modifiche, visualizza o modifica manualmente il file `~/.aws/config` (per Linux) o il file `%UserProfile%.aws\config` (per Windows) e rivedi le informazioni sotto il profilo con nome. Il file ad esempio potrebbe essere simile al seguente.

     ```
     [default]
     region = us-east-1
     output = json
     
     [profile CodeAccess]
     source_profile = default
     role_session_name = Maria_Garcia
     role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
     ```

      Dopo aver configurato il profilo con nome, è possibile clonare i repository CodeCommit con l'utilità **git-remote-codecommit** utilizzando il profilo con nome. Ad esempio, per clonare un repository con nome *MyDemoRepo*: 

     ```
     git clone codecommit://CodeAccess@MyDemoRepo
     ```
   + Se utilizzi la federazione delle identità web e OpenID Connect (OIDC), configura un profilo denominato che effettui la chiamata `AssumeRoleWithWebIdentity` API AWS Security Token Service (AWS STS) per tuo conto per aggiornare le credenziali temporanee. Utilizzate il **aws configure set** comando o modificate manualmente il `~/.aws/credentials` file (per Linux) o il `%UserProfile%.aws\credentials` file (per Windows) per aggiungere un profilo AWS CLI denominato con i valori di impostazione richiesti. Ad esempio, per creare un profilo che assuma il *CodeCommitAccess* ruolo e utilizzi un file di token di identità Web *my-credentials* */my-token-file* \$1/:

     ```
     [CodeCommitWebIdentity]
     role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
     web_identity_token_file=~/my-credentials/my-token-file
     role_session_name = Maria_Garcia
     ```

   *Per ulteriori informazioni, consulta [Configurazione AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) e [utilizzo di un ruolo IAM nella Guida per l' AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)utente.AWS Command Line Interface *

## Fase 4: Accedere ai repository CodeCommit
<a name="temporary-access-use-credentials"></a>

Supponendo che l'utente abbia seguito le istruzioni per connettersi [Connessione a un repository](how-to-connect.md) ai CodeCommit repository, l'utente utilizza quindi le funzionalità estese fornite da e **git-remote-codecommit** Git per chiamare **git clone** e **git pull** clonare, inviare ed estrarre i CodeCommit repository a cui ha accesso. **git push** Ad esempio, per clonare un repository:

```
git clone codecommit://CodeAccess@MyDemoRepo
```

I comandi Git commit, push e pull utilizzano la sintassi Git regolare. 

Quando l'utente utilizza AWS CLI e specifica il profilo AWS CLI denominato associato alle credenziali di accesso rotanti, vengono restituiti i risultati relativi a quel profilo.



# Identity and Access Management per AWS CodeCommit
<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. CodeCommit 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)
+ [Autenticazione e controllo degli accessi per AWS CodeCommit](auth-and-access-control.md)
+ [Come AWS CodeCommit funziona con IAM](security_iam_service-with-iam.md)
+ [CodeCommit politiche basate sulle risorse](#security_iam_service-with-iam-resource-based-policies)
+ [Autorizzazione basata su tag CodeCommit](#security_iam_service-with-iam-tags)
+ [CodeCommit Ruoli IAM](#security_iam_service-with-iam-roles)
+ [AWS CodeCommit esempi di politiche basate sull'identità](#security_iam_id-based-policy-examples)
+ [Risoluzione dei problemi di AWS CodeCommit identità e accesso](#security_iam_troubleshoot)

## 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 AWS CodeCommit identità e accesso](#security_iam_troubleshoot))
+ **Amministratore del servizio**: determina l’accesso degli utenti e invia le richieste di autorizzazione (consulta [Come AWS CodeCommit funziona con IAM](security_iam_service-with-iam.md))
+ **Amministratore IAM**: scrivi policy per gestire l’accesso (consulta [AWS CodeCommit esempi di politiche basate sull'identità](#security_iam_id-based-policy-examples))

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

### Account AWS utente root
<a name="security_iam_authentication-rootuser"></a>

 Quando si crea un Account AWS, si inizia con un'identità di accesso denominata *utente Account AWS root* che ha accesso completo a tutte Servizi AWS le risorse. 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.

### Elenchi di controllo degli accessi () ACLs
<a name="security_iam_access-manage-acl"></a>

Le liste di controllo degli accessi (ACLs) controllano quali principali (membri dell'account, utenti o ruoli) dispongono delle autorizzazioni per accedere a una risorsa. ACLs sono simili alle politiche basate sulle risorse, sebbene non utilizzino il formato del documento di policy JSON.

Amazon S3 e Amazon VPC sono esempi di servizi che supportano. AWS WAF ACLs Per ulteriori informazioni ACLs, consulta la [panoramica della lista di controllo degli accessi (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) nella *Amazon Simple Storage Service Developer Guide*.

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

### Più tipi di policy
<a name="security_iam_access-manage-multiple-policies"></a>

Quando a una richiesta si applicano più tipi di policy, le autorizzazioni risultanti sono più complicate da comprendere. Per scoprire come si AWS determina se consentire o meno una richiesta quando sono coinvolti più tipi di policy, consulta [Logica di valutazione delle policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) nella *IAM User Guide*.

# Autenticazione e controllo degli accessi per AWS CodeCommit
<a name="auth-and-access-control"></a>

L'accesso a AWS CodeCommit richiede credenziali. Queste credenziali devono avere le autorizzazioni per accedere alle AWS risorse, come i CodeCommit repository, e al tuo utente IAM, che usi per gestire le tue credenziali Git o la chiave pubblica SSH che usi per creare connessioni Git. Le seguenti sezioni forniscono dettagli su come utilizzare [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) e su come proteggere l' CodeCommit accesso alle risorse:
+ [Autenticazione](#authentication)
+ [Controllo accessi](#access-control)

## Autenticazione
<a name="authentication"></a>

Poiché i CodeCommit repository sono basati su Git e supportano le funzionalità di base di Git, incluse le credenziali Git, ti consigliamo di utilizzare un utente IAM quando lavori con. CodeCommit Puoi accedere CodeCommit con altri tipi di identità, ma gli altri tipi di identità sono soggetti a limitazioni, come descritto di seguito.

Tipi di identità:
+ **Utente IAM**: un [utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) è un'identità all'interno del tuo account Amazon Web Services che dispone di autorizzazioni personalizzate specifiche. Ad esempio, un utente IAM può disporre delle autorizzazioni per creare e gestire le credenziali Git per l'accesso ai CodeCommit repository. **Questo è il tipo di utente consigliato con cui lavorare. CodeCommit** Puoi utilizzare un nome utente e una password IAM per accedere a AWS pagine Web sicure come [AWS Discussion Forums](https://forums.aws.amazon.com/) o [Supporto AWS Center](https://console.aws.amazon.com/support/home#/). [Console di gestione AWS](https://console.aws.amazon.com/) 

  Puoi generare credenziali Git o associare chiavi pubbliche SSH al tuo utente IAM, oppure puoi installare e configurare. **git-remote-codecommit** Questi sono i modi più semplici per configurare Git in modo che funzioni con i tuoi CodeCommit repository. Con [le credenziali Git](setting-up-gc.md), generi un nome utente e una password statici in IAM. Potrai quindi utilizzare queste credenziali per le connessioni HTTPS con Git e con qualsiasi strumento di terze parti che supporti l'autenticazione di nome utente e password Git. Con le connessioni SSH, crei file di chiave pubblici e privati sulla tua macchina locale che Git e Git CodeCommit utilizzano per l'autenticazione SSH. Associate la chiave pubblica al vostro utente IAM e memorizzate la chiave privata sul computer locale. **[git-remote-codecommit](setting-up-git-remote-codecommit.md)**estende Git stesso e non richiede l'impostazione delle credenziali Git per l'utente.

  Inoltre, puoi generare [chiavi di accesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) per ogni utente. [Utilizza le chiavi di accesso quando accedi ai AWS servizi a livello di codice, tramite [uno dei AWS SDKs o utilizzando il](https://aws.amazon.com/tools/)AWS Command Line Interface ().AWS CLI](https://aws.amazon.com/cli/) L'SDK e gli strumenti CLI utilizzano le chiavi di accesso per firmare crittograficamente le tue richieste. Se non utilizzi gli AWS strumenti, devi firmare tu stesso le richieste. CodeCommit supporta *Signature Version 4*, un protocollo per l'autenticazione delle richieste API in entrata. Per ulteriori informazioni sulle richieste di autenticazione, consulta la pagina relativa al [processo di firma Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) nella *Riferimenti generali di AWS*.
+ **Utente root dell'account Amazon Web Services**: quando ti registri AWS, fornisci un indirizzo e-mail e una password associati al tuo account Amazon Web Services. Si tratta delle tue *credenziali root*, che forniscono accesso completo a tutte le risorse AWS . Alcune CodeCommit funzionalità non sono disponibili per gli utenti con account root. Inoltre, l'unico modo per usare Git con il tuo account root è installare e configurare **git-remote-codecommit** (consigliato) o configurare l'helper per AWS le credenziali, incluso in. AWS CLI Non puoi usare credenziali Git o coppie di chiavi SSH pubbliche-private con il tuo utente dell'account root. Per questi motivi, non è consigliabile utilizzare l'utente dell'account root per interagire con. CodeCommit
**Importante**  
Per ragioni di sicurezza, consigliamo di utilizzare le credenziali root solo per creare un *utente amministratore*, ovvero un *utente IAM* con autorizzazioni complete per il tuo account AWS . Potrai quindi utilizzare questo utente amministratore per creare altri utenti e ruoli IAM con autorizzazioni limitate. Per ulteriori informazioni consulta [Best practice IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users) e l'argomento relativo alla [creazione di un gruppo e un utente admin](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) nella *Guida per l'utente IAM*.
+ **IAM Identity Center e utenti in IAM Identity Center**: AWS IAM Identity Center amplia le funzionalità di AWS Identity and Access Management per fornire una posizione centrale che riunisce l'amministrazione degli utenti e il loro accesso alle applicazioni Account AWS cloud. Sebbene sia consigliata come best practice per la maggior parte degli utenti con cui lavora AWS, IAM Identity Center attualmente non fornisce meccanismi per credenziali Git o coppie di chiavi SSH. Questi utenti possono installare e configurare gli CodeCommit archivi per **git-remote-codecommit** clonare localmente, ma non tutti gli ambienti di sviluppo integrati (IDEs) supportano la clonazione, il push o il pulling with. **git-remote-codecommit**

  Come best practice, richiedi agli utenti umani di utilizzare la federazione con un provider di identità per accedere utilizzando credenziali temporanee. Servizi AWS 

  Un'*identità federata* è un utente della directory aziendale, del provider di identità Web o Directory Service che accede Servizi AWS utilizzando le credenziali di una fonte di identità. Le identità federate assumono ruoli che forniscono credenziali temporanee.

  Per la gestione centralizzata degli accessi, si consiglia di utilizzare AWS IAM Identity Center. Per ulteriori informazioni, consulta [Che cos’è il Centro identità IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) nella *Guida per l’utente di AWS IAM Identity Center *.
+ **Ruolo IAM**: come un utente IAM, un [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) è un'identità IAM che puoi creare nel tuo account per concedere autorizzazioni specifiche.

  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*.
**Nota**  
 Non puoi usare credenziali Git o coppie di chiavi SSH pubbliche-private con gli utenti federati. Inoltre, le preferenze utente non sono disponibili per gli utenti federati. Per informazioni su come configurare le connessioni utilizzando l'accesso federato, consulta [Passaggi di configurazione per le connessioni HTTPS a AWS CodeCommit con git-remote-codecommit](setting-up-git-remote-codecommit.md).

## Controllo accessi
<a name="access-control"></a>

È possibile disporre di credenziali valide per autenticare le richieste, ma a meno che non si disponga delle autorizzazioni necessarie non è possibile creare o accedere alle risorse. CodeCommit Ad esempio, devi avere le autorizzazioni necessarie per visualizzare repository, eseguire il push del codice, creare e gestire le credenziali Git e così via.

Le seguenti sezioni descrivono come gestire le autorizzazioni per. CodeCommit Consigliamo di leggere prima la panoramica.
+ [Panoramica della gestione delle autorizzazioni di accesso alle risorse CodeCommit](#auth-and-access-control-iam-access-control-identity-based)
+ [Utilizzo di policy basate sull'identità (IAM Policies) per CodeCommit](auth-and-access-control-iam-identity-based-access-control.md)
+ [CodeCommit riferimento alle autorizzazioni](auth-and-access-control-permissions-reference.md)

## Panoramica della gestione delle autorizzazioni di accesso alle risorse CodeCommit
<a name="auth-and-access-control-iam-access-control-identity-based"></a>

Ogni AWS risorsa è di proprietà di un account Amazon Web Services. Le autorizzazioni per creare o accedere a una risorsa sono regolate dalle policy di autorizzazione. Un amministratore dell'account è in grado di collegare le policy relative alle autorizzazioni alle identità IAM (ovvero utenti, gruppi e ruoli). Alcuni servizi, ad esempio AWS Lambda, supportano anche l'associazione di politiche di autorizzazione alle risorse. 

**Nota**  
Un *amministratore account* (o un utente amministratore) è un utente con privilegi di amministratore. Per ulteriori informazioni, consulta [Best practice IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l'utente di IAM*.

Quando si concedono le autorizzazioni, si indicano i destinatari, le risorse a cui si concedono e le operazioni specifiche da consentire su tali risorse.

**Topics**
+ [CodeCommit risorse e operazioni](#arn-formats)
+ [Informazioni sulla proprietà delle risorse](#understanding-resource-ownership)
+ [Gestione dell'accesso alle risorse](#managing-access-resources)
+ [Ambito delle risorse in CodeCommit](#resource-scoping)
+ [Definizione degli elementi delle policy: risorse, operazioni, effetti ed entità principali](#actions-effects-principals)
+ [Specifica delle condizioni in una policy](#policy-conditions)

### CodeCommit risorse e operazioni
<a name="arn-formats"></a>

Nel CodeCommit, la risorsa principale è un repository. A ogni risorsa è associato un Amazon Resource Name (ARN) univoco. In una policy, devi utilizzare un Amazon Resource Name (ARN) per identificare la risorsa a cui si applica la policy stessa. Per ulteriori informazioni su ARNs, consulta [Amazon Resource Names (ARN) e AWS Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in. *Riferimenti generali di Amazon Web Services* CodeCommit attualmente non supporta altri tipi di risorse, denominate sottorisorse.

La tabella seguente descrive come specificare le CodeCommit risorse.


| Tipo di risorsa | Formato ARN | 
| --- | --- | 
| Repository |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  Tutti i CodeCommit repository  |  arn:aws:codecommit:\$1  | 
|  Tutti gli CodeCommit archivi di proprietà dell'account specificato nel campo specificato Regione AWS  |  arn:aws:codecommit::: \$1 *region* *account-id*  | 

**Nota**  
La maggior parte AWS dei servizi considera i due punti (:) o una barra (/) come lo stesso carattere. ARNs Tuttavia, CodeCommit richiede una corrispondenza esatta nei modelli e nelle regole delle risorse. Durante la creazione di modelli di eventi, assicurati di utilizzare i caratteri ARN corretti, facendo in modo che corrispondano alla sintassi ARN nella risorsa.

Ad esempio, nella tua dichiarazione puoi specificare un determinato repository (*MyDemoRepo*) utilizzando il relativo ARN come segue:

```
"Resource": "arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo"
```

Per specificare tutti i repository che appartengono a un account specifico, usa il carattere jolly (\$1) come segue:

```
"Resource": "arn:aws:codecommit:us-west-2:111111111111:*"
```

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": "*"
```

Puoi usare il carattere jolly (\$1) anche per specificare tutte le risorse che corrispondono a una parte del nome di un repository. Ad esempio, il seguente ARN specifica qualsiasi CodeCommit repository che inizia con il nome `MyDemo` e che è registrato nell'account Amazon Web Services in: `111111111111` `us-east-2` Regione AWS

```
arn:aws:codecommit:us-east-2:111111111111:MyDemo*
```

 Per un elenco delle operazioni disponibili che funzionano con le CodeCommit risorse, consulta. [CodeCommit riferimento alle autorizzazioni](auth-and-access-control-permissions-reference.md)

### Informazioni sulla proprietà delle risorse
<a name="understanding-resource-ownership"></a>

L'account Amazon Web Services possiede le risorse create nell'account, indipendentemente da chi le ha create. In particolare, il proprietario della risorsa è l'account Amazon Web Services dell'[entità principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) (ovvero l'account root, un utente IAM o un ruolo IAM) che autentica la richiesta di creazione della risorsa. Negli esempi seguenti viene illustrato il funzionamento:
+ Se crei un utente IAM nel tuo account Amazon Web Services e concedi le autorizzazioni per creare CodeCommit risorse a quell'utente, l'utente può creare CodeCommit risorse. Tuttavia, il tuo account Amazon Web Services, a cui appartiene l'utente, possiede le CodeCommit risorse.
+ Se utilizzi le credenziali dell'account root del tuo account Amazon Web Services per creare una regola, il tuo account Amazon Web Services è il proprietario della CodeCommit risorsa.
+ Se crei un ruolo IAM nel tuo account Amazon Web Services con le autorizzazioni per creare CodeCommit risorse, chiunque possa assumere il ruolo può creare CodeCommit risorse. Il tuo account Amazon Web Services, a cui appartiene il ruolo, possiede le CodeCommit risorse.

### Gestione dell'accesso alle risorse
<a name="managing-access-resources"></a>

Per gestire l'accesso alle AWS risorse, si utilizzano le politiche di autorizzazione. La *policy delle autorizzazioni* descrive chi ha accesso a cosa. La sezione che segue spiega le opzioni per la creazione di policy relative alle autorizzazioni.

**Nota**  
Questa sezione illustra l'utilizzo di IAM nel contesto di. CodeCommit Non vengono fornite informazioni dettagliate sul servizio IAM. Per ulteriori informazioni su IAM, consulta [Che cos'è IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)? nella *Guida per l'utente di IAM*. Per informazioni sulla sintassi delle policy IAM e le rispettive descrizioni, consulta [Riferimento alle policy IAM di ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) nella *Guida per l'utente di IAM*.

Le politiche di autorizzazione allegate a un'identità IAM sono denominate politiche basate sull'identità (politiche IAM). Le policy di autorizzazione collegate a una risorsa sono definite policy basate su risorse. Attualmente, CodeCommit supporta solo politiche basate sull'identità (politiche IAM).

**Topics**
+ [Policy basate su identità (policy IAM)](#identity-based-policies)
+ [Policy basate sulle risorse](#resource-based-policies-overview)

#### Policy basate su identità (policy IAM)
<a name="identity-based-policies"></a>

Per gestire l'accesso alle AWS risorse, alleghi le politiche di autorizzazione alle identità IAM. In CodeCommit, utilizzi policy basate sull'identità per controllare l'accesso ai repository. Ad esempio, puoi eseguire le operazioni seguenti: 
+ **Allega una politica di autorizzazioni a un utente o a un gruppo del tuo account**: per concedere a un utente l'autorizzazione a visualizzare le CodeCommit risorse nella CodeCommit console, allega una politica di autorizzazioni basata sull'identità a un utente o gruppo a cui appartiene l'utente.
+ **Associare un criterio di autorizzazione a un ruolo (per concedere autorizzazioni su più account)**: la delega, ad esempio quando si desidera concedere l'accesso a più account, implica la creazione di un trust tra l'account proprietario della risorsa (l'account di fiducia) e l'account che contiene gli utenti che devono accedere alla risorsa (l'account affidabile). Una policy di autorizzazione concede all'utente con un ruolo le autorizzazioni necessarie per eseguire le attività previste sulla risorsa. Una policy di attendibilità specifica quali account attendibili possono concedere ai propri utenti le autorizzazioni per assumere il ruolo. [Per ulteriori informazioni, consulta IAM Terms and Concepts.](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) 

  Per concedere autorizzazioni su più account, collega una policy di autorizzazioni basata sull'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 Amazon Web Services (ad esempio, Account B) o a un AWS servizio come segue:

  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 dell'Account A. Se si desidera concedere un'autorizzazione di AWS servizio per assumere il ruolo, il responsabile nella politica di fiducia può anche essere un responsabile del AWS servizio. Per ulteriori informazioni, consulta Delegation in [IAM Terms and Concepts](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html).

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



La policy di esempio riportata di seguito consente a un utente di creare un ramo in un repository denominato *MyDemoRepo*:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:CreateBranch"
      ],
      "Resource" : "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo"
    }
  ]
}
```

------

Per limitare le chiamate e le risorse a cui hanno accesso gli utenti del tuo account, crea policy IAM specifiche e poi collega tali policy agli utenti IAM. Per ulteriori informazioni su come creare ruoli IAM e per scoprire esempi di dichiarazioni di policy IAM CodeCommit, consulta[Esempi di politiche di identità gestite dai clienti](customer-managed-policies.md#customer-managed-policies-identity). 

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

Alcuni servizi, come Amazon S3, supportano anche politiche di autorizzazione basate sulle risorse. Ad esempio, puoi allegare una policy basata sulle risorse a un bucket S3 per gestire le autorizzazioni di accesso a quel bucket. CodeCommit non supporta le politiche basate sulle risorse, ma puoi utilizzare i tag per identificare le risorse, che puoi quindi utilizzare nelle politiche IAM. Per un esempio di policy basate su tag, consulta [Policy basate su identità (policy IAM)](#identity-based-policies). 

### Ambito delle risorse in CodeCommit
<a name="resource-scoping"></a>

In CodeCommit, è possibile definire l'ambito delle politiche e delle autorizzazioni basate sull'identità per le risorse, come descritto in. [CodeCommit risorse e operazioni](#arn-formats) Non è però possibile limitare l'ambito dell'autorizzazione `ListRepositories` a una risorsa. Il suo ambito deve invece includere tutte le risorse (usando il carattere jolly `*`). In caso contrario, l'operazione ha esito negativo. 

Tutte le altre CodeCommit autorizzazioni possono essere limitate alle risorse.

### Definizione degli elementi delle policy: risorse, operazioni, effetti ed entità principali
<a name="actions-effects-principals"></a>

Puoi creare policy per consentire o negare agli utenti l'accesso alle risorse o consentire o negare agli utenti di intraprendere azioni specifiche su tali risorse. CodeCommit definisce una serie di operazioni API pubbliche che definiscono il modo in cui gli utenti utilizzano il servizio, tramite la CodeCommit console SDKs, il AWS CLI, o chiamandole direttamente. APIs Per concedere le autorizzazioni per queste operazioni API, CodeCommit definisce una serie di azioni che è possibile specificare in una politica. 

Alcune operazioni API possono richiedere le autorizzazioni per più operazioni. Per ulteriori informazioni sulle risorse e sulle operazioni delle API, consulta [CodeCommit risorse e operazioni](#arn-formats) e [CodeCommit riferimento alle autorizzazioni](auth-and-access-control-permissions-reference.md).

Di seguito sono elencati gli elementi di base di una policy:
+ **Risorsa**: per identificare la risorsa a cui si applica la policy, utilizzi un Amazon Resource Name (ARN). Per ulteriori informazioni, consulta [CodeCommit risorse e operazioni](#arn-formats).
+ **Azione**: per identificare le operazioni sulle risorse che desideri consentire o negare, utilizzi parole chiave di azione. Ad esempio, a seconda di quanto specificato`Effect`, l'`codecommit:GetBranch`autorizzazione consente o nega all'utente di eseguire l'`GetBranch`operazione, che consente di ottenere dettagli su una filiale in un CodeCommit repository.
+ **Effetto**: si specifica l'effetto, consentito o negato, che si verifica quando l'utente richiede l'azione specifica. USe non concedi esplicitamente (consenti) l'accesso a una risorsa, l'accesso viene implicitamente rifiutato. Puoi anche rifiutare esplicitamente l'accesso a una risorsa per fare in modo che un utente non possa accedervi, anche se un'altra policy concede l'accesso.
+ **Principal**: nelle politiche basate sull'identità (politiche IAM), l'unico tipo di policy che CodeCommit supporta, l'utente a cui è associata la policy è il principale implicito. 

*Per ulteriori informazioni sulla sintassi delle policy IAM, consulta IAM [Policy Reference nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) User Guide.*

Per una tabella che mostra tutte le azioni CodeCommit API e le risorse a cui si applicano, consulta[CodeCommit riferimento alle autorizzazioni](auth-and-access-control-permissions-reference.md).

### Specifica delle condizioni in una policy
<a name="policy-conditions"></a>

Quando concedi le autorizzazioni, utilizzi il linguaggio delle policy di accesso per IAM per specificare le condizioni in base alle quali una policy deve avere effetto. Ad esempio, potresti decidere che una policy venga applicata solo dopo una data specifica. Per ulteriori informazioni sulla specificazione delle condizioni in un linguaggio di policy, consulta [Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition) and [Policy Grammar](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html) nella *IAM* User Guide.

Per esprimere le condizioni è necessario utilizzare chiavi di condizione predefinite. Non esistono chiavi di condizione specifiche per CodeCommit. Tuttavia, ci sono chiavi di condizione AWS-wide che puoi usare a seconda delle esigenze. Per un elenco completo delle chiavi AWS-wide, consulta [Available Keys for Conditions](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) nella *IAM User Guide*. 

# Utilizzo di policy basate sull'identità (IAM Policies) per CodeCommit
<a name="auth-and-access-control-iam-identity-based-access-control"></a>

I seguenti esempi di policy basate sull'identità dimostrano come un amministratore di account può collegare policy di autorizzazione alle identità IAM (utenti, gruppi e ruoli) per concedere le autorizzazioni per eseguire operazioni sulle risorse. CodeCommit 

**Importante**  
Ti consigliamo di esaminare innanzitutto gli argomenti introduttivi che spiegano i concetti e le opzioni di base disponibili per gestire l'accesso alle tue risorse. CodeCommit Per ulteriori informazioni, consulta [Panoramica della gestione delle autorizzazioni di accesso alle risorse CodeCommit](auth-and-access-control.md#auth-and-access-control-iam-access-control-identity-based).

**Topics**
+ [Autorizzazioni necessarie per utilizzare la console CodeCommit](#console-permissions)
+ [Visualizzazione di risorse nella console](#console-resources)
+ [AWS politiche gestite per CodeCommit](security-iam-awsmanpol.md)
+ [Esempi di policy gestite dal cliente](customer-managed-policies.md)

Di seguito è riportato un esempio di policy di autorizzazione basata su identità: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:BatchGetRepositories"
      ],
      "Resource" : [
        "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo",
        "arn:aws:codecommit:us-east-2:111122223333:MyDemo*"
      ]
    }
  ]
}
```

------

Questa politica contiene un'unica dichiarazione che consente a un utente di ottenere informazioni sul CodeCommit repository denominato `MyDestinationRepo` e su tutti i CodeCommit repository che iniziano con il nome `MyDemo` nella Regione. **us-east-2** 

## Autorizzazioni necessarie per utilizzare la console CodeCommit
<a name="console-permissions"></a>

Per visualizzare le autorizzazioni richieste per ogni operazione CodeCommit API e per ulteriori informazioni sulle CodeCommit operazioni, consulta. [CodeCommit riferimento alle autorizzazioni](auth-and-access-control-permissions-reference.md)

Per consentire agli utenti di utilizzare la CodeCommit console, l'amministratore deve concedere loro le autorizzazioni per CodeCommit le azioni. Ad esempio, è possibile allegare la politica [AWSCodeCommitPowerUser](security-iam-awsmanpol.md#managed-policies-poweruser)gestita o il suo equivalente a un utente o gruppo.

Oltre alle autorizzazioni concesse agli utenti dalle politiche basate sull'identità, CodeCommit richiede le autorizzazioni per le azioni (). AWS Key Management Service AWS KMS Un utente IAM non necessita di `Allow` autorizzazioni esplicite per queste azioni, ma non deve avere politiche allegate che impostino le seguenti autorizzazioni su: `Deny`

```
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:DescribeKey"
```

Per ulteriori informazioni sulla crittografia e CodeCommit, consulta. [AWS KMS e crittografia](encryption.md)

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

La CodeCommit console richiede l'`ListRepositories`autorizzazione per visualizzare un elenco di repository per il tuo account Amazon Web Services nel luogo in Regione AWS 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 account Amazon Web Services nel Regione AWS quale 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:
+ 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 si dispone delle autorizzazioni per la visualizzazione delle risorse, le risorse specifiche non verranno restituite se è presente un esplicito `Deny` (Rifiuto) per la visualizzazione di tali risorse.

# AWS politiche gestite per CodeCommit
<a name="security-iam-awsmanpol"></a>

Per aggiungere autorizzazioni a utenti, gruppi e ruoli, è più facile utilizzare le policy AWS gestite che scriverle autonomamente. La [creazione di policy gestite dai clienti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) che forniscono al team solo le autorizzazioni di cui ha bisogno richiede tempo e competenza. Per iniziare rapidamente, puoi utilizzare le nostre politiche AWS gestite. Queste policy coprono i casi d’uso comuni e sono disponibili nell’account Account AWS. Per ulteriori informazioni sulle policy AWS gestite, consulta le [policy AWS gestite](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) nella *IAM User Guide*.

AWS i servizi mantengono e aggiornano le politiche AWS gestite. Non è possibile modificare le autorizzazioni nelle politiche AWS gestite. I servizi occasionalmente aggiungono altre autorizzazioni a una policy gestita da AWS per supportare nuove funzionalità. Questo tipo di aggiornamento interessa tutte le identità (utenti, gruppi e ruoli) a cui è collegata la policy. È più probabile che i servizi aggiornino una policy gestita da AWS quando viene avviata una nuova funzionalità o quando diventano disponibili nuove operazioni. I servizi non rimuovono le autorizzazioni da una policy AWS gestita, quindi gli aggiornamenti delle policy non comprometteranno le autorizzazioni esistenti.

Inoltre, AWS supporta politiche gestite per le funzioni lavorative che si estendono su più servizi. Ad esempio, la policy **ReadOnlyAccess** AWS gestita fornisce l'accesso in sola lettura a tutti i AWS servizi e le risorse. Quando un servizio lancia una nuova funzionalità, AWS aggiunge autorizzazioni di sola lettura per nuove operazioni e risorse. Per l’elenco e la descrizione delle policy di funzione dei processi, consultare la sezione [Policy gestite da AWS per funzioni di processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) nella *Guida per l’utente di IAM*.

AWS affronta molti casi d'uso comuni fornendo policy IAM autonome create e amministrate da. AWS Queste policy AWS gestite concedono le autorizzazioni necessarie per i casi d'uso comuni. Le policy gestite forniscono CodeCommit anche le autorizzazioni per eseguire operazioni in altri servizi, come IAM, Amazon SNS e CloudWatch Amazon Events, come richiesto per le responsabilità degli utenti a cui è stata concessa la politica in questione. Ad esempio, la AWSCode CommitFullAccess policy è una policy utente di livello amministrativo che consente agli utenti con questa policy di creare e gestire le regole CloudWatch Events per gli archivi (regole i cui nomi hanno il prefisso da) e gli argomenti di `codecommit` Amazon SNS per le notifiche sugli eventi relativi ai repository (argomenti i cui nomi hanno il prefisso da), nonché di amministrare i repository in. `codecommit` CodeCommit 

Le seguenti politiche AWS gestite, che puoi allegare agli utenti del tuo account, sono specifiche per. CodeCommit

**Topics**
+ [AWS politica gestita: AWSCode CommitFullAccess](#managed-policies-full)
+ [AWS politica gestita: AWSCode CommitPowerUser](#managed-policies-poweruser)
+ [AWS politica gestita: AWSCode CommitReadOnly](#managed-policies-read)
+ [CodeCommit politiche e notifiche gestite](#notifications-permissions)
+ [AWS CodeCommit politiche gestite e Amazon CodeGuru Reviewer](#codeguru-permissions)
+ [CodeCommit aggiornamenti alle politiche gestite AWS](#security-iam-awsmanpol-updates)

## AWS politica gestita: AWSCode CommitFullAccess
<a name="managed-policies-full"></a>

È possibile allegare la policy `AWSCodeCommitFullAccess` alle identità IAM. Questa politica garantisce l'accesso completo a. CodeCommit Applica questa politica solo agli utenti di livello amministrativo a cui desideri concedere il pieno controllo dei CodeCommit repository e delle risorse correlate nel tuo account Amazon Web Services, inclusa la possibilità di eliminare gli archivi.

La AWSCode CommitFullAccess policy contiene la seguente dichiarazione politica:

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

****  

```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "codecommit:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CloudWatchEventsCodeCommitRulesAccess",
          "Effect": "Allow",
          "Action": [
            "events:DeleteRule",
            "events:DescribeRule",
            "events:DisableRule",
            "events:EnableRule",
            "events:PutRule",
            "events:PutTargets",
            "events:RemoveTargets",
            "events:ListTargetsByRule"
          ],
          "Resource": "arn:aws:events:*:*:rule/codecommit*"
        },
        {
          "Sid": "SNSTopicAndSubscriptionAccess",
          "Effect": "Allow",
          "Action": [
            "sns:CreateTopic",
            "sns:DeleteTopic",
            "sns:Subscribe",
            "sns:Unsubscribe",
            "sns:SetTopicAttributes"
          ],
          "Resource": "arn:aws:sns:*:*:codecommit*"
        },
        {
          "Sid": "SNSTopicAndSubscriptionReadAccess",
          "Effect": "Allow",
          "Action": [
            "sns:ListTopics",
            "sns:ListSubscriptionsByTopic",
            "sns:GetTopicAttributes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "LambdaReadOnlyListAccess",
          "Effect": "Allow",
          "Action": [
            "lambda:ListFunctions"
          ],
          "Resource": "*"
        },
        {
          "Sid": "IAMReadOnlyListAccess",
          "Effect": "Allow",
          "Action": [
            "iam:ListUsers"
          ],
          "Resource": "*"
        },
        {
          "Sid": "IAMReadOnlyConsoleAccess",
          "Effect": "Allow",
          "Action": [
            "iam:ListAccessKeys",
            "iam:ListSSHPublicKeys",
            "iam:ListServiceSpecificCredentials"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "IAMUserSSHKeys",
          "Effect": "Allow",
          "Action": [
            "iam:DeleteSSHPublicKey",
            "iam:GetSSHPublicKey",
            "iam:ListSSHPublicKeys",
            "iam:UpdateSSHPublicKey",
            "iam:UploadSSHPublicKey"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "IAMSelfManageServiceSpecificCredentials",
          "Effect": "Allow",
          "Action": [
            "iam:CreateServiceSpecificCredential",
            "iam:UpdateServiceSpecificCredential",
            "iam:DeleteServiceSpecificCredential",
            "iam:ResetServiceSpecificCredential"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "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": {
            "ArnLike": {
              "codestar-notifications:NotificationsForResource": "arn:aws:iam::*:role/Service*"
            }
          }
        },
        {
          "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": "AmazonCodeGuruReviewerFullAccess",
          "Effect": "Allow",
          "Action": [
            "codeguru-reviewer:AssociateRepository",
            "codeguru-reviewer:DescribeRepositoryAssociation",
            "codeguru-reviewer:ListRepositoryAssociations",
            "codeguru-reviewer:DisassociateRepository",
            "codeguru-reviewer:DescribeCodeReview",
            "codeguru-reviewer:ListCodeReviews"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AmazonCodeGuruReviewerSLRCreation",
          "Action": "iam:CreateServiceLinkedRole",
          "Effect": "Allow",
          "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CloudWatchEventsManagedRules",
          "Effect": "Allow",
          "Action": [
            "events:PutRule",
            "events:PutTargets",
            "events:DeleteRule",
            "events:RemoveTargets"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CodeStarNotificationsChatbotAccess",
          "Effect": "Allow",
          "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
          "Resource": "*"
        },
        {
            "Sid": "CodeStarConnectionsReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-connections:ListConnections",
                "codestar-connections:GetConnection"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        }
      ]
    }
```

------

## AWS politica gestita: AWSCode CommitPowerUser
<a name="managed-policies-poweruser"></a>

È possibile allegare la policy `AWSCodeCommitPowerUser` alle identità IAM. Questa politica consente agli utenti di accedere a tutte le funzionalità CodeCommit e alle risorse relative al repository, tranne che non consente loro di eliminare gli CodeCommit archivi o creare o eliminare risorse relative ai repository in altri servizi AWS , come Amazon Events. CloudWatch È consigliabile applicare questa policy alla maggior parte degli utenti.

La AWSCode CommitPowerUser policy contiene la seguente dichiarazione politica:

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

****  

```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "codecommit:AssociateApprovalRuleTemplateWithRepository",
            "codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
            "codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
            "codecommit:BatchGet*",
            "codecommit:BatchDescribe*",
            "codecommit:Create*",
            "codecommit:DeleteBranch",
            "codecommit:DeleteFile",
            "codecommit:Describe*",
            "codecommit:DisassociateApprovalRuleTemplateFromRepository",
            "codecommit:EvaluatePullRequestApprovalRules",
            "codecommit:Get*",
            "codecommit:List*",
            "codecommit:Merge*",
            "codecommit:OverridePullRequestApprovalRules",
            "codecommit:Put*",
            "codecommit:Post*",
            "codecommit:TagResource",
            "codecommit:Test*",
            "codecommit:UntagResource",
            "codecommit:Update*",
            "codecommit:GitPull",
            "codecommit:GitPush"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CloudWatchEventsCodeCommitRulesAccess",
          "Effect": "Allow",
          "Action": [
            "events:DeleteRule",
            "events:DescribeRule",
            "events:DisableRule",
            "events:EnableRule",
            "events:PutRule",
            "events:PutTargets",
            "events:RemoveTargets",
            "events:ListTargetsByRule"
          ],
          "Resource": "arn:aws:events:*:*:rule/codecommit*"
        },
        {
          "Sid": "SNSTopicAndSubscriptionAccess",
          "Effect": "Allow",
          "Action": [
            "sns:Subscribe",
            "sns:Unsubscribe"
          ],
          "Resource": "arn:aws:sns:*:*:codecommit*"
        },
        {
          "Sid": "SNSTopicAndSubscriptionReadAccess",
          "Effect": "Allow",
          "Action": [
            "sns:ListTopics",
            "sns:ListSubscriptionsByTopic",
            "sns:GetTopicAttributes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "LambdaReadOnlyListAccess",
          "Effect": "Allow",
          "Action": [
            "lambda:ListFunctions"
          ],
          "Resource": "*"
        },
        {
          "Sid": "IAMReadOnlyListAccess",
          "Effect": "Allow",
          "Action": [
            "iam:ListUsers"
          ],
          "Resource": "*"
        },
        {
          "Sid": "IAMReadOnlyConsoleAccess",
          "Effect": "Allow",
          "Action": [
            "iam:ListAccessKeys",
            "iam:ListSSHPublicKeys",
            "iam:ListServiceSpecificCredentials"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "IAMUserSSHKeys",
          "Effect": "Allow",
          "Action": [
            "iam:DeleteSSHPublicKey",
            "iam:GetSSHPublicKey",
            "iam:ListSSHPublicKeys",
            "iam:UpdateSSHPublicKey",
            "iam:UploadSSHPublicKey"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "IAMSelfManageServiceSpecificCredentials",
          "Effect": "Allow",
          "Action": [
            "iam:CreateServiceSpecificCredential",
            "iam:UpdateServiceSpecificCredential",
            "iam:DeleteServiceSpecificCredential",
            "iam:ResetServiceSpecificCredential"
          ],
          "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
          "Sid": "CodeStarNotificationsReadWriteAccess",
          "Effect": "Allow",
          "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
          ],
          "Resource": "*",
          "Condition": {
            "ArnLike": {
              "codestar-notifications:NotificationsForResource": "arn:aws:iam::*:role/Service*"
            }
          }
        },
        {
          "Sid": "CodeStarNotificationsListAccess",
          "Effect": "Allow",
          "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AmazonCodeGuruReviewerFullAccess",
          "Effect": "Allow",
          "Action": [
            "codeguru-reviewer:AssociateRepository",
            "codeguru-reviewer:DescribeRepositoryAssociation",
            "codeguru-reviewer:ListRepositoryAssociations",
            "codeguru-reviewer:DisassociateRepository",
            "codeguru-reviewer:DescribeCodeReview",
            "codeguru-reviewer:ListCodeReviews"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AmazonCodeGuruReviewerSLRCreation",
          "Action": "iam:CreateServiceLinkedRole",
          "Effect": "Allow",
          "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CloudWatchEventsManagedRules",
          "Effect": "Allow",
          "Action": [
            "events:PutRule",
            "events:PutTargets",
            "events:DeleteRule",
            "events:RemoveTargets"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CodeStarNotificationsChatbotAccess",
          "Effect": "Allow",
          "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
          "Resource": "*"
        },
        {
            "Sid": "CodeStarConnectionsReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-connections:ListConnections",
                "codestar-connections:GetConnection"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        }
      ]
    }
```

------

## AWS politica gestita: AWSCode CommitReadOnly
<a name="managed-policies-read"></a>

È possibile allegare la policy `AWSCodeCommitReadOnly` alle identità IAM. Questa politica garantisce l'accesso in sola lettura CodeCommit e alle risorse relative al repository in altri AWS servizi, nonché la possibilità di creare e gestire le proprie risorse CodeCommit correlate (come le credenziali Git e le chiavi SSH che gli utenti IAM possono utilizzare per accedere ai repository). Applica questa policy agli utenti a cui si vuoi consentire di leggere il contenuto di un repository, ma non di modificarlo.

La AWSCode CommitReadOnly policy contiene la seguente dichiarazione politica:

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

****  

```
    { 
       "Version":"2012-10-17",		 	 	 
       "Statement":[ 
          { 
             "Effect":"Allow",
             "Action":[ 
                "codecommit:BatchGet*",
                "codecommit:BatchDescribe*",
                "codecommit:Describe*",
                "codecommit:EvaluatePullRequestApprovalRules",
                "codecommit:Get*",
                "codecommit:List*",
                "codecommit:GitPull"
             ],
             "Resource":"*"
          },
          { 
             "Sid":"CloudWatchEventsCodeCommitRulesReadOnlyAccess",
             "Effect":"Allow",
             "Action":[ 
                "events:DescribeRule",
                "events:ListTargetsByRule"
             ],
             "Resource":"arn:aws:events:*:*:rule/codecommit*"
          },
          { 
             "Sid":"SNSSubscriptionAccess",
             "Effect":"Allow",
             "Action":[ 
                "sns:ListTopics",
                "sns:ListSubscriptionsByTopic",
                "sns:GetTopicAttributes"
             ],
             "Resource":"*"
          },
          { 
             "Sid":"LambdaReadOnlyListAccess",
             "Effect":"Allow",
             "Action":[ 
                "lambda:ListFunctions"
             ],
             "Resource":"*"
          },
          { 
             "Sid":"IAMReadOnlyListAccess",
             "Effect":"Allow",
             "Action":[ 
                "iam:ListUsers"
             ],
             "Resource":"*"
          },
          { 
             "Sid":"IAMReadOnlyConsoleAccess",
             "Effect":"Allow",
             "Action":[ 
                "iam:ListAccessKeys",
                "iam:ListSSHPublicKeys",
                "iam:ListServiceSpecificCredentials",
                "iam:GetSSHPublicKey"
             ],
             "Resource":"arn:aws:iam::*:user/${aws:username}"
          },
          { 
             "Sid":"CodeStarNotificationsReadOnlyAccess",
             "Effect":"Allow",
             "Action":[ 
                "codestar-notifications:DescribeNotificationRule"
             ],
             "Resource":"*",
             "Condition":{ 
                "ArnLike":{ 
                   "codestar-notifications:NotificationsForResource":"arn:aws:codecommit:us-east-2:111122223333:*"
                }
             }
          },
          { 
             "Sid":"CodeStarNotificationsListAccess",
             "Effect":"Allow",
             "Action":[ 
                "codestar-notifications:ListNotificationRules",
                "codestar-notifications:ListEventTypes",
                "codestar-notifications:ListTargets"
             ],
             "Resource":"*"
          },
          {
             "Sid": "AmazonCodeGuruReviewerReadOnlyAccess",
             "Effect": "Allow",
             "Action": [
                "codeguru-reviewer:DescribeRepositoryAssociation",
                "codeguru-reviewer:ListRepositoryAssociations",
                "codeguru-reviewer:DescribeCodeReview",
                "codeguru-reviewer:ListCodeReviews"
             ],
             "Resource": "*"
          },
          {
            "Sid": "CodeStarConnectionsReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-connections:ListConnections",
                "codestar-connections:GetConnection"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*"
        }
    ]
}
```

------

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

AWS CodeCommit supporta le notifiche, che possono notificare agli utenti modifiche importanti agli archivi. Le politiche gestite CodeCommit 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>

Le policy gestite `AWSCodeCommitFullAccess` includono le seguenti dichiarazioni per consentire l'accesso completo alle notifiche. 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.

```
    {
        "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:codecommit:*"} 
        }
    },    
    {
        "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": "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 `AWSCodeCommitReadOnlyAccess` includono le seguenti dichiarazioni per consentire l'accesso in sola lettura alle notifiche. Gli utenti con questa policy gestita 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:codecommit:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "Resource": "*"
    }
```

### Autorizzazioni correlate alle notifiche in altre policy gestite
<a name="notifications-otheraccess"></a>

La policy gestita `AWSCodeCommitPowerUser` include le seguenti istruzioni per consentire agli utenti di creare, modificare e sottoscrivere le notifiche. Gli utenti non possono eliminare le regole di notifica o gestire i tag per le risorse.

```
    {
        "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:codecommit*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "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 CodeCommit politiche gestite e Amazon CodeGuru Reviewer
<a name="codeguru-permissions"></a>

CodeCommit supporta Amazon CodeGuru Reviewer, un servizio automatizzato di revisione del codice che utilizza l'analisi dei programmi e l'apprendimento automatico per rilevare problemi comuni e consigliare correzioni nel codice Java o Python. Le politiche gestite CodeCommit includono dichiarazioni politiche per la funzionalità Reviewer. CodeGuru Per ulteriori informazioni, consulta [What Is Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html).

### Autorizzazioni relative a Reviewer in CodeGuru AWSCode CommitFullAccess
<a name="codeguru-fullaccess"></a>

La policy `AWSCodeCommitFullAccess` gestita include le seguenti istruzioni per consentire l'associazione e la dissociazione di CodeGuru Reviewer dai repository. CodeCommit Gli utenti a cui viene applicata questa politica gestita possono anche visualizzare lo stato dell'associazione tra i CodeCommit repository e CodeGuru Reviewer e visualizzare lo stato dei lavori di revisione per le pull request.

```
    {
      "Sid": "AmazonCodeGuruReviewerFullAccess",
      "Effect": "Allow",
      "Action": [
        "codeguru-reviewer:AssociateRepository",
        "codeguru-reviewer:DescribeRepositoryAssociation",
        "codeguru-reviewer:ListRepositoryAssociations",
        "codeguru-reviewer:DisassociateRepository",
        "codeguru-reviewer:DescribeCodeReview",
        "codeguru-reviewer:ListCodeReviews"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonCodeGuruReviewerSLRCreation",
      "Action": "iam:CreateServiceLinkedRole",
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
        }
      }
    },
    {
      "Sid": "CloudWatchEventsManagedRules",
      "Effect": "Allow",
      "Action": [
        "events:PutRule",
        "events:PutTargets",
        "events:DeleteRule",
        "events:RemoveTargets"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
        }
      }
    }
```

### Autorizzazioni relative a Reviewer in CodeGuru AWSCode CommitPowerUser
<a name="codeguru-poweruser"></a>

La policy `AWSCodeCommitPowerUser` gestita include le seguenti istruzioni per consentire agli utenti di associare e dissociare i repository con CodeGuru Reviewer, visualizzare lo stato delle associazioni e visualizzare lo stato dei lavori di revisione per le pull request.

```
    {
      "Sid": "AmazonCodeGuruReviewerFullAccess",
      "Effect": "Allow",
      "Action": [
        "codeguru-reviewer:AssociateRepository",
        "codeguru-reviewer:DescribeRepositoryAssociation",
        "codeguru-reviewer:ListRepositoryAssociations",
        "codeguru-reviewer:DisassociateRepository",
        "codeguru-reviewer:DescribeCodeReview",
        "codeguru-reviewer:ListCodeReviews"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonCodeGuruReviewerSLRCreation",
      "Action": "iam:CreateServiceLinkedRole",
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
        }
      }
    },
    {
      "Sid": "CloudWatchEventsManagedRules",
      "Effect": "Allow",
      "Action": [
        "events:PutRule",
        "events:PutTargets",
        "events:DeleteRule",
        "events:RemoveTargets"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
        }
      }
    }
```

### Autorizzazioni relative a Reviewer in CodeGuru AWSCode CommitReadOnly
<a name="codeguru-readonly"></a>

La policy `AWSCodeCommitReadOnlyAccess` gestita include le seguenti istruzioni per consentire l'accesso in sola lettura allo stato dell'associazione CodeGuru Reviewer e visualizzare lo stato dei lavori di revisione per le pull request. Gli utenti con questa policy gestita applicata non possono associare o disassociare i repository. 

```
     {
      "Sid": "AmazonCodeGuruReviewerReadOnlyAccess",
      "Effect": "Allow",
      "Action": [
            "codeguru-reviewer:DescribeRepositoryAssociation",
            "codeguru-reviewer:ListRepositoryAssociations",
            "codeguru-reviewer:DescribeCodeReview",
            "codeguru-reviewer:ListCodeReviews"
      ],
      "Resource": "*"
    }
```

### Ruolo collegato al servizio Amazon CodeGuru Reviewer
<a name="codeguru-slr"></a>

Quando si associa un repository a CodeGuru Reviewer, viene creato un ruolo collegato al servizio in modo che CodeGuru Reviewer possa rilevare problemi e consigliare correzioni per il codice Java o Python nelle richieste pull. Il ruolo collegato al servizio viene denominato AWSServiceRoleForAmazonCodeGuruReviewer. Per ulteriori informazioni, consulta [Using Service-Linked Roles for Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/using-service-linked-roles.html).

Per ulteriori informazioni, consulta [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*.

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



Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite CodeCommit da quando questo servizio ha iniziato a tenere traccia di queste modifiche. Per ricevere avvisi automatici sulle modifiche a questa pagina, iscriviti al feed RSS su. [AWS CodeCommit Cronologia dei documenti della Guida dell'utente](history.md)




| Modifica | Descrizione | Data | 
| --- | --- | --- | 
|  [AWS politica gestita: AWSCode CommitFullAccess](#managed-policies-full)e [AWS politica gestita: AWSCode CommitPowerUser](#managed-policies-poweruser) — Aggiornamento alle politiche esistenti  |  CodeCommit ha aggiunto un'autorizzazione a queste politiche per supportare un tipo di notifica aggiuntivo utilizzando Amazon Q Developer nelle applicazioni di chat. Le AWSCode CommitFullAccess politiche AWSCode CommitPowerUser e sono state modificate per aggiungere un'autorizzazione,`chatbot:ListMicrosoftTeamsChannelConfigurations`.  | 16 maggio 2023 | 
|  [AWS politica gestita: AWSCode CommitReadOnly](#managed-policies-read): aggiornamento di una policy esistente  |  CodeCommit ha rimosso un'autorizzazione duplicata dalla politica.  AWSCodeCommitReadOnly È stata modificata per rimuovere un'autorizzazione duplicata,. `"iam:ListAccessKeys"`  | 18 agosto 2021 | 
|  CodeCommit ha iniziato a tenere traccia delle modifiche  |  CodeCommit ha iniziato a tenere traccia delle modifiche per le sue politiche AWS gestite.  | 18 agosto 2021 | 

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

Puoi creare policy IAM personalizzate per consentire CodeCommit autorizzazioni per azioni e risorse. Puoi associare queste policy personalizzate agli utenti o ai gruppi IAM che richiedono tali autorizzazioni. Puoi anche creare policy IAM personalizzate per l'integrazione tra CodeCommit e altri AWS servizi.

**Topics**
+ [Esempi di politiche di identità gestite dai clienti](#customer-managed-policies-identity)

## Esempi di politiche di identità gestite dai clienti
<a name="customer-managed-policies-identity"></a>

I seguenti esempi di policy IAM concedono autorizzazioni per varie CodeCommit azioni. Utilizzale per limitare CodeCommit l'accesso degli utenti e dei ruoli IAM. Queste policy controllano la capacità di eseguire azioni con la CodeCommit console, l'API o il AWS CLI. AWS SDKs



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

 **Esempi**
+ [Esempio 1: consentire a un utente di eseguire operazioni in un'unica soluzione CodeCommit Regione AWS](#identity-based-policies-example-1)
+ [Esempio 2: consentire a un utente di utilizzare Git per un singolo repository](#identity-based-policies-example-2)
+ [Esempio 3: consentire a un utente che si connette da un intervallo di indirizzi IP specificato di accedere a un repository](#identity-based-policies-example-3)
+ [Esempio 4: negare o consentire azioni sulle filiali](#identity-based-policies-example-4)
+ [Esempio 5: negare o consentire azioni sui repository con tag](#identity-based-policies-example-5)

### Esempio 1: consentire a un utente di eseguire operazioni in un'unica soluzione CodeCommit Regione AWS
<a name="identity-based-policies-example-1"></a>

La seguente politica di autorizzazione utilizza un carattere jolly (`"codecommit:*"`) per consentire agli utenti di eseguire tutte le CodeCommit azioni nella regione us-east-2 e non da altre. Regioni AWS

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "codecommit:*",
            "Resource": "arn:aws:codecommit:us-east-2:111111111111:*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": "us-east-2"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "codecommit:ListRepositories",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": "us-east-2"
                }
            }
        }
    ]
}
```

------

### Esempio 2: consentire a un utente di utilizzare Git per un singolo repository
<a name="identity-based-policies-example-2"></a>

In CodeCommit, le autorizzazioni della policy `GitPull` IAM si applicano a qualsiasi comando client Git da cui vengono recuperati i dati CodeCommit, inclusi **git fetch****git clone**, e così via. Allo stesso modo, le autorizzazioni della policy `GitPush` IAM si applicano a qualsiasi comando client Git a CodeCommit cui vengono inviati i dati. Ad esempio, se l'autorizzazione della policy `GitPush` IAM è impostata su`Allow`, un utente può inviare l'eliminazione di un ramo utilizzando il protocollo Git. Tale push non è influenzato da alcuna autorizzazione applicata all'`DeleteBranch`operazione per quell'utente IAM. L'`DeleteBranch`autorizzazione si applica alle azioni eseguite con la console, il AWS CLI SDKs, e l'API, ma non il protocollo Git. 

L'esempio seguente consente all'utente specificato di estrarre e inviare messaggi dal CodeCommit repository denominato`MyDemoRepo`:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:GitPull",
        "codecommit:GitPush"
      ],
      "Resource" : "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo"
    }
  ]
}
```

------

### Esempio 3: consentire a un utente che si connette da un intervallo di indirizzi IP specificato di accedere a un repository
<a name="identity-based-policies-example-3"></a>

Puoi creare una policy che consente agli utenti di connettersi a un repository CodeCommit se il loro indirizzo IP rientra in un determinato intervallo di indirizzi IP. Sono disponibili due approcci altrettanto validi a questo scopo. È possibile creare una `Deny` politica che non consenta CodeCommit le operazioni se l'indirizzo IP dell'utente non si trova all'interno di un blocco specifico oppure creare una `Allow` politica che consenta CodeCommit le operazioni se l'indirizzo IP dell'utente si trova all'interno di un blocco specifico.

Puoi creare una policy `Deny` che rifiuta l'accesso a tutti gli utenti non inclusi in un determinato intervallo di indirizzi IP. Ad esempio, puoi collegare la policy gestita AWSCodeCommitPowerUser e una policy gestita dal cliente a tutti gli utenti che richiedono l'accesso al repository. La seguente politica di esempio nega tutte le CodeCommit autorizzazioni agli utenti i cui indirizzi IP non rientrano nel blocco di indirizzi IP specificato di 203.0.113.0/16:

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Deny",
         "Action": [
            "codecommit:*"
         ],
         "Resource": "*",
         "Condition": {
            "NotIpAddress": {
               "aws:SourceIp": [
                  "203.0.113.0/16"
               ]
            }
         }
      }
   ]
}
```

------

La seguente politica di esempio consente all'utente specificato di accedere a un CodeCommit archivio denominato MyDemoRepo con le autorizzazioni equivalenti della politica AWSCode CommitPowerUser gestita solo se il relativo indirizzo IP si trova all'interno del blocco di indirizzi specificato di 203.0.113.0/16:

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "codecommit:BatchGetRepositories",
            "codecommit:CreateBranch",
            "codecommit:CreateRepository",
            "codecommit:Get*",
            "codecommit:GitPull",
            "codecommit:GitPush",
            "codecommit:List*",
            "codecommit:Put*",
            "codecommit:Post*",
            "codecommit:Merge*",
            "codecommit:TagResource",
            "codecommit:Test*",
            "codecommit:UntagResource",
            "codecommit:Update*"
         ],
         "Resource": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo",
         "Condition": {
            "IpAddress": {
               "aws:SourceIp": [
                  "203.0.113.0/16"
               ]
            }
         }
      }
   ]
}
```

------



### Esempio 4: negare o consentire azioni sulle filiali
<a name="identity-based-policies-example-4"></a>

Puoi creare una policy che rifiuta agli utenti le autorizzazioni per eseguire le operazioni specificate su uno o più rami. In alternativa, puoi creare una policy che consente di eseguire operazioni su uno o più rami che altrimenti non sarebbero consentite in altri rami di un repository. Puoi utilizzare queste policy con le policy gestite (predefinite) appropriate. Per ulteriori informazioni, consulta [Limita i push e le unioni ai rami in AWS CodeCommit](how-to-conditional-branch.md).

Ad esempio, è possibile creare una `Deny` politica che neghi agli utenti la possibilità di apportare modifiche a un ramo denominato main, inclusa l'eliminazione del ramo, in un repository denominato. *MyDemoRepo* Puoi usare questa policy con la policy gestita **AWSCodeCommitPowerUser**. Gli utenti con queste due politiche applicate sarebbero in grado di creare ed eliminare rami, creare richieste pull e tutte le altre azioni consentite da **AWSCodeCommitPowerUser**, ma non sarebbero in grado di inviare modifiche al ramo denominato *main*, aggiungere o modificare un file nel ramo *principale* della CodeCommit console o unire rami o una richiesta pull nel ramo *principale*. Poiché la policy `Deny` viene applicata a `GitPush`, devi includervi un'istruzione `Null` per consentire l'analisi della validità delle chiamate `GitPush` iniziali quando gli utenti eseguono push dai loro repository locali.

**Suggerimento**  
Se desideri creare una politica che si applichi a tutti i rami denominati *main* in tutti i repository del tuo account Amazon Web Services, per`Resource`, specifica un asterisco (`*`) anziché un ARN del repository.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "codecommit:GitPush",
                "codecommit:DeleteBranch",
                "codecommit:PutFile",
                "codecommit:Merge*"
            ],
            "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo",
            "Condition": {
                "StringEqualsIfExists": {
                    "codecommit:References": [
                        "refs/heads/main"   
                    ]
                },
                "Null": {
                    "codecommit:References": "false"
                }
            }
        }
    ]
}
```

------

La seguente politica di esempio consente a un utente di apportare modifiche a un ramo denominato main in tutti i repository di un account Amazon Web Services. Non consente modifiche a nessun altro ramo. È possibile utilizzare questa politica con la politica AWSCode CommitReadOnly gestita per consentire push automatici al repository nel ramo principale. Poiché l'effetto è `Allow`, questa policy di esempio non funzionerebbe con le policy gestite come AWSCodeCommitPowerUser.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:GitPush",
                "codecommit:Merge*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "codecommit:References": [
                        "refs/heads/main"
                    ]
                }
            }
        }
    ]
}
```

------



### Esempio 5: negare o consentire azioni sui repository con tag
<a name="identity-based-policies-example-5"></a>

Puoi creare una policy che consenta o neghi azioni sui repository in base ai AWS tag associati a tali repository e quindi applicare tali policy ai gruppi IAM configurati per la gestione degli utenti IAM. Ad esempio, puoi creare una policy che neghi tutte le CodeCommit azioni su qualsiasi repository con il AWS tag key *Status* e il valore chiave *Secret*, quindi applicare tale policy al gruppo IAM che hai creato per sviluppatori generici (). *Developers* Devi quindi assicurarti che gli sviluppatori che lavorano su quei repository con tag non siano membri di quel *Developers* gruppo generale, ma appartengano invece a un gruppo IAM diverso a cui non viene applicata la politica restrittiva (). *SecretDevelopers*

*L'esempio seguente nega tutte le CodeCommit azioni sui repository contrassegnati con la chiave *Status e il valore* chiave di Secret:*

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codecommit:Associate*",
        "codecommit:Batch*",
        "codecommit:CancelUploadArchive",
        "codecommit:CreateBranch",
        "codecommit:CreateCommit",
        "codecommit:CreatePullRequest*",
        "codecommit:CreateRepository",
        "codecommit:CreateUnreferencedMergeCommit",
        "codecommit:DeleteBranch",
        "codecommit:DeleteCommentContent",
        "codecommit:DeleteFile",
        "codecommit:DeletePullRequest*",
        "codecommit:DeleteRepository",
        "codecommit:Describe*",
        "codecommit:DisassociateApprovalRuleTemplateFromRepository",
        "codecommit:EvaluatePullRequestApprovalRules",
        "codecommit:GetBlob",
        "codecommit:GetBranch",
        "codecommit:GetComment*",
        "codecommit:GetCommit",
        "codecommit:GetDifferences*",
        "codecommit:GetFile",
        "codecommit:GetFolder",
        "codecommit:GetMerge*",
        "codecommit:GetObjectIdentifier",
        "codecommit:GetPullRequest*",
        "codecommit:GetReferences",
        "codecommit:GetRepository*",
        "codecommit:GetTree",
        "codecommit:GetUploadArchiveStatus",
        "codecommit:Git*",
        "codecommit:ListAssociatedApprovalRuleTemplatesForRepository",
        "codecommit:ListBranches",
        "codecommit:ListPullRequests",
        "codecommit:ListTagsForResource",
        "codecommit:Merge*",
        "codecommit:OverridePullRequestApprovalRules",
        "codecommit:Post*",
        "codecommit:Put*",
        "codecommit:TagResource",
        "codecommit:TestRepositoryTriggers",
        "codecommit:UntagResource",
        "codecommit:UpdateComment",
        "codecommit:UpdateDefaultBranch",
        "codecommit:UpdatePullRequest*",
        "codecommit:UpdateRepository*",
        "codecommit:UploadArchive"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Status": "Secret"
        }
      }
    }
  ]
}
```

------

È possibile perfezionare ulteriormente questa strategia specificando repository specifici, anziché tutti i repository, come risorse. È inoltre possibile creare politiche che consentano CodeCommit azioni su tutti gli archivi che non sono etichettati con tag specifici. Ad esempio, la seguente politica consente l'equivalente delle **AWSCodeCommitPowerUser** CodeCommit autorizzazioni per le azioni, tranne per il fatto che consente solo CodeCommit azioni su repository non contrassegnati con i tag specificati:

**Nota**  
Questo esempio di politica include solo azioni per. CodeCommit Non include azioni per altri AWS servizi inclusi nella politica **AWSCodeCommitPowerUser**gestita. Per ulteriori informazioni, consulta [AWS politica gestita: AWSCode CommitPowerUser](security-iam-awsmanpol.md#managed-policies-poweruser)..

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecommit:Associate*",
        "codecommit:Batch*",
        "codecommit:CancelUploadArchive",
        "codecommit:CreateBranch",
        "codecommit:CreateCommit",
        "codecommit:CreatePullRequest*",
        "codecommit:CreateRepository",
        "codecommit:CreateUnreferencedMergeCommit",
        "codecommit:DeleteBranch",
        "codecommit:DeleteCommentContent",
        "codecommit:DeleteFile",
        "codecommit:DeletePullRequest*",
        "codecommit:Describe*",
        "codecommit:DisassociateApprovalRuleTemplateFromRepository",
        "codecommit:EvaluatePullRequestApprovalRules",
        "codecommit:GetBlob",
        "codecommit:GetBranch",
        "codecommit:GetComment*",
        "codecommit:GetCommit",
        "codecommit:GetDifferences*",
        "codecommit:GetFile",
        "codecommit:GetFolder",
        "codecommit:GetMerge*",
        "codecommit:GetObjectIdentifier",
        "codecommit:GetPullRequest*",
        "codecommit:GetReferences",
        "codecommit:GetRepository*",
        "codecommit:GetTree",
        "codecommit:GetUploadArchiveStatus",
        "codecommit:Git*",
        "codecommit:ListAssociatedApprovalRuleTemplatesForRepository",
        "codecommit:ListBranches",
        "codecommit:ListPullRequests",
        "codecommit:ListTagsForResource",
        "codecommit:Merge*",
        "codecommit:OverridePullRequestApprovalRules",
        "codecommit:Post*",
        "codecommit:Put*",
        "codecommit:TagResource",
        "codecommit:TestRepositoryTriggers",
        "codecommit:UntagResource",
        "codecommit:UpdateComment",
        "codecommit:UpdateDefaultBranch",
        "codecommit:UpdatePullRequest*",
        "codecommit:UpdateRepository*",
        "codecommit:UploadArchive"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceTag/Status": "Secret",
          "aws:ResourceTag/Team": "Saanvi"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "codecommit:CreateApprovalRuleTemplate",
        "codecommit:GetApprovalRuleTemplate",
        "codecommit:ListApprovalRuleTemplates",
        "codecommit:ListRepositories",
        "codecommit:ListRepositoriesForApprovalRuleTemplate",
        "codecommit:UpdateApprovalRuleTemplateContent",
        "codecommit:UpdateApprovalRuleTemplateDescription",
        "codecommit:UpdateApprovalRuleTemplateName"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# CodeCommit riferimento alle autorizzazioni
<a name="auth-and-access-control-permissions-reference"></a>

Le tabelle seguenti elencano ogni operazione CodeCommit API, le azioni corrispondenti per le quali è possibile concedere le autorizzazioni e il formato della risorsa ARN da utilizzare per la concessione delle autorizzazioni. CodeCommit APIs Sono raggruppate in tabelle in base all'ambito delle azioni consentite da tale API. Fai riferimento ad essa quando configuri [Controllo accessi](auth-and-access-control.md#access-control) e scrivi le politiche di autorizzazione da allegare a un'identità IAM (politiche basate sull'identità). 

Quando si crea una policy di autorizzazione, è necessario specificare le operazioni nel campo `Action` della policy. Puoi specificare il valore della risorsa nel campo `Resource` della policy come ARN, con o senza un carattere jolly (\$1). 

Per esprimere le condizioni nelle tue CodeCommit policy, usa AWS le chiavi di condizione -wide. Per un elenco completo delle chiavi AWS-wide, consulta [Available Keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) nella *IAM User Guide*. Per informazioni complete su azioni, risorse e chiavi di condizione per CodeCommit le policy IAM, consulta [Actions, resources and condition keys for AWS CodeCommit](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodecommit.html). 

**Nota**  
Per specificare un'operazione, utilizza il prefisso `codecommit:` seguito dal nome dell'operazione API (ad esempio, `codecommit:GetRepository` o `codecommit:CreateRepository`). 

**Utilizzo di caratteri jolly **

Per specificare più operazioni o risorse, usa un carattere jolly (\$1) nell'ARN. Ad esempio, `codecommit:*` specifica tutte le CodeCommit azioni e `codecommit:Get*` specifica tutte le CodeCommit azioni che iniziano con la parola. `Get` L'esempio seguente concede l'accesso completo a tutti i repository con nomi che iniziano con `MyDemo`: 

```
arn:aws:codecommit:us-west-2:111111111111:MyDemo*
```

È possibile utilizzare i caratteri jolly solo con le *repository-name* risorse elencate nella tabella seguente. Non puoi usare i caratteri jolly con le nostre risorse*region*. *account-id* *Per ulteriori informazioni sui caratteri jolly, consulta [IAM Identifiers nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) User Guide.* 



**Topics**
+ [Autorizzazioni richieste per i comandi client Git](#aa-git)
+ [Autorizzazioni per le azioni sulle filiali](#aa-branches)
+ [Autorizzazioni per le azioni sulle unioni](#aa-merges)
+ [Autorizzazioni per le azioni sulle richieste pull](#aa-pr)
+ [Autorizzazioni per le azioni sui modelli di regole di approvazione](#aa-art)
+ [Autorizzazioni per azioni su singoli file](#aa-files)
+ [Autorizzazioni per le azioni sui commenti](#aa-comments)
+ [Autorizzazioni per azioni sul codice commesso](#aa-code)
+ [Autorizzazioni per le azioni sui repository](#aa-repositories)
+ [Autorizzazioni per le azioni sui tag](#aa-tags)
+ [Autorizzazioni per le azioni sui trigger](#aa-triggers)
+ [Autorizzazioni per azioni di integrazione CodePipeline](#aa-acp)

## Autorizzazioni richieste per i comandi client Git
<a name="aa-git"></a>

In CodeCommit, le autorizzazioni della policy `GitPull` IAM si applicano a qualsiasi comando client Git da cui vengono recuperati i dati CodeCommit, inclusi **git fetch****git clone**, e così via. Allo stesso modo, le autorizzazioni della policy `GitPush` IAM si applicano a qualsiasi comando client Git a CodeCommit cui vengono inviati i dati. Ad esempio, se l'autorizzazione della policy `GitPush` IAM è impostata su`Allow`, un utente può inviare l'eliminazione di un ramo utilizzando il protocollo Git. Tale push non è influenzato da alcuna autorizzazione applicata all'`DeleteBranch`operazione per quell'utente IAM. L'`DeleteBranch`autorizzazione si applica alle azioni eseguite con la console, il AWS CLI SDKs, e l'API, ma non il protocollo Git. 

`GitPull`e `GitPush` sono autorizzazioni relative alle policy IAM. Non sono operazioni API.

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Autorizzazioni richieste per le azioni relative ai comandi Git Client**  

| CodeCommit Autorizzazioni per Git | Autorizzazioni richieste  | Resources | 
| --- | --- | --- | 
|  GitPull  |  `codecommit:GitPull` Necessario per estrarre informazioni da un CodeCommit repository a un repository locale. Si tratta solo di un'autorizzazione di policy IAM, non di un'operazione API.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  GitPush  |  `codecommit:GitPush` Necessaria per eseguire il push di informazioni da un repository locale a un repository CodeCommit. Si tratta solo di un'autorizzazione di policy IAM, non di un'operazione API.  Se crei una policy che include una chiave di contesto e un'istruzione `Deny` che include questa autorizzazione, devi includere anche un contesto `Null`. Per ulteriori informazioni, consulta [Limita i push e le unioni ai rami in AWS CodeCommit](how-to-conditional-branch.md).   |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Autorizzazioni per le azioni sulle filiali
<a name="aa-branches"></a>

Le seguenti autorizzazioni consentono o negano azioni sulle filiali negli archivi. CodeCommit Queste autorizzazioni riguardano solo le azioni eseguite nella CodeCommit console e con l' CodeCommit API e i comandi eseguiti utilizzando. AWS CLI Non riguardano operazioni simili che possono essere eseguite con il protocollo Git. Ad esempio, il comando **git show-branch -r** visualizza un elenco dei rami remoti per un repository e i relativi commit utilizzando il protocollo Git. Non è influenzata da alcuna autorizzazione per l'operazione. CodeCommit `ListBranches` 

Per ulteriori informazioni sulle politiche per le filiali, consulta [Limita i push e le unioni ai rami in AWS CodeCommit](how-to-conditional-branch.md) e[Esempi di policy gestite dal cliente](customer-managed-policies.md).

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni sulle filiali**  

| CodeCommit Operazioni API per le filiali | Autorizzazioni necessarie (azioni API) | Resources | 
| --- | --- | --- | 
|  [CreateBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreateBranch.html)  |  `codecommit:CreateBranch` Necessario per creare una filiale in un CodeCommit repository.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [DeleteBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteBranch.html)  |  `codecommit:DeleteBranch` Necessario per eliminare un ramo da un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetBranch.html)  |  `codecommit:GetBranch` Necessaria per ottenere dettagli su un ramo in un repository CodeCommit.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [ListBranches](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListBranches.html) |  `codecommit:ListBranches` Necessaria per ottenere un elenco dei rami in un repository CodeCommit.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [MergeBranchesByFastForward](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergeBranchesByFastForward.html) |  `codecommit:MergeBranchesByFastForward` Necessario per unire due rami utilizzando la strategia di fusione rapida in un repository. CodeCommit   | regionaccount-idarn:aws:codecommit::: repository-name | 
| [MergeBranchesBySquash](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergeBranchesBySquash.html) |  `codecommit:MergeBranchesBySquash` Necessario per unire due rami utilizzando la strategia squash merge in un repository. CodeCommit   | arn:aws:codecommit::: region account-id repository-name | 
| [MergeBranchesByThreeWay](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergeBranchesByThreeWay.html) |  `codecommit:MergeBranchesByThreeWay` Necessario per unire due rami utilizzando la strategia di unione a tre vie in un repository. CodeCommit   | arn:aws:codecommit::: region account-id repository-name | 
| [UpdateDefaultBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateDefaultBranch.html) | codecommit:UpdateDefaultBranchNecessario per modificare il ramo predefinito in un repository. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Autorizzazioni per le azioni sulle unioni
<a name="aa-merges"></a>

Le seguenti autorizzazioni consentono o negano azioni sulle unioni nei repository. CodeCommit Queste autorizzazioni riguardano le azioni eseguite con la CodeCommit console e l' CodeCommitAPI e i comandi eseguiti utilizzando. AWS CLI Non riguardano operazioni simili che possono essere eseguite con il protocollo Git. Per le autorizzazioni correlate su rami, consulta [Autorizzazioni per le azioni sulle filiali](#aa-branches). Per le autorizzazioni correlate per le richieste di pull, consulta [Autorizzazioni per le azioni sulle richieste pull](#aa-pr).

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Autorizzazioni richieste per le azioni per i comandi di unione**  

| CodeCommit Autorizzazioni per le unioni | Autorizzazioni richieste  | Resources | 
| --- | --- | --- | 
|  [BatchDescribeMergeConflicts](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_BatchDescribeMergeConflicts.html)  |  `codecommit:BatchDescribeMergeConflicts` Necessario per restituire informazioni sui conflitti in un'unione tra commit in un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [CreateUnreferencedMergeCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreateUnreferencedMergeCommit.html)  |  `codecommit:CreateUnreferencedMergeCommit` Necessario per creare un commit non referenziato tra due rami o commit in un CodeCommit repository allo scopo di confrontarli e identificare eventuali conflitti potenziali.   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [DescribeMergeConflicts](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DescribeMergeConflicts.html)  |  `codecommit:DescribeMergeConflicts` Necessario per restituire informazioni sui conflitti di fusione tra le versioni di base, di origine e di destinazione di un file in una potenziale unione in un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetMergeCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetMergeCommit.html)  |  `codecommit:GetMergeCommit` Necessario per restituire informazioni sull'unione tra un commit di origine e uno di destinazione in un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetMergeOptions](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetMergeOptions.html)  |  `codecommit:GetMergeOptions` Richiesto per restituire informazioni sulle opzioni di unione disponibili tra due rami o specificatori di commit in un repository CodeCommit.   |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Autorizzazioni per le azioni sulle richieste pull
<a name="aa-pr"></a>

Le seguenti autorizzazioni permettono o rifiutano le richieste pull nei repository CodeCommit. Queste autorizzazioni riguardano le azioni eseguite con la CodeCommit console e l' CodeCommit API e i comandi eseguiti utilizzando. AWS CLI Non riguardano operazioni simili che possono essere eseguite con il protocollo Git. Per le autorizzazioni correlate sui commenti, consulta [Autorizzazioni per le azioni sui commenti](#aa-comments).

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni sulle richieste Pull**  

| CodeCommit Operazioni API | Autorizzazioni necessarie (operazioni API) | Resources | 
| --- | --- | --- | 
|  BatchGetPullRequests  |  `codecommit:BatchGetPullRequests` Necessario per restituire informazioni su una o più richieste pull in un CodeCommit repository. Questa è solo l'autorizzazione di una policy IAM, non un'azione API che puoi chiamare.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [CreatePullRequest](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreatePullRequest.html)  |  `codecommit:CreatePullRequest` Necessaria per creare una richiesta di pull in un repository CodeCommit.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [CreatePullRequestApprovalRule](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreatePullRequestApprovalRule.html) |  `codecommit:CreatePullRequestApprovalRule` Necessario per creare una regola di approvazione per una richiesta pull in un repository CodeCommit .  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [DeletePullRequestApprovalRule](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeletePullRequestApprovalRule.html) |  `codecommit:DeletePullRequestApprovalRule` Necessario per eliminare una regola di approvazione per una richiesta pull in un repository CodeCommit .  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [DescribePullRequestEvents](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DescribePullRequestEvents.html) | Necessario per restituire informazioni su uno o più eventi di pull request in un repository. CodeCommit  | arn:aws:codecommit::: region account-id repository-name | 
| [EvaluatePullRequestApprovalRules](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_EvaluatePullRequestApprovalRules.html) |  `codecommit:EvaluatePullRequestApprovalRules` Necessario per valutare se una richiesta pull ha soddisfatto tutte le condizioni specificate nelle regole di approvazione associate in un repository CodeCommit.   |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [GetCommentsForPullRequest](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetCommentsForPullRequest.html)  |  `codecommit:GetCommentsForPullRequest` Necessaria per restituire i commenti effettuati su una richiesta di pull.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| GetCommitsFromMergeBase |  `codecommit:GetCommitsFromMergeBase` Necessaria per restituire informazioni sulla differenza tra i commit nel contesto di una potenziale unione. Questa è solo un'autorizzazione della policy IAM, non un'azione API che puoi chiamare.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [GetMergeConflicts](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetMergeConflicts.html) |  `codecommit:GetMergeConflicts` Necessario per restituire informazioni sui conflitti di unione tra il ramo di origine e quello di destinazione in una pull request.  | arn:aws:codecommit::: region account-id repository-name | 
|  [GetPullRequest](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetPullRequest.html)  |  `codecommit:GetPullRequest` Necessaria per restituire informazioni su una richiesta di pull.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [GetPullRequestApprovalStates](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetPullRequestApprovalStates.html)  |  `codecommit:GetPullRequestApprovalStates` Necessario per restituire informazioni sugli stati di approvazione per una richiesta pull specificata.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [GetPullRequestOverrideState](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetPullRequestOverrideState.html)  |  `codecommit:GetPullRequestOverrideState` Obbligatorio per indicare se le regole di approvazione sono state messe da parte (sostituite) per una pull request e, in caso affermativo, l'Amazon Resource Name (ARN) dell'utente o dell'identità che ha annullato le regole e i relativi requisiti per la pull request.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [ListPullRequests](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListPullRequests.html) |  `codecommit:ListPullRequests` Necessaria per restituire informazioni sulla richiesta di pull per un repository.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [MergePullRequestByFastForward](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergePullRequestByFastForward.html) | codecommit:MergePullRequestByFastForwardNecessaria per chiudere una richiesta di pull e tentare di unire il ramo di origine al ramo di destinazione di una richiesta di pull utilizzando la strategia di unione avanzamento rapido. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [MergePullRequestBySquash](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergePullRequestBySquash.html) | codecommit:MergePullRequestBySquashNecessaria per chiudere una richiesta di pull e tentare di unire il ramo di origine al ramo di destinazione di una richiesta di pull utilizzando la strategia di unione squash. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [MergePullRequestByThreeWay](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_MergePullRequestByThreeWay.html) | codecommit:MergePullRequestByThreeWayNecessaria per chiudere una richiesta di pull e tentare di unire il ramo di origine al ramo di destinazione di una richiesta di pull utilizzando la strategia di unione a tre vie. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [OverridePullRequestApprovalRules](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_OverridePullRequestApprovalRules.html) | codecommit:OverridePullRequestApprovalRules Necessario per mettere da parte tutti i requisiti delle regole di approvazione per una pull request in un repository. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [PostCommentForPullRequest](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PostCommentForPullRequest.html) | codecommit:PostCommentForPullRequest Necessaria per pubblicare un commento su una richiesta di pull in un repository CodeCommit. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [UpdatePullRequestApprovalRuleContent](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestApprovalRuleContent.html) | codecommit:UpdatePullRequestApprovalRuleContent Necessario per modificare la struttura di una regola di approvazione per una pull request in un repository. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [UpdatePullRequestApprovalState](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestApprovalState.html) | codecommit:UpdatePullRequestApprovalState Necessario per modificare lo stato di un'approvazione su una pull request in un repository. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [UpdatePullRequestDescription](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestDescription.html) | codecommit:UpdatePullRequestDescription Necessaria per modificare la descrizione di una richiesta di pull in un repository CodeCommit . |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [UpdatePullRequestStatus](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestStatus.html) | codecommit:UpdatePullRequestStatus Necessaria per modificare lo stato di una richiesta di pull in un repository CodeCommit. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [UpdatePullRequestTitle](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdatePullRequestTitle.html) | codecommit:UpdatePullRequestTitle Necessaria per modificare il titolo di una richiesta di pull in un repository CodeCommit. |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Autorizzazioni per le azioni sui modelli di regole di approvazione
<a name="aa-art"></a>

Le seguenti autorizzazioni consentono o negano operazioni sui modelli di regola di approvazione nei repository CodeCommit . Queste autorizzazioni riguardano solo le azioni eseguite nella CodeCommit console, nell' CodeCommit API e i comandi eseguiti utilizzando. AWS CLI Non riguardano operazioni simili che possono essere eseguite con il protocollo Git. Per le autorizzazioni correlate per le richieste di pull, consulta [Autorizzazioni per le azioni sulle richieste pull](#aa-pr).

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni sui modelli di regole di approvazione**  

| CodeCommit Operazioni API per i modelli di regole di approvazione | Autorizzazioni richieste  | Resources | 
| --- | --- | --- | 
|  [AssociateApprovalRuleTemplateWithRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_AssociateApprovalRuleTemplateWithRepository.html)  |  `codecommit:AssociateApprovalRuleTemplateWithRepository` Necessario per associare un modello a un repository specificato in un account Amazon Web Services. Una volta associato, questo crea automaticamente regole di approvazione che corrispondono alle condizioni del modello per ogni richiesta pull creata nel repository specificato.  |  \$1  | 
|  [BatchAssociateApprovalRuleTemplateWithRepositories](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_BatchAssociateApprovalRuleTemplateWithRepositories.html)  |  `codecommit:BatchAssociateApprovalRuleTemplateWithRepositories` Necessario per associare un modello a uno o più repository specificati in un account Amazon Web Services.  |  \$1  | 
|  [BatchDisassociateApprovalRuleTemplateFromRepositories](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_BatchDisassociateApprovalRuleTemplateFromRepositories.html)  |  `codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories` Necessario per dissociare un modello da uno o più repository specificati in un account Amazon Web Services.  |  \$1  | 
|  [CreateApprovalRuleTemplate](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_CreateApprovalRuleTemplate.html)  |  `codecommit:CreateApprovalRuleTemplate` Necessario per creare un modello per le regole di approvazione che possono essere associate a uno o più repository nell'account AWS .  |  \$1  | 
|  [DeleteApprovalRuleTemplate](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteApprovalRuleTemplate.html)  |  `codecommit:DeleteApprovalRuleTemplate` Necessario per eliminare il modello specificato in un account Amazon Web Services. Non rimuove le regole di approvazione sulle richieste pull già create con il modello.   |  \$1  | 
|  [DisassociateApprovalRuleTemplateFromRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DisassociateApprovalRuleTemplateFromRepository.html)  |  `codecommit:DisassociateApprovalRuleTemplateFromRepository` Necessario per dissociare il modello specificato da un repository in un account Amazon Web Services. Non rimuove le regole di approvazione sulle richieste pull già create con il modello.   |  \$1  | 
|  [GetApprovalRuleTemplate](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetApprovalRuleTemplate.html)  |  `codecommit:GetApprovalRuleTemplate` Necessario per restituire informazioni su un modello di regola di approvazione in un account Amazon Web Services.   |  \$1  | 
|  [ListApprovalRuleTemplates](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListApprovalRuleTemplates.html)  |  `codecommit:ListApprovalRuleTemplates` Necessario per elencare i modelli di regole di approvazione in un account Amazon Web Services.   |  \$1  | 
|  [ListAssociatedApprovalRuleTemplatesForRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListAssociatedApprovalRuleTemplatesForRepository.html)  |  `codecommit:ListAssociatedApprovalRuleTemplatesForRepository` Necessario per elencare tutti i modelli di regole di approvazione associati a un repository specificato in un account Amazon Web Services.   |  \$1  | 
|  [ListRepositoriesForApprovalRuleTemplate](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListRepositoriesForApprovalRuleTemplate.html)  |  `codecommit:ListRepositoriesForApprovalRuleTemplate` Necessario per elencare tutti i repository associati a un modello di regola di approvazione specificato in un account Amazon Web Services.   |  \$1  | 
|  [UpdateApprovalRuleTemplateContent](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateApprovalRuleTemplateContent.html)  |  `codecommit:UpdateApprovalRuleTemplateContent` Necessario per aggiornare il contenuto di un modello di regola di approvazione in un account Amazon Web Services.   |  \$1  | 
|  [UpdateApprovalRuleTemplateDescription](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateApprovalRuleTemplateDescription.html)  |  `codecommit:UpdateApprovalRuleTemplateDescription` Necessario per aggiornare la descrizione di un modello di regola di approvazione in un account Amazon Web Services.   |  \$1  | 
|  [UpdateApprovalRuleTemplateName](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateApprovalRuleTemplateName.html)  |  `codecommit:UpdateApprovalRuleTemplateName` Necessario per aggiornare il nome di un modello di regola di approvazione in un account Amazon Web Services.   |  \$1  | 

## Autorizzazioni per azioni su singoli file
<a name="aa-files"></a>

Le seguenti autorizzazioni permettono o rifiutano le operazioni su singoli file nei repository CodeCommit. Queste autorizzazioni riguardano solo le azioni eseguite nella CodeCommit console, nell' CodeCommit API e i comandi eseguiti utilizzando. AWS CLI Non riguardano operazioni simili che possono essere eseguite con il protocollo Git. Ad esempio, il comando `git push` esegue il push dei file nuovi e modificati in un repository CodeCommit utilizzando il protocollo Git. Non è influenzata da alcuna autorizzazione per l'operazione. CodeCommit `PutFile`

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni su singoli file**  

| CodeCommit Operazioni API per singoli file | Autorizzazioni richieste  | Resources | 
| --- | --- | --- | 
|  [DeleteFile](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteFile.html)  |  `codecommit:DeleteFile` Necessario per eliminare un file specificato da un ramo specificato in un CodeCommit repository dalla CodeCommit console.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetBlob](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetBlob.html)  |  `codecommit:GetBlob` Necessario per visualizzare il contenuto codificato di un singolo file in un repository dalla console. CodeCommit CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetFile](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetFile.html)  |  `codecommit:GetFile` Necessario per visualizzare il contenuto codificato di un singolo file e i relativi metadati in un repository dalla console. CodeCommit CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetFolder](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetFolder.html)  |  `codecommit:GetFolder` Necessario per visualizzare il contenuto di una cartella specificata in un CodeCommit repository dalla console. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [PutFile](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PutFile.html)  |  `codecommit:PutFile` Necessario per aggiungere un file nuovo o modificato a un CodeCommit repository dalla CodeCommit console, dall'API o da. CodeCommit AWS CLI  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Autorizzazioni per le azioni sui commenti
<a name="aa-comments"></a>

Le seguenti autorizzazioni consentono o negano azioni sui commenti negli archivi. CodeCommit Queste autorizzazioni riguardano le azioni eseguite con la CodeCommit console e l' CodeCommitAPI e i comandi eseguiti utilizzando. AWS CLI Per le autorizzazioni correlate sui commenti nelle richieste pull, consulta [Autorizzazioni per le azioni sulle richieste pull](#aa-pr).

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per i commenti negli archivi**  

| CodeCommit Operazioni API | Autorizzazioni necessarie (operazioni API) | Resources | 
| --- | --- | --- | 
|  [DeleteCommentContent](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteCommentContent.html)  |  `codecommit:DeleteCommentContent` Necessaria per eliminare il contenuto di un commento effettuato su una modifica, un file o un commit in un repository. I commenti non possono essere eliminati, ma il contenuto di un commento può essere rimosso se l'utente dispone di questa autorizzazione.   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetComment](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetComment.html)  |  `codecommit:GetComment` Necessario per restituire informazioni su un commento fatto su una modifica, un file o un commit in un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetCommentReactions](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetCommentReactions.html)  |  `codecommit:GetCommentReactions` Necessario per restituire informazioni sulle reazioni emoji a un commento fatto su una modifica, un file o un commit in un repository. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetCommentsForComparedCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetCommentsForComparedCommit.html)  |  `codecommit:GetCommentsForComparedCommit` Necessario per restituire informazioni sui commenti fatti sul confronto tra due commit in un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [PostCommentForComparedCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PostCommentForComparedCommit.html)  |  `codecommit:PostCommentForComparedCommit` Necessario per creare un commento sul confronto tra due commit in un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [PostCommentReply](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PostCommentReply.html) |  `codecommit:PostCommentReply` Necessaria per creare una risposta a un commento su un confronto tra commit o su una richiesta di pull.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [PutCommentReaction](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PutCommentReaction.html) |  `codecommit:PutCommentReaction` Necessario per creare o aggiornare una reazione emoji a un commento.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [UpdateComment](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateComment.html) |  `codecommit:UpdateComment` Necessaria per modificare un commento su un confronto tra commit o su una richiesta di pull. I commenti possono essere modificati solo dall'autore.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Autorizzazioni per azioni sul codice commesso
<a name="aa-code"></a>

Le seguenti autorizzazioni permettono o rifiutano le operazioni sul codice sottoposto a commit nei repository CodeCommit. Queste autorizzazioni riguardano le azioni eseguite con la CodeCommit console e l' CodeCommit API e i comandi eseguiti utilizzando. AWS CLI Non riguardano operazioni simili che possono essere eseguite con il protocollo Git. Ad esempio, il comando **git commit** crea un commit per un ramo in un repository utilizzando il protocollo Git. Non è influenzata da alcuna autorizzazione per l'operazione. CodeCommit `CreateCommit` 

La negazione esplicita di alcune di queste autorizzazioni potrebbe comportare conseguenze impreviste sulla console. CodeCommit Ad esempio, se si imposta `GetTree` su `Deny` si impedisce agli utenti di esplorare il contenuto di un repository nella console, ma non di visualizzare il contenuto di un file nel repository (ad esempio se ricevono un messaggio e-mail contenente un link al file). Se si imposta `GetBlob` su `Deny` si impedisce agli utenti di visualizzare il contenuto dei file, ma non di esplorare la struttura di un repository. Se si imposta `GetCommit` su `Deny` si impedisce agli utenti di recuperare dettagli sui commit. Se si imposta `GetObjectIdentifier` su `Deny` si blocca la maggior parte delle funzionalità di esplorazione del codice. Se imposti tutte e tre queste azioni `Deny` in una policy, un utente con quella policy non può sfogliare il codice nella console. CodeCommit 

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni sul codice commesso**  

| CodeCommit Operazioni API | Autorizzazioni necessarie (operazioni API) | Resources | 
| --- | --- | --- | 
|  BatchGetCommits  |  `codecommit:BatchGetCommits` Necessaria per restituire informazioni su uno o più commit in un repository CodeCommit . Si tratta solo di un'autorizzazione della policy IAM, non di un'azione API che puoi chiamare.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [CreateCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/CreateCommit.html) |  `codecommit:CreateCommit` Obbligatoria per creare un commit.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [GetCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/GetCommit.html)  |  `codecommit:GetCommit` Necessaria per restituire informazioni su un commit.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  GetCommitHistory  |  `codecommit:GetCommitHistory` Necessaria per restituire informazioni sulla cronologia dei commit in un repository. Questa è solo un'autorizzazione della policy IAM, non un'azione API che puoi chiamare.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [GetDifferences](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetDifferences.html) |  `codecommit:GetDifferences` Necessaria per restituire informazioni sulle differenze tra gli specificatori di commit (ad esempio un ramo, tag, HEAD, ID commit o altri riferimenti completi).  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| GetObjectIdentifier | codecommit:GetObjectIdentifierNecessaria per risolvere BLOB, alberi e commit nel relativo identificatore. Questa è solo un'autorizzazione della policy IAM, non un'azione API che puoi chiamare. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| GetReferences | codecommit:GetReferencesNecessaria per restituire tutti i riferimenti, ad esempio rami e tag. Questa è solo un'autorizzazione della policy IAM, non un'azione API che puoi chiamare. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| GetTree | codecommit:GetTreeNecessario per visualizzare il contenuto di un albero specificato in un CodeCommit repository dalla console. CodeCommit Si tratta solo di un'autorizzazione della policy IAM, non di un'azione API che puoi chiamare. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Autorizzazioni per le azioni sui repository
<a name="aa-repositories"></a>

Le seguenti autorizzazioni consentono o negano azioni sui repository. CodeCommit Queste autorizzazioni riguardano le azioni eseguite con la CodeCommit console e l' CodeCommit API e i comandi eseguiti utilizzando. AWS CLI Non riguardano operazioni simili che possono essere eseguite con il protocollo Git. 

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni sui repository**  

| CodeCommit Operazioni API | Autorizzazioni necessarie (operazioni API) | Resources | 
| --- | --- | --- | 
|  [BatchGetRepositories](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_BatchGetRepositories.html)  |  `codecommit:BatchGetRepositories` Necessario per ottenere informazioni su più CodeCommit repository in un account Amazon Web Services. In`Resource`, devi specificare i nomi di tutti i CodeCommit repository per i quali a un utente sono consentite (o negate) le informazioni.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [CreateRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/CreateRepository.html)  |  `codecommit:CreateRepository` Necessario per creare un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [DeleteRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_DeleteRepository.html)  |  `codecommit:DeleteRepository` Necessario per eliminare un repository. CodeCommit   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [GetRepository](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetRepository.html) |  `codecommit:GetRepository` Necessaria per ottenere informazioni su un singolo repository CodeCommit.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
| [ListRepositories](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListRepositories.html) | codecommit:ListRepositoriesNecessario per ottenere un elenco dei nomi e IDs del sistema di più CodeCommit repository per un account Amazon Web Services. Il solo valore consentito per `Resource` per questa operazione è tutti i repository (`*`). |  \$1  | 
| [UpdateRepositoryDescription](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateRepositoryDescription.html) | codecommit:UpdateRepositoryDescriptionNecessario per modificare la descrizione di un CodeCommit repository. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| [UpdateRepositoryName](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UpdateRepositoryName.html) | codecommit:UpdateRepositoryNameNecessario per cambiare il nome di un repository. CodeCommit In`Resource`, è necessario specificare sia i CodeCommit repository che possono essere modificati sia i nuovi nomi dei repository. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Autorizzazioni per le azioni sui tag
<a name="aa-tags"></a>

Le seguenti autorizzazioni consentono o negano azioni sui AWS tag delle risorse. CodeCommit 

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni sui tag**  

| CodeCommit Operazioni API | Autorizzazioni necessarie (operazioni API) | Resources | 
| --- | --- | --- | 
|  [ListTagsForResource](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_ListTagsForResource.html)  |  `codecommit:ListTagsForResource` Necessario per restituire informazioni sui AWS tag configurati su una risorsa in CodeCommit.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [TagResource](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_TagResource.html)  |  `codecommit:TagResource` Necessario per aggiungere o modificare i AWS tag per una risorsa in. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [UntagResource](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_UntagResource.html)  |  `codecommit:UntagResource` Necessario per rimuovere i AWS tag da una risorsa in. CodeCommit  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

## Autorizzazioni per le azioni sui trigger
<a name="aa-triggers"></a>

Le seguenti autorizzazioni permettono o rifiutano le operazioni sui trigger per i repository CodeCommit. 

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni sui trigger**  

| CodeCommit Operazioni API | Autorizzazioni necessarie (operazioni API) | Resources | 
| --- | --- | --- | 
|  [GetRepositoryTriggers](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetRepositoryTriggers.html)  |  `codecommit:GetRepositoryTriggers` Necessaria per restituire informazioni sui trigger configurati per un repository.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [PutRepositoryTriggers](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PutRepositoryTriggers.html)  |  `codecommit:PutRepositoryTriggers` Necessaria per creare, modificare o eliminare i trigger per un repository.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 
|  [TestRepositoryTriggers](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_TestRepositoryTriggers.html)  |  `codecommit:TestRepositoryTriggers` Necessaria per testare le funzionalità di un trigger di repository mediante l'invio di dati all'argomento o alla funzione configurata per il trigger.  |  arn:aws:codecommit:*region*:*account-id*: *repository-name*  | 

## Autorizzazioni per azioni di integrazione CodePipeline
<a name="aa-acp"></a>

 CodePipeline Per utilizzare un CodeCommit repository in un'azione di origine per una pipeline, è necessario concedere tutte le autorizzazioni elencate nella tabella seguente al ruolo di servizio per. CodePipeline Se queste autorizzazioni non sono impostate nel ruolo del servizio o vengono impostate su **Deny**, la pipeline non viene eseguita automaticamente quando viene apportata una modifica al repository e non è possibile rilasciare manualmente le modifiche. 

Utilizzare le barre di scorrimento per visualizzare il resto della tabella.


**CodeCommit Operazioni API e autorizzazioni richieste per le azioni di integrazione CodePipeline**  

| CodeCommit Operazioni API | Autorizzazioni necessarie (operazioni API) | Resources | 
| --- | --- | --- | 
|  [GetBranch](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetBranch.html)  |  `codecommit:GetBranch` Necessaria per ottenere dettagli su un ramo in un repository CodeCommit.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  [GetCommit](https://docs.aws.amazon.com/codecommit/latest/APIReference/GetCommit.html)  |  `codecommit:GetCommit` Necessario per restituire informazioni su un commit nel ruolo di servizio per. CodePipeline   |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  UploadArchive  |  `codecommit:UploadArchive` Necessario per consentire al ruolo di servizio di caricare le modifiche CodePipeline al repository in una pipeline. Si tratta solo di un'autorizzazione della policy IAM, non di un'azione API che puoi chiamare.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
|  GetUploadArchiveStatus  |  `codecommit:GetUploadArchiveStatus` Necessaria per determinare lo stato di un caricamento di archivio, ovvero se è in corso, completato, annullato o se si è verificato un errore. Questa è solo un'autorizzazione della policy IAM, non un'azione API che puoi chiamare.  |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 
| CancelUploadArchive | codecommit:CancelUploadArchiveNecessaria per annullare il caricamento di un archivio in una pipeline. Questa è solo un'autorizzazione della policy IAM, non un'azione API che può essere chiamata. |  arn:aws:codecommit::: *region* *account-id* *repository-name*  | 

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

Prima di utilizzare IAM per gestire l'accesso a CodeCommit, è necessario comprendere con quali funzionalità IAM è disponibile l'uso CodeCommit. Per avere una visione di alto livello di come CodeCommit e altri AWS servizi funzionano con IAM, consulta [AWS Services That Work with IAM nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *User Guide*.

**Topics**
+ [Chiavi di condizione](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [Esempi](#security_iam_service-with-iam-id-based-policies-examples)

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

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

 Alcune CodeCommit azioni supportano la chiave di `codecommit:References` condizione. Per una policy di esempio che utilizza questa chiave, consulta [Esempio 4: negare o consentire azioni sulle filiali](customer-managed-policies.md#identity-based-policies-example-4). 

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

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



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

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

CodeCommit non supporta politiche basate sulle risorse. 

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

È possibile allegare tag alle CodeCommit risorse o passare tag in una richiesta a CodeCommit. 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 `codecommit:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`. Per ulteriori informazioni sull'etichettatura CodeCommit delle risorse, consulta[Esempio 5: negare o consentire azioni sui repository con tag](customer-managed-policies.md#identity-based-policies-example-5). Per ulteriori informazioni sulle strategie di etichettatura, consulta [AWS Tagging](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) Resources.

CodeCommit supporta anche politiche basate sui tag di sessione. Per ulteriori informazioni, consulta la sezione relativa ai [tag di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html). 

### Utilizzo dei tag per fornire informazioni sull'identità in CodeCommit
<a name="security-iam_service-with-iam-tags-identity"></a>

CodeCommit supporta l'uso di tag di sessione, che sono attributi di coppia chiave-valore che vengono trasmessi quando si assume un ruolo IAM, si utilizzano credenziali temporanee o si federa un utente in (). AWS Security Token Service AWS STSÈ inoltre possibile associare tag a un utente IAM. Puoi utilizzare le informazioni fornite in questi tag per identificare più facilmente chi ha apportato una modifica o causato un evento. CodeCommit include i valori per i tag con i seguenti nomi chiave negli CodeCommit eventi:


****  

| Nome chiave | Valore | 
| --- | --- | 
| displayName | Il nome in formato leggibile da visualizzare e associare all'utente (ad esempio, Mary Major o Saanvi Sarkar). | 
| emailAddress | L'indirizzo e-mail che si desidera visualizzare e associare all'utente (ad esempio, mary\$1major@example.com o saanvi\$1sarkar@example.com). | 

Se queste informazioni vengono fornite, le CodeCommit include negli eventi inviati ad Amazon EventBridge e Amazon CloudWatch Events. Per ulteriori informazioni, consulta [Monitoraggio CodeCommit degli eventi in Amazon EventBridge e Amazon CloudWatch Events](monitoring-events.md).

Per utilizzare il tagging di sessione, i ruoli devono disporre di policy che includano l'autorizzazione `sts:TagSession` impostata su `Allow`. Se si utilizza l'accesso federato, è possibile configurare le informazioni relative al nome visualizzato e al tag di e-mail come parte della configurazione. Ad esempio, se si utilizza Azure Active Directory, è possibile fornire le seguenti informazioni di registrazione:


****  

| Nome di registrazione | Valore | 
| --- | --- | 
| https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName | user.displayname | 
| https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress | user.mail | 

Puoi usare il AWS CLI per passare i tag di sessione `displayName` e `emailAddress` utilizzarli**AssumeRole**. Ad esempio, un utente che desidera assumere un ruolo denominato *Developer* chi desidera associare il proprio nome *Mary Major* potrebbe utilizzare il **assume-role** comando simile al seguente:

```
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/Developer \
--role-session-name Mary-Major \
–-tags Key=displayName,Value="Mary Major" Key=emailAddress,Value="mary_major@example.com" \
--external-id Example987
```

Per ulteriori informazioni, consulta [AssumeRole](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-assume-role).

È possibile utilizzare l'operazione `AssumeRoleWithSAML` per restituire un set di credenziali temporanee che includano i tag `displayName` e `emailAddress`. È possibile utilizzare questi tag quando si accede ai repository CodeCommit. Ciò richiede che l'azienda o il gruppo abbiano già integrato la soluzione SAML di terze parti con AWS. In tal caso, è possibile passare gli attributi SAML come tag di sessione. Ad esempio, se desideri passare gli attributi di identità per un nome visualizzato e un indirizzo e-mail per un utente *Saanvi Sarkar* denominato tag di sessione:

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName">
  <AttributeValue>Saanvi Sarkar</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress">
  <AttributeValue>saanvi_sarkar@example.com</AttributeValue>
</Attribute>
```

Per maggiori informazioni, consulta [Passare i tag di sessione utilizzando AssumeRoleWith SAML.](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-assume-role-saml)

È possibile utilizzare l'operazione `AssumeRoleWithIdentity` per restituire un set di credenziali temporanee che includano i tag `displayName` e `emailAddress`. È possibile utilizzare questi tag quando si accede ai repository CodeCommit. Per passare i tag di sessione da OpenID Connect (OIDC), è necessario includere i tag di sessione nel Token Web JSON (JWT). Ad esempio, il token JWP decodificato utilizzato per la chiamata include `AssumeRoleWithWebIdentity` i tag `displayName` e `emailAddress` session per un utente denominato: *Li Juan*

```
{
    "sub": "lijuan",
    "aud": "ac_oic_client",
    "jti": "ZYUCeREXAMPLE",
    "iss": "https://xyz.com",
    "iat": 1566583294,
    "exp": 1566583354,
    "auth_time": 1566583292,
    "https://aws.amazon.com/tags": {
        "principal_tags": {
            "displayName": ["Li Juan"],
            "emailAddress": ["li_juan@example.com"],
        },
        "transitive_tag_keys": [
            "displayName",
            "emailAddress"
        ]
    }
}
```

Per ulteriori informazioni, vedete [Passare i tag di sessione utilizzando](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-assume-role-idp). AssumeRoleWithWebIdentity

È possibile utilizzare l'operazione `GetFederationToken` per restituire un set di credenziali temporanee che includano i tag `displayName` e `emailAddress`. È possibile utilizzare questi tag quando si accede ai repository CodeCommit. Ad esempio, per utilizzare il AWS CLI per ottenere un token di federazione che includa i `emailAddress` tag `displayName` and:

```
aws sts get-federation-token \
--name my-federated-user \
–-tags key=displayName,value="Nikhil Jayashankar" key=emailAddress,value=nikhil_jayashankar@example.com
```

Per ulteriori informazioni, consulta [Passare i tag di sessione utilizzando GetFederationToken](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-getfederationtoken).

## CodeCommit 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à all'interno dell'account Amazon Web Services che dispone di autorizzazioni specifiche.

### Utilizzo di credenziali temporanee con CodeCommit
<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) 

CodeCommit supporta l'utilizzo di credenziali temporanee. Per ulteriori informazioni, consulta [Connessione ai AWS CodeCommit repository con credenziali rotanti](temporary-access.md).

### Ruoli collegati ai servizi
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[I ruoli collegati ai](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) AWS servizi consentono ai servizi di accedere alle risorse di altri servizi per completare un'azione per conto dell'utente. I ruoli collegati ai servizi sono visualizzati nell'account IAM e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati ai servizi, ma non può modificarle.

CodeCommit non utilizza ruoli collegati ai servizi. 

### Ruoli dei servizi
<a name="security_iam_service-with-iam-roles-service"></a>

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

CodeCommit non utilizza ruoli di servizio. 

## AWS CodeCommit 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 CodeCommit . 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 collegare queste policy a utenti o IAM che richiedono tali autorizzazioni.

Per esempi di policy, consultare i seguenti argomenti:
+  [Esempio 1: consentire a un utente di eseguire operazioni in un'unica soluzione CodeCommit Regione AWS](customer-managed-policies.md#identity-based-policies-example-1)
+ [Esempio 2: consentire a un utente di utilizzare Git per un singolo repository](customer-managed-policies.md#identity-based-policies-example-2)
+ [Esempio 3: consentire a un utente che si connette da un intervallo di indirizzi IP specificato di accedere a un repository](customer-managed-policies.md#identity-based-policies-example-3)
+ [Esempio 4: negare o consentire azioni sulle filiali](customer-managed-policies.md#identity-based-policies-example-4)
+ [Esempio 5: negare o consentire azioni sui repository con tag](customer-managed-policies.md#identity-based-policies-example-5)
+ [Configura l'accesso tra account a un AWS CodeCommit repository utilizzando i ruoli](cross-account.md)

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

**Topics**
+ [Best practice delle policy](#security_iam_service-with-iam-policy-best-practices)
+ [Utilizzo della console CodeCommit](#security_iam_id-based-policy-examples-console)
+ [Consentire agli utenti di visualizzare le loro autorizzazioni](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Visualizzazione basata sui tag CodeCommit *repositories*](#security_iam_id-based-policy-examples-view-repositories-tags)

### Best practice delle 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 CodeCommit risorse nel tuo account. Queste azioni 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*.

### Utilizzo della console CodeCommit
<a name="security_iam_id-based-policy-examples-console"></a>

Per accedere alla AWS CodeCommit console, è necessario disporre di un set minimo di autorizzazioni. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle CodeCommit risorse nel tuo account Amazon Web Services. Se crei una policy basata su identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (utenti e ruoli IAM) associate a tale policy.

Per garantire che tali entità possano ancora utilizzare la CodeCommit console, allega anche la seguente politica AWS gestita alle entità. Per ulteriori informazioni, consulta [Aggiunta di autorizzazioni a un utente](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l'utente di IAM*:

Per ulteriori informazioni, consulta [Utilizzo di policy basate sull'identità (IAM Policies) per CodeCommit](auth-and-access-control-iam-identity-based-access-control.md).

Non è necessario consentire autorizzazioni minime per la console per gli utenti che effettuano chiamate solo verso AWS CLI o l' AWS API. Al contrario, è possibile accedere solo alle operazioni che soddisfano l'operazione API che stai cercando di eseguire.

### 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": "*"
        }
    ]
}
```

### Visualizzazione basata sui tag CodeCommit *repositories*
<a name="security_iam_id-based-policy-examples-view-repositories-tags"></a>

È possibile utilizzare le condizioni nella policy basata sulle identità per controllare l'accesso alle risorse di CodeCommit in base ai tag. Per un criterio di esempio che illustra come eseguire questa operazione, consulta [Esempio 5: negare o consentire azioni sui repository con tag](customer-managed-policies.md#identity-based-policies-example-5).

Per ulteriori informazioni, consulta 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*.

## Risoluzione dei problemi di AWS CodeCommit identità e accesso
<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 CodeCommit IAM.

**Topics**
+ [Non sono autorizzato a eseguire alcuna azione in CodeCommit](#security_iam_troubleshoot-no-permissions)
+ [Non sono autorizzato a eseguire iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Desidero visualizzare le mie chiavi di accesso](#security_iam_troubleshoot-access-keys)
+ [Sono un amministratore e desidero consentire ad altri di accedere CodeCommit](#security_iam_troubleshoot-admin-delegate)
+ [Desidero consentire a persone esterne al mio account Amazon Web Services di accedere alle mie CodeCommit risorse](#security_iam_troubleshoot-cross-account-access)

### Non sono autorizzato a eseguire alcuna azione in CodeCommit
<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 è colui che ti ha fornito le credenziali di accesso.

Per ulteriori informazioni, consulta [Autorizzazioni necessarie per utilizzare la console CodeCommit](auth-and-access-control-iam-identity-based-access-control.md#console-permissions)

### 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`, le tue policy devono essere aggiornate per poter passare un ruolo a CodeCommit.

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 CodeCommit. Tuttavia, l'operazione richiede che il servizio disponga delle autorizzazioni concesse da un ruolo di servizio. Mary non dispone delle autorizzazioni per trasmettere il ruolo al servizio.

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

In questo caso, le policy di Mary devono essere aggiornate per poter eseguire l’operazione `iam:PassRole`.

Se hai bisogno di aiuto, contatta il tuo AWS amministratore. L'amministratore è colui che ti ha fornito le credenziali di accesso.

### Desidero visualizzare le mie chiavi di accesso
<a name="security_iam_troubleshoot-access-keys"></a>

Dopo aver creato le chiavi di accesso utente IAM, è possibile visualizzare il proprio ID chiave di accesso in qualsiasi momento. Tuttavia, non è possibile visualizzare nuovamente la chiave di accesso segreta. Se perdi la chiave segreta, dovrai creare una nuova coppia di chiavi di accesso. 

Le chiavi di accesso sono composte da due parti: un ID chiave di accesso (ad esempio `AKIAIOSFODNN7EXAMPLE`) e una chiave di accesso segreta (ad esempio, `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`). Come un nome utente e una password, è necessario utilizzare sia l'ID chiave di accesso sia la chiave di accesso segreta insieme per autenticare le richieste dell'utente. Gestisci le tue chiavi di accesso in modo sicuro mentre crei il nome utente e la password.

**Importante**  
Non fornire le chiavi di accesso a terze parti, neppure per aiutare a [trovare l'ID utente canonico](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId). In questo modo, potresti concedere a qualcuno l'accesso permanente al tuo Account AWS.

Quando crei una coppia di chiavi di accesso, ti viene chiesto di salvare l'ID chiave di accesso e la chiave di accesso segreta in una posizione sicura. La chiave di accesso segreta è disponibile solo al momento della creazione. Se si perde la chiave di accesso segreta, è necessario aggiungere nuove chiavi di accesso all'utente IAM. È possibile avere massimo due chiavi di accesso. Se se ne hanno già due, è necessario eliminare una coppia di chiavi prima di crearne una nuova. Per visualizzare le istruzioni, consulta [Gestione delle chiavi di accesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey) nella *Guida per l'utente di IAM*.

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

Per consentire ad altri di accedere CodeCommit, 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 CodeCommit. 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.*

### Desidero consentire a persone esterne al mio account Amazon Web Services di accedere alle mie CodeCommit risorse
<a name="security_iam_troubleshoot-cross-account-access"></a>

Per ulteriori informazioni, consulta [Configura l'accesso tra account a un AWS CodeCommit repository utilizzando i ruoli](cross-account.md).

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

L'infrastruttura AWS globale è costruita attorno Regioni AWS a zone di disponibilità. Regioni AWS 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à, puoi 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. 

Un CodeCommit repository o un modello di regola di CodeCommit approvazione esiste nel luogo in cui è stato creato. Regione AWS Per ulteriori informazioni, consulta [Regioni ed endpoint di connessione Git per AWS CodeCommit](regions.md). Per garantire la resilienza nei repository, puoi configurare il tuo client Git in modo che esegua il push su due repository contemporaneamente. Per ulteriori informazioni, consulta [Invia i commit a un repository Git aggiuntivo](how-to-mirror-repo-pushes.md).

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

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

In quanto servizio gestito, AWS CodeCommit è protetto dalle procedure di sicurezza della rete AWS globale descritte nel white paper [Amazon Web Services: Overview of Security Processes](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf).

Utilizzi chiamate API AWS pubblicate per accedere CodeCommit attraverso la rete. I client devono supportare Transport Layer Security (TLS) 1.0 o versioni successive. È consigliabile TLS 1.2 o versioni successive. I client devono, inoltre, supportare le suite di cifratura con PFS (Perfect Forward Secrecy), 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à.

Le richieste devono essere firmate utilizzando un ID chiave di accesso e una chiave di accesso segreta che è associata a un'entità IAM. O puoi utilizzare [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) per generare credenziali di sicurezza temporanee per sottoscrivere le richieste.

Puoi chiamare queste operazioni API da qualsiasi posizione di rete, ma CodeCommit supporta restrizioni basate sull'indirizzo IP di origine. Puoi anche utilizzare CodeCommit le policy per controllare l'accesso da endpoint Amazon Virtual Private Cloud (Amazon VPC) specifici o specifici. VPCs In effetti, questo isola l'accesso alla rete a una determinata CodeCommit risorsa solo dal VPC specifico della rete. AWS 

Per ulteriori informazioni, consulta gli argomenti seguenti:
+ [Esempio 1: consentire a un utente di eseguire operazioni in un'unica soluzione CodeCommit Regione AWS](customer-managed-policies.md#identity-based-policies-example-1)
+ [Esempio 3: consentire a un utente che si connette da un intervallo di indirizzi IP specificato di accedere a un repository](customer-managed-policies.md#identity-based-policies-example-3)
+ [Utilizzo AWS CodeCommit con gli endpoint VPC dell'interfaccia](codecommit-and-interface-VPC.md)