Autenticazione del registro privato in Amazon ECR - Amazon ECR

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

Puoi utilizzare gli AWS Management Console, gli o gli AWS CLI AWS SDK per creare e gestire repository 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

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.

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

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 GetAuthorizationTokenAPI 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 nella Guida per l'utente dell'AWS Command Line Interface .

    • get-login-password (AWS CLI)

      aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
    • Get-ECR () LoginCommandAWS 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

Amazon ECR supporta l'API HTTP del registro Docker. 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'-Hopzione for curl e passare il token di autorizzazione fornito dal comando. get-authorization-token AWS CLI

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')
  2. 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 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"]}