

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

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