

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

# Politiche di repository privati in Amazon ECR
<a name="repository-policies"></a>

Amazon ECR utilizza autorizzazioni basate sulle risorse per controllare l'accesso ai repository. Le autorizzazioni basate sulle risorse consentono di specificare quali utenti o ruoli hanno accesso a un repository e quali azioni possono eseguire sul repository. Per impostazione predefinita, solo l' AWS account che ha creato il repository ha accesso al repository. È possibile applicare una politica di repository che consenta un accesso aggiuntivo al repository.

**Topics**
+ [Policy del repository e policy IAM](#repository-policy-vs-iam-policy)
+ [Esempi di policy relative agli archivi privati in Amazon ECR](repository-policy-examples.md)
+ [Impostazione di una dichiarazione sulla politica di archiviazione privata in Amazon ECR](set-repository-policy.md)

## Policy del repository e policy IAM
<a name="repository-policy-vs-iam-policy"></a>

Le policy del repository Amazon ECR sono un sottoinsieme delle policy IAM che vengono definite e specificamente utilizzate per controllare l'accesso ai singoli repository Amazon ECR. Le policy IAM sono generalmente utilizzate per applicare le autorizzazioni per l'intero servizio Amazon ECR, ma possono anche essere utilizzate per controllare l'accesso alle risorse specifiche.

Le policy dei repository Amazon ECR e le policy IAM vengono entrambe utilizzate per determinare quali azioni possono essere eseguite da un utente o un ruolo specifico su un repository. Se a un utente o a un ruolo è consentito eseguire un'operazione tramite una policy del repository ma l'autorizzazione gli viene negata da una policy IAM (o viceversa), anche l'operazione viene negata. A un utente o a un ruolo deve essere concessa l'autorizzazione per un'operazione tramite una policy del repository o una policy IAM, ma non entrambe le opzioni per consentire l'operazione.

**Importante**  
Amazon ECR richiede che gli utenti dispongano dell'autorizzazione per effettuare chiamate all'API `ecr:GetAuthorizationToken` tramite una policy IAM prima che possano autenticarsi in un registro ed eseguire l'invio o l'estrazione delle immagini da un repository Amazon ECR. Amazon ECR fornisce diverse policy IAM gestite per controllare l'accesso degli utenti a vari livelli. Per ulteriori informazioni, consulta [Esempi di policy basate su Identità di Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

È possibile utilizzare questi tipi di policy per controllare l'accesso ai repository, come illustrato negli esempi seguenti.

Questo esempio illustra una policy del repository Amazon ECR che consente a un utente specifico di descrivere il repository e le immagini all'interno del repository.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECRRepositoryPolicy",
            "Effect": "Allow",
            "Principal": {"AWS": "arn:aws:iam::111122223333:user/username"},
            "Action": [
                "ecr:DescribeImages",
                "ecr:DescribeRepositories"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Questo esempio illustra una policy IAM che consente di raggiungere lo stesso obiettivo precedente, definendo l'ambito della policy per un repository (specificato dall'ARN completo del repository) utilizzando il parametro a livello di risorsa. Per maggiori informazioni sul formato Amazon Resource Name (ARN), consulta [Resources](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribeRepoImage",
            "Effect": "Allow",
            "Action": [
                "ecr:DescribeImages",
                "ecr:DescribeRepositories"
            ],
            "Resource": ["arn:aws:ecr:us-east-1:111122223333:repository/repository-name"]
        }
    ]
}
```

------

# Esempi di policy relative agli archivi privati in Amazon ECR
<a name="repository-policy-examples"></a>

**Importante**  
Gli esempi di policy di repository riportati in questa pagina sono concepiti per essere applicati ai repository privati di Amazon ECR. Non funzioneranno correttamente se utilizzati direttamente con un principale IAM, a meno che non vengano modificati per specificare il repository di Amazon ECR come risorsa. Per ulteriori informazioni sull'impostazione delle policy dei repository, consulta [Impostazione di una dichiarazione sulla politica di archiviazione privata in Amazon ECR](set-repository-policy.md).

Le policy del repository Amazon ECR sono un sottoinsieme delle policy IAM che vengono definite e specificamente utilizzate per controllare l'accesso ai singoli repository Amazon ECR. Le policy IAM sono generalmente utilizzate per applicare le autorizzazioni per l'intero servizio Amazon ECR, ma possono anche essere utilizzate per controllare l'accesso alle risorse specifiche. Per ulteriori informazioni, consulta [Policy del repository e policy IAM](repository-policies.md#repository-policy-vs-iam-policy).

I seguenti esempi di policy dei repository mostrano le dichiarazioni di autorizzazione che puoi utilizzare per controllare l'accesso ai repository privati di Amazon ECR.

**Importante**  
Amazon ECR richiede che gli utenti dispongano dell'autorizzazione per effettuare chiamate all'API `ecr:GetAuthorizationToken` tramite una policy IAM prima che possano autenticarsi in un registro ed eseguire l'invio o l'estrazione delle immagini da un repository Amazon ECR. Amazon ECR fornisce diverse policy IAM gestite per controllare l'accesso degli utenti a vari livelli. Per ulteriori informazioni, consulta [Esempi di policy basate su Identità di Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

## Esempio: consentire uno o più utenti
<a name="IAM_within_account"></a>

La policy del repository seguente consente a uno o più utenti di eseguire il push e il pull delle immagini da e verso un repository.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPushPull",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/push-pull-user-1",
                    "arn:aws:iam::111122223333:user/push-pull-user-2"
                ]
            },
            "Action": [
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability",
                "ecr:CompleteLayerUpload",
                "ecr:GetDownloadUrlForLayer",
                "ecr:InitiateLayerUpload",
                "ecr:PutImage",
                "ecr:UploadLayerPart"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Esempio: abilita un altro account
<a name="IAM_allow_other_accounts"></a>

La seguente policy di repository consente a un account specifico di inviare immagini.

**Importante**  
L'account a cui si concedono le autorizzazioni deve avere abilitata la regione in cui si sta creando la policy del repository; in caso contrario si verificherà un errore.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCrossAccountPush",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:CompleteLayerUpload",
                "ecr:InitiateLayerUpload",
                "ecr:PutImage",
                "ecr:UploadLayerPart"
            ],
            "Resource": "*"
        }
    ]
}
```

