Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Authentification du registre privé dans Amazon ECR
Vous pouvez utiliser le AWS Management Console AWS CLI, le ou le AWS SDKs pour créer et gérer des référentiels privés. Vous pouvez également utiliser ces méthodes pour exécuter certaines actions sur les images, par exemple les répertorier sur une liste ou les supprimer. Ces clients utilisent des méthodes AWS d'authentification standard. Bien que vous puissiez utiliser l'API Amazon ECR pour transmettre et extraire des images, vous utiliserez probablement plus souvent la CLI Docker ou une bibliothèque Docker propre à un langage.
La CLI Docker ne prend pas en charge les méthodes d'authentification IAM natives. Des étapes supplémentaires sont nécessaires pour qu'Amazon ECR puisse authentifier et autoriser les demandes push et pull de Docker.
Vous trouverez dans les sections suivantes les méthodes d'authentification de registre détaillées.
Utilisation de l'assistant d'informations d'identification Amazon ECR
Amazon ECR propose un assistant d'informations d'identification Docker qui facilite le stockage et l'utilisation des informations d'identification Docker lors de la transmission ou l'extraction d'images vers Amazon ECR. Pour connaître les étapes d'installation et de configuration, consultez Assistant d'informations d'identification Amazon ECR Docker
Note
L'assistant d'informations d'identification Amazon ECR Docker ne prend pas en charge l'authentification multi-facteur (MFA) actuellement.
Utiliser un jeton d'autorisation
L'étendue d'autorisation d'un jeton d'autorisation correspond à celle du principal IAM utilisé pour récupérer le jeton d'authentification. Un jeton d'authentification est utilisé pour accéder à tout registre Amazon ECR auquel votre principal IAM a accès. Il est valide pendant 12 heures. Pour obtenir un jeton d'autorisation, vous devez utiliser l'opération GetAuthorizationTokenAPI pour récupérer un jeton d'autorisation codé en base64 contenant le nom d'utilisateur AWS
et un mot de passe codé. La AWS CLI
get-login-password
commande simplifie cela en récupérant et en décodant le jeton d'autorisation que vous pouvez ensuite rediriger vers une docker
login commande d'authentification.
Pour authentifier Docker dans un registre privé Amazon ECR avec get-login-password
Pour authentifier Docker auprès d'un registre Amazon ECR avec get-login-password, exécutez la commande. aws ecr get-login-password Lorsque vous passez le jeton d'authentification à la commande docker login, utilisez la valeur
AWS
pour le nom d'utilisateur et spécifiez l'URI de registre Amazon ECR auquel vous souhaitez vous authentifier. Si vous vous authentifiez sur plusieurs registres, vous devrez répéter la commande pour chacun d'eux.Important
Si vous recevez une erreur, installez la dernière version de la CLI ou effectuez une mise à niveau vers cette version AWS CLI. Pour plus d'informations, consultez Installation d' AWS Command Line Interface dans le Guide de l'utilisateur 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 -
ECRLoginCommande Get (AWS Tools for Windows PowerShell)
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com
-
Utiliser l'authentification API HTTP
Amazon ECR prend en charge l'API HTTP du registre Docker-H
option for curl et transmettre le jeton d'autorisation fourni par la get-authorization-token AWS CLI commande.
S'authentifier auprès de l'API HTTP Amazon ECR
-
Récupérez un jeton d'autorisation avec le AWS CLI et définissez-le sur une variable d'environnement.
TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken')
-
Pour vous authentifier auprès de l'API, transmettez la variable
$TOKEN
à l'option-H
de curl. Par exemple, la commande suivante répertorie les étiquettes d'image dans un référentiel Amazon ECR. Pour en savoir plus, consultez la documentation de la référence API HTTP du registre Docker. curl -i -H "Authorization: Basic $TOKEN" https://
aws_account_id
.dkr.ecr.region
.amazonaws.com/v2/amazonlinux
/tags/listLa sortie est la suivante :
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"]}