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
.dkr.ecr.aws_account_id
region
.amazonaws.com -
Ottieni- ECRLoginCommand ()AWS Tools for Windows PowerShell
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com
-
Utilizzo HTTP API dell'autenticazione
Amazon ECR supporta il registro HTTP API Docker-H
opzione for curl e passare il token di autorizzazione fornito dal get-authorization-token AWS CLI comando.
Per autenticarsi con Amazon ECR HTTP API
-
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')
-
Per autenticarti suAPI, passa la
$TOKEN
variabile all'-H
opzione 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/listL'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"]}