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, the o the AWS CLI 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 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
.dkr.ecr.aws_account_id
region
.amazonaws.com -
Comando Get () ECRLoginAWS Tools for Windows PowerShell
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com
-
Utilizzo dell'autenticazione API HTTP
Amazon ECR supporta l'API HTTP del registro Docker-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
-
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 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 Dockernella documentazione di riferimento. 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"]}