------

La seguente politica di archiviazione consente ad alcuni utenti di estrarre immagini (*pull-user-1*e*pull-user-2*) fornendo al contempo l'accesso completo a un'altra (). *admin-user*

**Nota**  
Per politiche di repository più complicate che attualmente non sono supportate in Console di gestione AWS, è possibile applicare la politica con il [https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) AWS CLI comando.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPull",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/pull-user-1",
                    "arn:aws:iam::111122223333:user/pull-user-2"
                ]
            },
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAll",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/admin-user"
            },
            "Action": [
                "ecr:*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Esempio: vieta a tutti
<a name="IAM_deny_all"></a>

La seguente policy di repository nega a tutti gli utenti in tutti gli account la possibilità di estrarre immagini.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyPull",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Esempio: limitazione dell'accesso a indirizzi IP specifici
<a name="IAM_restrict_ip"></a>

Nell'esempio seguente vengono negate autorizzazioni a qualunque utente per eseguire qualsiasi operazione Amazon ECR quando applicata a un repository da uno specifico intervallo di indirizzi.

La condizione in questa dichiarazione identifica l'`54.240.143.*`intervallo di indirizzi IP consentiti per la versione 4 (IPv4) del protocollo Internet.

Il `Condition` blocco utilizza `NotIpAddress` le condizioni e la chiave di `aws:SourceIp` condizione, che è una chiave di condizione a AWS livello di ampiezza. Per ulteriori informazioni su queste chiavi di condizioni, consulta [Chiavi di contesto delle condizioni globali AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html). I `aws:sourceIp` IPv4 valori utilizzano la notazione CIDR standard. Per ulteriori informazioni, consulta [Operatori di condizione con indirizzo IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress) nella *Guida per l'utente di IAM*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ECRPolicyId1",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "ecr:*",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "54.240.143.0/24"
                }
            }
        }
    ]
}
```

------

## Esempio: consentire un servizio AWS
<a name="IAM_service_linked"></a>

La seguente politica di repository consente AWS CodeBuild l'accesso alle azioni dell'API Amazon ECR necessarie per l'integrazione con quel servizio. Quando utilizzi l'esempio seguente, è necessario utilizzare le chiavi di condizione `aws:SourceArn` e `aws:SourceAccount` per l'ambito delle risorse che possono assumere tali autorizzazioni. Per ulteriori informazioni, consulta l'[esempio di Amazon ECR CodeBuild nella Guida per](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html) *l'AWS CodeBuild utente*.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"CodeBuildAccess",
         "Effect":"Allow",
         "Principal":{
            "Service":"codebuild.amazonaws.com"
         },
         "Action":[
            "ecr:BatchGetImage",
            "ecr:GetDownloadUrlForLayer"
         ],
         "Resource": "*",
         "Condition":{
            "ArnLike":{
               "aws:SourceArn":"arn:aws:codebuild:us-east-1:123456789012:project/project-name"
            },
            "StringEquals":{
               "aws:SourceAccount":"123456789012"
            }
         }
      }
   ]
}
```

