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é sur 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. Même si vous pouvez utiliser Amazon ECR API pour envoyer et extraire des images, il est plus probable que vous utilisiez le Docker CLI ou une bibliothèque Docker spécifique à une langue.
Le Docker CLI ne prend pas en charge les méthodes IAM d'authentification natives. Des mesures supplémentaires doivent être prises pour qu'Amazon ECR puisse authentifier et autoriser les requêtes Docker push et pull.
Vous trouverez dans les sections suivantes les méthodes d'authentification de registre détaillées.
Utilisation de l'assistant ECR d'identification Amazon
Amazon ECR fournit un assistant d'identification Docker qui facilite le stockage et l'utilisation des informations d'identification Docker lors du transfert et de l'extraction d'images vers Amazon. ECR Pour les étapes d'installation et de configuration, consultez Amazon ECR Docker Credential Helper.
Note
L'assistant d'identification Amazon ECR Docker ne prend pas en charge l'authentification multifactorielle () pour le moment. MFA
Utiliser un jeton d'autorisation
L'étendue d'autorisation d'un jeton d'autorisation correspond à celle du IAM principal utilisé pour récupérer le jeton d'authentification. Un jeton d'authentification est utilisé pour accéder à tout ECR registre Amazon auquel votre IAM principal a accès et est valide pendant 12 heures. Pour obtenir un jeton d'autorisation, vous devez utiliser l'GetAuthorizationTokenAPIopération 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 auprès d'un registre ECR privé Amazon avec get-login
Pour authentifier Docker auprès d'un ECR registre Amazon avec get-login-password, exécutez la aws ecr get-login-password commande. Lorsque vous transmettez le jeton d'authentification à la docker login commande, utilisez la valeur
AWS
du nom d'utilisateur et spécifiez le ECR registre Amazon auprès URI duquel 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 -
Obtenez- ECRLoginCommand (AWS Tools for Windows PowerShell)
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com
-
Utilisation de l'HTTPAPIauthentification
Amazon ECR prend en charge le Docker Registry HTTP API-H
option for curl et transmettre le jeton d'autorisation fourni par la get-authorization-token AWS CLI commande.
Pour vous authentifier auprès d'Amazon ECR HTTP API
-
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 deAPI, passez la
$TOKEN
variable à l'-H
option decurl. Par exemple, la commande suivante répertorie les balises d'image d'un ECR référentiel Amazon. Pour plus d'informations, consultez la documentation de HTTP API référence du Docker Registry. 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"]}