As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Autenticação de registro privado no Amazon ECR
Você pode usar o AWS Management Console AWS CLI, o ou o AWS SDKs para criar e gerenciar repositórios privados. Você também pode usar esses métodos para realizar algumas ações em imagens, como listá-las ou excluí-las. Esses clientes usam métodos de AWS autenticação padrão. Embora seja possível usar a API do Amazon ECR para enviar e extrair imagens, é muito mais provável que você use a CLI do Docker ou uma biblioteca do Docker específica para a linguagem.
A CLI do Docker não suporta métodos de autenticação nativos do IAM. É necessário realizar etapas adicionais para que o Amazon ECR possa autenticar e autorizar solicitações de extração e envio do Docker.
Os métodos de autenticação de registro a seguir estão detalhados nas seções a seguir estão disponíveis.
Uso de auxiliar de credenciais do Amazon ECR
O Amazon ECR fornece um auxiliar de credenciais do Docker que facilita o armazenamento e o uso de credenciais do Docker ao enviar e extrair imagens do Amazon ECR. Para obter as etapas de instalação e configuração, consulte Auxiliar de credenciais do Docker do Amazon ECR
nota
No momento, o auxiliar de credencial do Amazon ECR Docker não oferece suporte a autenticação multifator (MFA).
Uso de um token de autorização
O escopo de permissão de um token de autorização corresponde ao do principal do IAM usado para recuperar o token de autenticação. Um token de autenticação é usado para acessar qualquer registro do Amazon ECR ao qual o principal do IAM tenha acesso e é válido por 12 horas. Para obter um token de autorização, você deve usar a operação da GetAuthorizationTokenAPI para recuperar um token de autorização codificado em base64 contendo o nome de usuário AWS
e uma senha codificada. O AWS CLI
get-login-password
comando simplifica isso recuperando e decodificando o token de autorização, que você pode então canalizar para um docker
login comando para autenticar.
Para autenticar o Docker para um registro privado do Amazon ECR com get-login
Para autenticar o Docker em um registro do Amazon ECR com get-login-password, execute o comando. aws ecr get-login-password Ao transmitir o token de autenticação para o comando docker login, use o valor
AWS
para o nome de usuário, e especifique o URI de registro do Amazon ECR para o qual deseja fazer a autenticação. Se autenticar em vários registros, você deverá repetir o comando para cada registro.Importante
Se você receber um erro, instale ou atualize para a versão mais recente da AWS CLI. Para obter mais informações, consulte Installing the AWS Command Line Interface (Instalar a AWS Command Line Interface ) no User Guide (Guia do usuário da ).
-
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 -
ECRLoginComando Get- (AWS Tools for Windows PowerShell)
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com
-
Uso da autenticação de API HTTP
O Amazon ECR suporta API HTTP de registro do Docker-H
opção for curl e passar o token de autorização fornecido pelo get-authorization-token AWS CLI comando.
Para autenticar com a API HTTP do Amazon ECR
-
Recupere um token de autorização com o AWS CLI e defina-o como uma variável de ambiente.
TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken')
-
A fim de fazer a autenticação para a API, passe a variável
$TOKEN
para a opção-H
de curl. Por exemplo, o comando a seguir lista as tags da imagem em um repositório do Amazon ECR. Para obter mais informações, consulte a documentação de referência da API HTTP de registro do Docker. curl -i -H "Authorization: Basic $TOKEN" https://
aws_account_id
.dkr.ecr.region
.amazonaws.com/v2/amazonlinux
/tags/listA saída é a seguinte:
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"]}