------

# Impostazione di una dichiarazione sulla politica di archiviazione privata in Amazon ECR
<a name="set-repository-policy"></a>

Puoi aggiungere una dichiarazione sulla politica di accesso a un repository Console di gestione AWS seguendo i passaggi seguenti. Puoi aggiungere più dichiarazioni di policy per ciascun repository. Per esempi di policy, consulta [Esempi di policy relative agli archivi privati in Amazon ECR](repository-policy-examples.md).

**Importante**  
Amazon ECR richiede che gli utenti dispongano dell'autorizzazione per effettuare chiamate all'API `ecr:GetAuthorizationToken` tramite una policy IAM prima che possano autenticarsi in un registro ed eseguire l'invio o l'estrazione delle immagini da un repository Amazon ECR. Amazon ECR fornisce diverse policy IAM gestite per controllare l'accesso degli utenti a vari livelli. Per ulteriori informazioni, consulta [Esempi di policy basate su Identità di Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

**Per impostare una dichiarazioni di policy per i repository**

1. Apri la console Amazon ECR nei [https://console.aws.amazon.com/ecr/repository](https://console.aws.amazon.com/ecr/repositories).

1. Sulla barra di navigazione seleziona la regione che contiene il repository sul quale impostare una dichiarazione di policy.

1. Nel riquadro di navigazione, selezionare **Repositories (Repository)**.

1. Alla pagina **Repositories (Repository)**, scegliere il repository sul quale impostare una dichiarazione di policy per visualizzare il contenuto del repository.

1. Dalla visualizzazione dell'elenco immagini del repository, nel pannello di navigazione, selezionare **Permissions (Autorizzazioni)**, **Edit (Modifica)**.
**Nota**  
Se non si visualizza l'opzione **Permissions (Autorizzazioni)** nel pannello di navigazione, assicurarsi di essere nella visualizzazione dell'elenco immagini del repository.

1. Nella pagina **Edit permissions (Modifica autorizzazioni)**, scegli **Add statement** (Aggiungi istruzione).

1. Nel campo **Statement name (Nome istruzione)** inserisci un nome per l'istruzione.

1. Per **Effect (Effetto)**, scegliere se la dichiarazione della policy restituisce un consenso o una negazione esplicita.

1. In **Principal** seleziona l'ambito a cui applicare la dichiarazione di policy. Per ulteriori informazioni, consulta [Elementi delle policy JSON AWS : principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) nella *Guida per l'utente di IAM*.
   + Puoi applicare la dichiarazione a tutti gli AWS utenti autenticati selezionando la casella di controllo **Everyone (\$1)**.
   + Per **Service principal (Principal del servizio)**, specificare il nome del principal del servizio (ad esempio, `ecs.amazonaws.com`) per applicare la dichiarazione a un determinato servizio.
   + Per **AWS Account IDs**, specifica un numero di AWS account (ad esempio,`111122223333`) per applicare l'estratto conto a tutti gli utenti di un AWS account specifico. È possibile specificare più account utilizzando un elenco delimitato da virgole.
**Importante**  
L'account a cui si concedono le autorizzazioni deve avere abilitata la regione in cui si sta creando la policy del repository; in caso contrario si verificherà un errore.
   + Per **le entità IAM**, seleziona i ruoli o gli utenti del tuo AWS account a cui applicare l'informativa.
**Nota**  
Per politiche di repository più complicate che attualmente non sono supportate in Console di gestione AWS, puoi applicare la politica con il [https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) AWS CLI comando.

1. In **Actions (Operazioni)**, scegli l'ambito delle operazioni API di Amazon ECR a cui applicare la dichiarazione di policy dall'elenco delle singole operazioni API.

1. Al termine, seleziona **Save** (Salva) per impostare la policy.

1. Ripeti i passaggi precedenti per ogni policy di repository da aggiungere.