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 usare il AWS Management Console AWS CLI, the o the AWS SDKs 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 puoi usare Amazon ECR API per inviare e caricare immagini, è più probabile che utilizzi Docker CLI o una libreria Docker specifica per una lingua.

Il Docker CLI non supporta i metodi di autenticazione nativi. IAM È necessario eseguire ulteriori passaggi in modo che Amazon ECR possa autenticare e autorizzare le richieste push e pull di Docker.

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

Utilizzo dell'assistente per le ECR credenziali di Amazon

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 di immagini su Amazon. ECR Per i passaggi di installazione e configurazione, consulta Amazon ECR Docker Credential Helper.

Nota

L'helper per le credenziali di Amazon ECR Docker non supporta attualmente l'autenticazione a più fattori (). MFA

Utilizzo di un token di autorizzazione

L'ambito di autorizzazione di un token di autorizzazione corrisponde a quello del IAM principale utilizzato per recuperare il token di autenticazione. Un token di autenticazione viene utilizzato per accedere a qualsiasi ECR registro Amazon a cui ha accesso il tuo IAM principale ed è valido per 12 ore. Per ottenere un token di autorizzazione, devi utilizzare l'GetAuthorizationTokenAPIoperazione 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 in un registro ECR privato Amazon con get-login
  • Per autenticare Docker in un ECR registro Amazon con get-login-password, esegui il aws ecr get-login-password comando. Quando passi il token di autenticazione al docker login comando, usa il valore AWS per il nome utente e specifica il ECR registro Amazon in URI cui desideri autenticarti. 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
    • Ottieni- ECRLoginCommand ()AWS Tools for Windows PowerShell

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

Utilizzo HTTP API dell'autenticazione

Amazon ECR supporta il registro HTTP API Docker. Tuttavia, poiché Amazon ECR è un registro privato, devi fornire un token di autorizzazione per ogni HTTP richiesta. Puoi aggiungere un'intestazione di HTTP autorizzazione utilizzando l'-Hopzione for curl e passare il token di autorizzazione fornito dal get-authorization-token AWS CLI comando.

Per autenticarsi con Amazon ECR HTTP API
  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 autenticarti suAPI, passa la $TOKEN variabile all'-Hopzione di. curl Ad esempio, il comando seguente elenca i tag di immagine in un ECR repository Amazon. Per ulteriori informazioni, consulta la documentazione di HTTP API riferimento del registro Docker.

    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"]}