Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Autenticación de registro privado en Amazon ECR
Puede usar el AWS Management Console AWS CLI, el o el AWS SDKs para crear y administrar repositorios privados. También puede utilizar estos métodos para realizar determinadas acciones con las imágenes, por ejemplo listarlas o eliminarlas. Estos clientes utilizan métodos de AWS autenticación estándar. Aunque puedes usar Amazon ECR API para insertar y extraer imágenes, es más probable que utilices Docker CLI o una biblioteca de Docker específica para un idioma.
El Docker CLI no admite métodos de autenticación nativos. IAM Se deben tomar medidas adicionales para que Amazon ECR pueda autenticar y autorizar las solicitudes push y pull de Docker.
Los métodos de autenticación del registro que se detallan en la sección siguiente están disponibles.
Uso del asistente de ECR credenciales de Amazon
Amazon ECR proporciona un asistente de credenciales de Docker que facilita el almacenamiento y el uso de las credenciales de Docker al enviar y extraer imágenes a Amazon. ECR Para ver los pasos de instalación y configuración, consulte Amazon ECR Docker Credential Helper
nota
El asistente de credenciales de Amazon ECR Docker no admite la autenticación multifactorial () actualmente. MFA
Uso de un token de autorización
El alcance de los permisos de un token de autorización coincide con el del IAM principal utilizado para recuperar el token de autenticación. Se utiliza un token de autenticación para acceder a cualquier ECR registro de Amazon al que tenga acceso tu IAM director y es válido durante 12 horas. Para obtener un token de autorización, debes usar la GetAuthorizationTokenAPIoperación para recuperar un token de autorización codificado en base64 que contenga el nombre de usuario AWS
y una contraseña codificada. El AWS CLI
get-login-password
comando lo simplifica al recuperar y decodificar el token de autorización, que luego se puede canalizar a un comando para autenticarlo. docker
login
Para autenticar Docker en un registro ECR privado de Amazon con get-login
Para autenticar Docker en un ECR registro de Amazon con get-login-password, ejecuta el aws ecr get-login-password comando. Al pasar el token de autenticación al docker login comando, usa el valor del nombre
AWS
de usuario y especifica el ECR registro de Amazon en el URI que deseas autenticarte. Si se autentica en varios registros, deberá repetir el comando con cada registro.importante
Si recibe un error, instale o actualice a la versión más reciente de la AWS CLI. Para obtener más información, consulte Installing the AWS Command Line Interface en la Guía del usuario de 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 -
Obtenga- ECRLoginCommand ()AWS Tools for Windows PowerShell
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com
-
Uso de HTTP API la autenticación
Amazon ECR es compatible con Docker Registry HTTP API-H
opción for curl y pasar el token de autorización proporcionado por el get-authorization-token AWS CLI comando.
Para autenticarse con Amazon ECR HTTP API
-
Recupera un token de autorización con AWS CLI y configúralo en una variable de entorno.
TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken')
-
Para autenticarse enAPI, pase la
$TOKEN
variable a la-H
opción decurl. Por ejemplo, el siguiente comando muestra las etiquetas de imagen de un ECR repositorio de Amazon. Para obtener más información, consulta la documentación de HTTP API referencia de Docker Registry. curl -i -H "Authorization: Basic $TOKEN" https://
aws_account_id
.dkr.ecr.region
.amazonaws.com/v2/amazonlinux
/tags/listLa salida es la siguiente:
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"]}