

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 del registro privato in Amazon ECR
<a name="registry_auth"></a>

È possibile utilizzare il Console di gestione AWS AWS CLI, il o il AWS SDKs per creare e gestire archivi privati. Puoi utilizzare questi metodi anche per eseguire alcune operazioni sulle immagini, come elencarle o eliminarle. Questi client utilizzano metodi di AWS autenticazione standard. Anche se tecnicamente puoi utilizzare l'API Amazon ECR per inviare ed estrarre immagini, è più probabile che utilizzerai la CLI Docker o una libreria Docker specifica per la lingua.

La CLI Docker non supporta i metodi di autenticazione IAM nativi. È necessario eseguire ulteriori passaggi affinché Amazon ECR possa autenticare e autorizzare le richieste di invio ed estrazione di Docker.

Sono disponibili i metodi di autenticazione del registro illustrati nel dettaglio nelle sezioni seguenti.

## Utilizzo dell'assistente delle credenziali Amazon ECR
<a name="registry-auth-credential-helper-reg"></a>

Amazon ECR fornisce un supporto per le credenziali Docker che semplifica l'archiviazione e l'utilizzo delle credenziali Docker durante l'invio e l'estrazione delle immagini in Amazon ECR. Per i passaggi di installazione e configurazione, consulta [Amazon ECR Docker Credential Helper](https://github.com/awslabs/amazon-ecr-credential-helper).

**Nota**  
Al momento l'assistente credenziali Amazon ECR Docker non supporta l'autenticazione a più fattori (MFA) con più fattori.

## Utilizzo di un token di autorizzazione
<a name="registry-auth-token"></a>

L'ambito di autorizzazione di un token di autorizzazione corrisponde a quello dell'entità principale IAM utilizzata per recuperare il token di autenticazione. Un token di autenticazione viene utilizzato per accedere a qualsiasi registro Amazon ECR a cui l'entità principale IAM ha accesso ed è valido per 12 ore. Per ottenere un token di autorizzazione, è necessario utilizzare l'operazione [GetAuthorizationToken](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_GetAuthorizationToken.html)API per recuperare un token di autorizzazione con codifica Base64 contenente il nome utente e una password codificata. `AWS` Il AWS CLI ` get-login-password` comando semplifica questa operazione recuperando e decodificando il token di autorizzazione che è quindi possibile reindirizzare a un comando per l'autenticazione. **docker login**

**Per autenticare Docker su un registro privato Amazon ECR con get-login**
+ 

  Per autenticare Docker in un registro Amazon ECR con get-login-password, esegui il comando. **aws ecr get-login-password** Quando si passa il token di autenticazione al comando **docker login**, usare il valore `AWS` per il nome utente e specificare l'URI di registro Amazon ECR a cui si desidera autenticare. Se si esegue l'autenticazione a più registri, è necessario ripetere il comando per ogni registro di sistema.
**Importante**  
Se viene visualizzato un errore, installare o eseguire l'upgrade alla versione più recente dell' AWS CLI. Per ulteriori informazioni, consulta [Installazione dell’ AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) nella *Guida per l’utente dell’AWS Command Line Interface *.
  + [get-login-password](https://docs.aws.amazon.com/cli/latest/reference/ecr/get-login-password.html) (AWS CLI)

    ```
    aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
    ```
  + Comando [Get () ECRLogin](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ECRLoginCommand.html)AWS Tools for Windows PowerShell

    ```
    (Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
    ```

## Utilizzo dell'autenticazione API HTTP
<a name="registry_auth_http"></a>

Amazon ECR supporta l'[API HTTP del registro Docker](https://docs.docker.com/registry/spec/api/). Tuttavia, poiché Amazon ECR è un registro privato, devi fornire un token di autorizzazione con ogni richiesta HTTP. È possibile aggiungere un'intestazione di autorizzazione HTTP utilizzando l'`-H`opzione for **curl** e passare il token di autorizzazione fornito dal **get-authorization-token** AWS CLI comando.

**Per effettuare l'autenticazione con l'API HTTP di Amazon ECR**

1. Recupera un token di autorizzazione con AWS CLI e impostalo su una variabile di ambiente.

   ```
   TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken')
   ```

1. Per effettuare l'autenticazione nell'API, passa la variabile `$TOKEN` all'opzione ` -H` di **curl**. Ad esempio, il comando seguente elenca i tag immagine in un repository Amazon ECR. Per ulteriori informazioni, consulta [API HTTP del registro Docker](https://docs.docker.com/registry/spec/api/) nella documentazione di riferimento.

   ```
   curl -i -H "Authorization: Basic $TOKEN" https://aws_account_id.dkr.ecr.region.amazonaws.com/v2/amazonlinux/tags/list
   ```

   L'output è il seguente:

   ```
   HTTP/1.1 200 OK
   Content-Type: text/plain; charset=utf-8
   Date: Thu, 04 Jan 2018 16:06:59 GMT
   Docker-Distribution-Api-Version: registry/2.0
   Content-Length: 50
   Connection: keep-alive
   
   {"name":"amazonlinux","tags":["2017.09","latest"]}
   ```