138
Amazon ECR Guia do usuário Versão da API 2015-09-21

Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECRGuia do usuário

Versão da API 2015-09-21

Page 2: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Amazon ECR: Guia do usuárioCopyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

As marcas comerciais e imagens de marcas da Amazon não podem ser usadas no contexto de nenhum produtoou serviço que não seja da Amazon, nem de qualquer maneira que possa gerar confusão entre os clientes ou quedeprecie ou desprestigie a Amazon. Todas as outras marcas comerciais que não pertencem à Amazon pertencem aseus respectivos proprietários, que podem ou não ser afiliados, conectados ou patrocinados pela Amazon.

Page 3: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Table of ContentsO que é o Amazon ECR ..................................................................................................................... 1

Componentes do Amazon ECR .................................................................................................... 1Recursos do Amazon ECR .......................................................................................................... 2Como começar a usar o Amazon ECR .......................................................................................... 2Definição de preços da Amazon ECR ............................................................................................ 2

Configuração ...................................................................................................................................... 3Cadastro na AWS ....................................................................................................................... 3Criar um usuário do IAM ............................................................................................................. 3

Conceitos básicos ............................................................................................................................... 6Usar a AWS CLI ................................................................................................................................ 7

Prerequisites .............................................................................................................................. 7Instalar a AWS CLI ............................................................................................................. 7Instalar o Docker ................................................................................................................ 7

Etapa 1: Criar uma imagem do Docker .......................................................................................... 8Etapa 2: Autenticar-se no registro padrão ..................................................................................... 10Etapa 3: Criar um repositório do ................................................................................................. 10Etapa 4: Enviar uma imagem ao Amazon ECR ............................................................................. 10Etapa 5: Enviar uma imagem do Amazon ECR ............................................................................. 11Etapa 6: Excluir uma imagem ..................................................................................................... 12Etapa 7: Excluir um repositório ................................................................................................... 12

Registros privados ............................................................................................................................ 13Conceitos de registro privado ..................................................................................................... 13A autenticação de registro privado .............................................................................................. 13

Usando o ajudante de credencial do Amazon ECR ................................................................ 13Usar um token de autorização ............................................................................................ 14Usar a autenticação de API HTTP ....................................................................................... 15

Configurações do registro privado ............................................................................................... 15Permissões de registro privado ................................................................................................... 16

Definindo uma instrução de permissão de registro privado ...................................................... 16Excluindo uma instrução de permissão de registro privado ...................................................... 17Exemplos de política de registro privado .............................................................................. 18

Repositórios privados ........................................................................................................................ 21Conceitos de repositório ............................................................................................................ 21Criar um repositório .................................................................................................................. 21Visualizar informações do repositório ........................................................................................... 22Editar um repositório ................................................................................................................. 23Excluir um repositório ................................................................................................................ 24Políticas de repositório do .......................................................................................................... 24

Políticas de repositório vs políticas do IAM ........................................................................... 24Definindo uma instrução de política de repositório .................................................................. 25Excluir uma instrução de política de repositório ..................................................................... 26Exemplos de políticas do ................................................................................................... 27

Marcar um repositório ................................................................................................................ 30Conceitos básicos de tags ................................................................................................. 31Marcar recursos do ........................................................................................................... 31Restrições de tags ............................................................................................................ 31Marcar recursos para faturamento ....................................................................................... 32Trabalhar com tags usando o console ................................................................................. 32Trabalhar com tags usando oAWS CLIou API ....................................................................... 33

Imagens privadas .............................................................................................................................. 34Enviar uma imagem .................................................................................................................. 34

Enviar uma imagem de docker ........................................................................................... 34Enviar uma imagem multiarquitetura .................................................................................... 35Empurrar um gráfico de leme ............................................................................................. 36

Versão da API 2015-09-21iii

Page 4: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Visualizar detalhes da imagem ................................................................................................... 38Extrair uma imagem .................................................................................................................. 39Excluir uma imagem .................................................................................................................. 40Remarcar uma imagem ............................................................................................................. 41Replicar imagens ...................................................................................................................... 42

Considerações para replicação de imagens privadas .............................................................. 43Configuração da replicação ................................................................................................ 43Exemplos de replicação ..................................................................................................... 44

Políticas de ciclo de vida ........................................................................................................... 46Como as políticas de ciclo de vida ...................................................................................... 46Modelo de política de ciclo ................................................................................................. 47Parâmetros da política de .................................................................................................. 48Como criar uma visualização da política de ciclo ................................................................... 50Criar uma política de ciclo de vida ...................................................................................... 51Exemplo de políticas de ciclo de vida .................................................................................. 52

Mutabilidade de tag de imagem .................................................................................................. 58Verificação de imagens .............................................................................................................. 59

Configurar um repositório para verificar ao enviar .................................................................. 59Verificar manualmente uma imagem .................................................................................... 61Recuperar descobertas de verificação de imagem ................................................................. 62

Formatos de manifesto de imagem de contêiner ............................................................................ 63Conversão de manifesto de imagem do Amazon ECR ............................................................ 63

Uso de imagens do Amazon ECR com o Amazon ECS .................................................................. 64Uso de imagens do Amazon ECR com o Amazon EKS .................................................................. 65

Instalando um gráfico Helm hospedado no Amazon ECR com o Amazon EKS ............................ 66Imagem de contêiner do Amazon Linux ....................................................................................... 67

Segurança ....................................................................................................................................... 69Identity and Access Management ................................................................................................ 69

Audience ......................................................................................................................... 70Autenticação com identidades ............................................................................................. 70Gerenciamento do acesso usando políticas .......................................................................... 72Como o Amazon Elastic Container Registry .......................................................................... 74AWSpolíticas gerenciadas para o Amazon ECR .................................................................... 77Uso de funções vinculadas a serviço ................................................................................... 81Exemplos de políticas baseadas em identidade ..................................................................... 83Usar controle de acesso baseado em tags ........................................................................... 86Solução de problemas ....................................................................................................... 87

Proteção de dados .................................................................................................................... 89Criptografia em repouso ..................................................................................................... 90

Validação de conformidade ........................................................................................................ 95Segurança da infraestrutura ....................................................................................................... 96

VPC endpoints de interface (AWS PrivateLink) ...................................................................... 96Monitoramento ................................................................................................................................ 103

Visualizar as cotas de serviço e definir alarmes ........................................................................... 103Métricas de uso ...................................................................................................................... 104Relatórios de uso .................................................................................................................... 105Eventos e EventBridge ............................................................................................................. 105

Amostra de eventos do Amazon ECR ................................................................................ 106Registro em log de ações com o AWS CloudTrail ........................................................................ 107

Informações do Amazon ECR no CloudTrail ........................................................................ 107Noções básicas sobre as entradas de arquivos de log do ...................................................... 108

Cotas de serviço ............................................................................................................................. 116Como gerenciar suas cotas de serviço do Amazon ECR noAWS Management Console ...................... 120

Como criar um alarme do CloudWatch para monitorar métricas de uso da API .......................... 121Solução de problemas ..................................................................................................................... 122

Como habilitar a saída de depuração do Docker .......................................................................... 122Habilitar o AWS CloudTrail ....................................................................................................... 122

Versão da API 2015-09-21iv

Page 5: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Otimização do desempenho para o Amazon ECR ........................................................................ 122Solução de problemas de erros com comandos do Docker ao usar o Amazon ECR ........................... 124

Erro: “Falha na verificação do sistema de arquivos” ou “404: Imagem não encontrada” ao extrairuma imagem de um repositório do Amazon ECR ................................................................. 124Erro: “Falha na verificação da camada do sistema de arquivos” ao extrair imagens do AmazonECR .............................................................................................................................. 125HTTP 403 Erros ou o erro “Não há credenciais de autenticação básica” ao enviar ao repositório ... 125

Solução de problemas de mensagens de erro do Amazon EC ....................................................... 126Erro: “Resposta de erro do daemon: Ponto final de registro inválido” ....................................... 126HTTP 429: Solicitações em excesso ou ThrottleException ..................................................... 126HTTP 403: “O usuário [arn] não está autorizado a realizar a [operação]” .................................. 127HTTP 404: Erro “O repositório não existe” .......................................................................... 127

Solução de problemas de varredura de imagens .......................................................................... 127Histórico do documento .................................................................................................................... 129AWSGlossário ................................................................................................................................ 132................................................................................................................................................. cxxxiii

Versão da API 2015-09-21v

Page 6: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioComponentes do Amazon ECR

O que é Amazastic ContainerRegistry?

O Amazon Elastic Container Registry (Amazon ECR) é umAWSO serviço gerenciado de registro deimagens de contêiner gerenciado seguro, dimensionável e confiável do. O Amazon ECR oferece suportea repositórios de imagens de contêiner privados com permissões baseadas em recursos usandoAWSIAM.Isso é para que usuários especificados ou instâncias do Amazon EC2 possam acessar seus repositóriose imagens de contêiner. É possível usar sua CLI preferida para adicionar, extrair e gerenciar imagensde Docker, imagens da Open Container Initiative (OCI — Iniciativa de contêiner aberto) e artefatoscompatíveis com a OCI.

Note

O Amazon ECR também oferece suporte a repositórios de imagens de contêiner público. Paraobter mais informações, consulteO que é Amazon ECR PublicnoGuia do usuário público doAmazon ECR.

A equipe de serviços de contêiner da AWS mantém um roteiro público no GitHub. Ele contém informaçõessobre no que as equipes estão trabalhando e permite que todos os clientes da AWS forneçam feedbackdiretamente. Para obter mais informações, consulte Roteiro de contêineres da AWS.

Componentes do Amazon ECRO Amazon ECR contém os seguintes componentes:

Registro

Um registro do Amazon ECR é fornecido para cadaAWSÉ possível criar repositórios de imagens noseu registro e armazenar imagens neles. Para obter mais informações, consulte Registros privados doAmazon ECR (p. 13).

Token de autorização

Seu cliente deve se autenticar nos registros do Amazon ECR como umAWSAntes que possa adicionare extrair imagens. Para obter mais informações, consulte A autenticação de registro privado (p. 13).

Repositório

Um repositório de imagens do Amazon ECR contém suas imagens do Docker, imagens da OpenContainer Initiative (OCI) e artefatos compatíveis com a OCI. Para obter mais informações, consulteRepositórios privados do Amazon ECR (p. 21).

Política de repositório

Você pode controlar o acesso aos repositórios e às imagens contidas neles com as políticas derepositório. Para obter mais informações, consulte Políticas de repositório do (p. 24).

Imagem

É possível enviar e extrair imagens de contêiner dos seus repositórios. É possível usar essas imagenslocalmente no seu sistema de desenvolvimento ou nas definições de tarefas do Amazon ECS e nasespecificações de pod do Amazon EKS. Para obter mais informações, consulte Uso de imagens doAmazon ECR com o Amazon ECS (p. 64) e Uso de imagens do Amazon ECR com o AmazonEKS (p. 65).

Versão da API 2015-09-211

Page 7: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioRecursos do Amazon ECR

Recursos do Amazon ECRO Amazon ECR fornece os seguintes recursos:

• As políticas de ciclo de vida ajudam a gerenciar o ciclo de vida das imagens em seus repositórios. Vocêdefine regras que resultam na limpeza de imagens não utilizadas. Você pode testar regras antes deaplicá-las ao repositório. Para obter mais informações, consulte Políticas de ciclo de vida (p. 46).

• A verificação de imagens ajuda na identificação de vulnerabilidades de software em suas imagens decontêiner. Cada repositório pode ser configurado paraVarredura ao enviar. Isso garante que cada novaimagem enviada para o repositório seja digitalizada. Em seguida, você pode recuperar os resultados dadigitalização de imagens. Para obter mais informações, consulte Verificação de imagens (p. 59).

• A replicação entre regiões e entre contas torna mais fácil para você ter suas imagens onde precisar.Isso é configurado como uma configuração de registro e é de acordo com a região. Para obter maisinformações, consulte Configurações do registro privado (p. 15).

Como começar a usar o Amazon ECRPara usar o Amazon ECR, você precisa estar configurado para instalar oAWS Command Line InterfaceEo Docker. Para obter mais informações, consulte Configurando com o Amazon ECR (p. 3) e Usando oAmazon ECR com oAWS CLI (p. 7).

Definição de preços da Amazon ECRCom o Amazon ECR, você paga apenas pela quantidade de dados armazenada em seus repositórios epela transferência de dados de push e pull de imagem. Para obter mais informações, consulte a Definiçãode preço do Amazon ECR.

Versão da API 2015-09-212

Page 8: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCadastro na AWS

Configurando com o Amazon ECRSe você se inscreveu noAWSe tiver usado o Amazon Elastic Container Service (Amazon ECS) ou oAmazon Elastic Kubernetes Service (Amazon EKS), você está próximo de poder usar o Amazon ECR.O processo de configuração desses dois serviços é semelhante, já que o Amazon ECR é uma extensãodesses serviços. Para usar aAWS CLICom o Amazon ECR, é necessário usar uma versão doAWSCLIque oferece suporte aos recursos mais recentes do Amazon ECR. Caso não veja suporte para umrecurso do Amazon ECR naAWS CLI, atualize para a versão mais recente. Para obter mais informações,consultehttp://aws.amazon.com/cli/.

Conclua as seguintes tarefas para se preparar para enviar uma imagem de contêiner ao Amazon ECR pelaprimeira vez. Caso já tenha concluído qualquer uma dessas etapas, você poderá ignorá-las e passar paraa próxima.

Cadastro na AWSAo cadastrar-se naAWS, suas receitasAWSA conta da é automaticamente habilitada para todos osserviços, inclusive o Amazon ECR. Você será cobrado apenas pelos serviços que usar.

Se já tiver uma conta da AWS, passe para a próxima tarefa. Se você ainda não possuir uma conta daAWS, use o procedimento a seguir para criar uma.

Para criar uma conta da AWS

1. Abra https://portal.aws.amazon.com/billing/signup.2. Siga as instruções online.

Parte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código deverificação usando o teclado do telefone.

Anote o número da conta da AWS, pois você precisará dele na próxima tarefa.

Criar um usuário do IAMServiços naAWS, como o Amazon ECR, exigem fornecer credenciais ao acessar para poder determinarse existe permissão para acessar os recursos respectivos. O console requer sua senha. Você podecriar chaves de acesso para sua conta da AWS para acessar a interface de linha de comando ou a API.No entanto, não recomendamos acessar oAWSusando as credenciais para oAWS; recomendamosusar oAWS Identity and Access Management(IAM) em vez disso. Crie um usuário do IAM e, emseguida, adicione o usuário a um grupo do IAM com permissões administrativas ou conceda permissõesadministrativas a esse usuário. Você pode então acessarAWSUsando um URL especial e as credenciaisdo usuário do IAM.

Se você se cadastrou na AWS, mas não criou um usuário do IAM para você, crie um usando o console doIAM.

Para criar um usuário administrador para você mesmo e adicionar o usuário a um grupo deadministradores (console)

1. Faça login noConsole do IAMcomo o proprietário da conta escolhendoUsuário raize inserindo seuConta da AWS Endereço de e-mail. Na próxima página, insira sua senha.

Versão da API 2015-09-213

Page 9: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCriar um usuário do IAM

Note

Recomendamos seguir as práticas recomendadas para utilizar o usuário do IAMAdministrator a seguir e armazenar as credenciais do usuário root com segurança.Cadastre-se como o usuário root apenas para executar algumas tarefas de gerenciamento deserviços e contas.

2. No painel de navegação, escolha Usuários e depois Adicionar usuário.3. Em User name (Nome do usuário), digite Administrator.4. Marque a caixa de seleção ao lado do acesso ao AWS Management Console. Então, selecione

Custom password (Senha personalizada), e insira sua nova senha na caixa de texto.5. (Opcional) Por padrão, a AWS exige que o novo usuário crie uma senha ao fazer login pela primeira

vez. Você pode desmarcar a caixa de seleção próxima de User must create a new password at nextsign-in (O usuário deve criar uma senha no próximo login) para permitir que o novo usuário redefina asenha depois de fazer login.

6. Selecione Next (Próximo): Permissions7. Em Set permissions (Conceder permissões), escolha Add user to group (Adicionar usuário ao grupo).8. Escolha Create group (Criar grupo).9. Na caixa de diálogo Create group (Criar grupo), em Group name (Nome do grupo), digite

Administrators.10. Selecione Filter policies (Filtrar políticas) e, em seguida, selecione AWS managed - job function

(Função de trabalho gerenciada da AWS) para filtrar o conteúdo da tabela.11. Na lista de políticas, marque a caixa de seleção AdministratorAccess. A seguir escolha Criar grupo.

Note

Você deve ativar o acesso de usuário do IAM e da função para Billing (Faturamento) antesde usar as permissões de AdministratorAccess para acessar o console do AWS Billingand Cost Management. Para fazer isso, siga as instruções na etapa 1 do tutorial sobre comodelegar acesso ao console de faturamento.

12. Suporte a lista de grupos, selecione a caixa de seleção para seu novo grupo. Escolha Refresh(Atualizar) caso necessário, para ver o grupo na lista.

13. Selecione Next (Próximo): Tags.14. (Opcional) Adicione metadados ao usuário anexando tags como pares de chave-valor. Para obter

mais informações sobre como usar tags no IAM, consulte Marcar entidades do IAM no Manual dousuário do IAM.

15. Selecione Next (Próximo): Review (Revisar)Para ver uma lista de associações de grupos a seremadicionadas ao novo usuário. Quando você estiver pronto para continuar, selecione Criar usuário.

Você pode usar esse mesmo processo para criar mais grupos e usuários e conceder aos seus usuáriosacesso ao seu Conta da AWS recursos da AWS. Para saber como usar políticas para restringir aspermissões de usuário a recursos específicos da AWS, consulte Gerenciamento de acesso e Exemplos depolíticas.

Para fazer login como novo usuário do IAM, primeiramente saia doAWSe, em seguida, use oseguinte URL, ondeyour_aws_account_idÉ seuAWSNúmero da conta sem os hifens (por exemplo,se suas receitasAWSO número da conta da1234-5678-9012, suas receitasAWSO ID da contada123456789012):

https://your_aws_account_id.signin.aws.amazon.com/console/

Insira o nome e a senha de usuário do IAM que você acabou de criar. Quando você está conectado, abarra de navegação exibe "your_user_name @ your_aws_account_id".

Versão da API 2015-09-214

Page 10: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCriar um usuário do IAM

Se você não quiser que a URL da página de cadastro contenha o ID da sua conta da AWS, crie um aliasda conta. No painel do IAM, escolhaPersonalizare insira umAccount Alias (Alias da conta), como o nomeda sua empresa. Para obter mais informações, consulteSuasAWSID da conta da e seu aliasnoIAM UserGuide.

Para fazer o login depois de criar o alias de uma conta, use o seguinte URL:

https://your_account_alias.signin.aws.amazon.com/console/

Para verificar o link de cadastro para usuários do IAM para a conta, abra o console do IAM e marque IAMusers sign-in link no painel.

Para obter mais informações sobre o IAM, consulte oAWS Identity and Access ManagementGuia dousuário do.

Versão da API 2015-09-215

Page 11: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Conceitos básicos da Amazon ECRusando aAWS Management Console

Comece a usar o Amazon ECR criando um repositório no console do Amazon ECR. O console do AmazonECR orienta você no processo para começar a criar seu primeiro repositório.

Antes de começar, você deve concluir as etapas em Configurando com o Amazon ECR (p. 3).

Como criar um repositório de imagens

Um repositório é o local em que armazena as imagens do Docker ou da Open Container Initiative (OCI) noAmazon ECR. Cada vez que envia ou recebe uma imagem do Amazon ECR, você especifica o repositórioe o local do registro, que informa para onde enviar a imagem ou de onde retirá-la.

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/.2. Escolha Get Started.3. Em Tag immutability (Imutabilidade de tag), escolha a configuração de mutabilidade de tag para o

repositório. Repositórios configurados com tags imutáveis impedirão que as tags de imagens sejamsubstituídas. Para obter mais informações, consulte Mutabilidade de tag de imagem (p. 58).

4. Em Scan on push (Verificar ao enviar), escolha a configuração de verificação de imagens para orepositório. Os repositórios configurados para verificar ao enviar iniciarão uma verificação de imagemsempre que uma imagem for enviada, caso contrário, as verificações de imagem deverão ser iniciadasmanualmente. Para obter mais informações, consulte Verificação de imagens (p. 59).

5. Escolha Create repository (Criar repositório).

Criar, marcar e enviar uma imagem do Docker por push

Nesta seção do assistente, você usa a CLI do Docker para marcar uma imagem local existente (que vocêtiver criado a partir de um Dockerfile ou enviado por push de outro registro, como o Docker Hub) e, emseguida, enviar a imagem marcada para seu registro do Amazon ECR. Para obter etapas mais detalhadassobre como usar a CLI do Docker, consulte Usando o Amazon ECR com oAWS CLI (p. 7).

1. Selecione o repositório criado e escolha View push commands (Exibir comandos de push) para ver asetapas de como enviar uma imagem para o novo repositório.

2. Execute o comando de login que autentica o cliente do Docker no registro colando o comando doconsole em uma janela do terminal. Esse comando fornece um token de autorização válido por 12horas.

3. (Opcional) Se você tiver um Dockerfile para a imagem a ser enviada, compile a imagem e marque-a para o novo repositório. Cole o comando docker build do console em uma janela do terminal.Certifique-se de que você esteja no mesmo diretório do Dockerfile.

4. Marque a imagem com o URI de registro do Amazon ECR e com o novo repositório colando ocomando docker tag do console em uma janela do terminal. O comando do console pressupõeque a imagem tenha sido compilada com base em um Dockerfile na etapa anterior. Se nãovocê tiver compilado a imagem com base em um Dockerfile, substitua a primeira instância derepository:latest pelo ID da imagem ou o nome da imagem local a ser enviada.

5. Envie a imagem recém-marcada para o repositório colando o comando docker push em uma janela doterminal.

6. Escolha Close (Fechar).

Versão da API 2015-09-216

Page 12: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioPrerequisites

Usando o Amazon ECR com oAWSCLI

As etapas a seguir orientam você pelas etapas necessárias para enviar uma imagem de contêiner aorepositório privado do Amazon ECR pela primeira vez usando a CLI do Docker e aAWS CLI.

Para obter mais informações sobre as outras ferramentas disponíveis para gerenciar o seuAWSrecursos,incluindo os diferentesAWSSDKs, toolkits de IDE e as ferramentas de linha de comando do WindowsPowerShell, consultehttp://aws.amazon.com/tools/.

PrerequisitesAntes de começar, você deve concluir as etapas em Configurando com o Amazon ECR (p. 3).

Se você ainda não tiver o Docker e a AWS CLI mais recentes instalados e preparados, use as etapas aseguir para instalar essas duas ferramentas.

Instalar a AWS CLIVocê pode usar oAWSFerramentas de linha de comando para emitir comandos na linha de comando dosistema e realizar o Amazon ECR e outrosAWSTarefas. Isso pode ser mais rápido e mais convenientedo que usar o console. As ferramentas da linha de comando também são úteis para criar scripts queexecutam tarefas da AWS.

Para usar aAWS CLIcom o Amazon ECR, instale oAWS CLI(a funcionalidade do Amazon ECR estádisponível noAWS CLIcomeçando com a versão 1.9.15). Você pode verificar a versão da AWS CLI com ocomando aws --version. Para obter informações sobre como instalar oAWS CLIou atualizá-lo para a versãomais recente, consulteInstalar aAWS Command Line InterfacenoAWS Command Line InterfaceGuia dousuário.

Instalar o DockerO Docker está disponível em muitos sistemas operacionais diferentes, incluindo a maioria das distribuiçõesmodernas do Linux, como Ubuntu, e até o macOS e o Windows. Para obter mais informações sobre comoinstalar o Docker no seu sistema operacional, consulte o Guia de instalação do Docker.

Não é necessário um sistema de desenvolvimento local para usar o Docker. Se você já usa o AmazonEC2, poderá iniciar uma instância do Amazon Linux 2 e instalar o Docker para começar.

Se você já tiver um Docker instalado, vá para Etapa 1: Criar uma imagem do Docker (p. 8).

Para instalar o Docker em uma instância do Amazon EC2

1. Execute uma instância do com a AMI do Amazon Linux 2. Para obter mais informações, consulteIniciaruma instâncianoGuia do usuário do Amazon EC2 para instâncias do Linux.

2. Conecte-se à sua instância . Para obter mais informações, consulteConecte-se à sua instância doLinuxnoGuia do usuário do Amazon EC2 para instâncias do Linux.

3. Atualize os pacotes instalados e o cache de pacotes em sua instância.

sudo yum update -y

4. Instale o pacote do Docker Community Edition mais recente.

Versão da API 2015-09-217

Page 13: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEtapa 1: Criar uma imagem do Docker

sudo amazon-linux-extras install docker

5. Inicie o serviço Docker.

sudo service docker start

6. Adicione o ec2-user ao grupo docker, de modo que você possa executar comandos do Docker semusar o sudo.

sudo usermod -a -G docker ec2-user

7. Faça logout e login novamente para selecionar as novas permissões do grupo docker. Você podefazer isso ao fechar a janela de terminal SSH atual e se reconectar à sua instância em outra janela.Sua nova sessão SSH terá as permissões de grupo docker apropriadas.

8. Verifique se o ec2-user pode executar comandos do Docker sem sudo.

docker info

Note

Em alguns casos, pode ser necessário reinicializar sua instância para fornecer permissõespara o ec2-user acessar o daemon do Docker. Tente reinicializar sua instância se você vir oseguinte erro:

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Etapa 1: Criar uma imagem do DockerNesta seção, crie uma imagem de Docker de um aplicativo web simples e teste-a no seu sistema localou instância do EC2. Em seguida, envie a imagem ao registro de contêiner (como o Amazon ECR ou oDocker Hub) para poder usá-la em uma definição de tarefa do ECS.

Para criar uma imagem do Docker de um aplicativo web simples

1. Crie um arquivo chamado Dockerfile. Dockerfile é um manifesto que descreve a imagem básica aser usada para a sua imagem do Docker e o que você deseja instalar e executar nela. Para obter maisinformações sobre a Dockerfiles, visite Referência de Dockerfiles.

touch Dockerfile

2. Edite o Dockerfile que você acabou de criar e adicione o conteúdo a seguir.

FROM ubuntu:18.04

# Install dependenciesRUN apt-get update && \ apt-get -y install apache2

# Install apache and write hello world messageRUN echo 'Hello World!' > /var/www/html/index.html

# Configure apacheRUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \ echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \

Versão da API 2015-09-218

Page 14: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEtapa 1: Criar uma imagem do Docker

echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ chmod 755 /root/run_apache.sh

EXPOSE 80

CMD /root/run_apache.sh

Esse Dockerfile usa a imagem do Ubuntu 18.04. ORUNAtualizar os caches de pacote, instalar algunspacotes de software para o servidor web e, em seguida, gravam o conteúdo “Hello World!” na raiz dodocumento do servidor web. A instrução EXPOSE expõe a porta 80 no contêiner, e a instrução CMDinicia o servidor web.

3. Crie a imagem do Docker do seu Dockerfile.

Note

Algumas versões do Docker podem exigir o caminho completo para o seu Dockerfile noseguinte comando, em vez de o caminho relativo mostrado abaixo.

docker build -t hello-world .

4. Execute docker images para verificar se a imagem foi criada corretamente.

docker images --filter reference=hello-world

Resultado:

REPOSITORY TAG IMAGE ID CREATED SIZEhello-world latest e9ffedc8c286 4 minutes ago 241MB

5. Execute a imagem recém-criada. A opção -p 80:80 mapeia a porta 80 exposta no contêiner para aporta 80 no sistema de host. Para obter mais informações sobre o docker run, acesse a Referência deexecução do Docker.

docker run -t -i -p 80:80 hello-world

Note

A saída do servidor Web Apache é exibida na janela do terminal. Você pode ignorar amensagem "Could not reliably determine the server's fully qualifieddomain name".

6. Abra um navegador e aponte para o servidor que está executando o Docker e hospedando seucontêiner.

• Se você estiver usando uma instância do EC2, esse é o valor Public DNS para o servidor, que é omesmo endereço usado para se conectar à instância com o SSH. Certifique-se de que o securitygroup para sua instância permita o tráfego de entrada na porta 80.

• Se você estiver executando o Docker localmente, aponte seu navegador para http://localhost/.• Se você estiver usando odocker-machineEm um computador Windows ou macOS, localize o

endereço IP da VM VirtualBox que está hospedando o Docker com odocker-machine ipcomando,substituindoNome da máquinacom o nome da máquina de encaixe que você está usando.

docker-machine ip machine-name

Você deverá ver uma página da web com a sua instrução "Hello, World!" instrução.

Versão da API 2015-09-219

Page 15: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEtapa 2: Autenticar-se no registro padrão

7. Interrompa o contêiner do Docker digitando Ctrl+c.

Etapa 2: Autenticar-se no registro padrãoDepois de instalar e configurar o AWS CLI, autentique o CLI do Docker para seu registro padrão. Dessaforma, odockerO pode enviar e extrair imagens com o Amazon ECR. A AWS CLI fornece um comando get-login-password para simplificar o processo de autenticação.

Oget-login-passwordé o método preferido para autenticação em um registro privado do Amazon ECRao usar oAWS CLI. Verifique se você configurou o seuAWS CLIPara interagir com oAWS. Para obter maisinformações, consulteAWS CLINoções básicas de configuraçãonoAWS Command Line InterfaceGuia dousuário.

Ao passar o token de autorização do Amazon ECR para odocker login, use o valorAWSPara obter o nomede usuário e especifique o URI de registro do Amazon ECR no qual deseja fazer a autenticação. Seautenticar em vários registros, você deverá repetir o comando para cada registro.

Important

Se você receber um erro, instale ou atualize para a versão mais recente da AWS CLI. Paraobter mais informações, consulteInstalar aAWS Command Line InterfacenoAWS Command LineInterfaceGuia do usuário.

• get-login-password (AWS CLI)

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

• Get-ECRLoginCommand (AWS Tools for Windows PowerShell)

(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

Etapa 3: Criar um repositório doAgora que você tem uma imagem para enviar ao Amazon ECR, precisa criar um repositório para guardá-la. Neste exemplo, você cria um repositório chamado hello-world para o qual enviará a imagemhello-world:latest posteriormente. Para criar um repositório, execute o seguinte comando:

aws ecr create-repository \ --repository-name hello-world \ --image-scanning-configuration scanOnPush=true \ --region us-east-1

Etapa 4: Enviar uma imagem ao Amazon ECRAgora você pode enviar a imagem ao repositório do Amazon ECR que criou na seção anterior. Você podeusar a CLI do docker para enviar imagens, mas há alguns pré-requisitos que devem ser atendidos paraque isso funcione corretamente:

• A versão mínima dodockerO está instalado: 1,7

Versão da API 2015-09-2110

Page 16: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEtapa 5: Enviar uma imagem do Amazon ECR

• O token de autorização do Amazon ECR foi configurado com odocker login.• O repositório do Amazon ECR existe, e o usuário tem acesso para enviar imagens ao repositório.

Depois que esses pré-requisitos forem atendidos, você poderá enviar a imagem ao repositório recém-criado no registro padrão da sua conta.

Para marcar e enviar uma imagem ao Amazon ECR

1. Liste as imagens que você armazenou localmente para identificar a imagem a ser marcada e enviada.

docker images

Resultado:

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEhello-world latest e9ffedc8c286 4 minutes ago 241MB

2. Marque a imagem a ser enviada ao seu repositório.

docker tag hello-world:latest aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest

3. Envie a imagem.

docker push aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest

Resultado:

The push refers to a repository [aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world] (len: 1)e9ae3c220b23: Pusheda6785352b25c: Pushed0998bf8fb9e9: Pushed0a85502c06c9: Pushedlatest: digest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b size: 6774

Etapa 5: Enviar uma imagem do Amazon ECRDepois que a imagem for enviada ao repositório do Amazon ECR, você poderá extraí-la de outros locais.Use a CLI docker para extrair imagens, mas há alguns pré-requisitos que devem ser atendidos para queisso funcione corretamente:

• A versão mínima dodockerO está instalado: 1,7• O token de autorização do Amazon ECR foi configurado com odocker login.• O repositório do Amazon ECR existe, e o usuário tem acesso para extrair imagens do repositório.

Depois que esses pré-requisitos forem atendidos, você poderá extrair a imagem. Para extrair a imagem deexemplo do Amazon ECR, execute o seguinte comando:

docker pull aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest

Versão da API 2015-09-2111

Page 17: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEtapa 6: Excluir uma imagem

Resultado:

latest: Pulling from hello-world0a85502c06c9: Pull complete0998bf8fb9e9: Pull completea6785352b25c: Pull completee9ae3c220b23: Pull completeDigest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89bStatus: Downloaded newer image for aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest

Etapa 6: Excluir uma imagemSe você decidir que não precisa ou não quer mais uma imagem em um dos repositórios, poderá excluí-lacom o comando batch-delete-image. Para excluir uma imagem, você deve especificar o repositório em queele está e um valor imageTag ou imageDigest para imagem. O exemplo abaixo exclui uma imagem norepositório hello-world com a tag de imagem latest.

aws ecr batch-delete-image \ --repository-name hello-world \ --image-ids imageTag=latest

Resultado:

{ "failures": [], "imageIds": [ { "imageTag": "latest", "imageDigest": "sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b" } ]}

Etapa 7: Excluir um repositórioSe você decidir que não precisa ou não quer mais um repositório inteiro de imagens, exclua o repositório.Por padrão, não é possível excluir um repositório que contém imagens. No entanto, o sinalizador --forcepermite isso. Para excluir um repositório que contém imagens (e todas as imagens contidas nele), executeo seguinte comando.

aws ecr delete-repository \ --repository-name hello-world \ --force

Versão da API 2015-09-2112

Page 18: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioConceitos de registro privado

Registros privados do Amazon ECROs registros privados do Amazon ECR hospedam suas imagens de contêiner em uma arquiteturaaltamente disponível e escalável. É possível usar o registro privado para gerenciar repositórios de imagensprivadas que consistem em imagens e artefatos do Docker e da Open Container Initiative (OCI). CadaumAWSA conta do é fornecida com um registro do Amazon ECR privado. Para obter mais informaçõessobre registros públicos do Amazon ECR, consulteRegistros públicosnoAmazon Elastic Container RegistryGuia do usuário.

Conceitos de registro privado• O URL do seu registro privado padrão

éhttps://aws_account_id.dkr.ecr.region.amazonaws.com.• Por padrão, sua conta tem acesso de leitura e gravação aos repositórios no seu registro privado.

No entanto, os usuários do IAM necessitam de permissões para fazer chamadas para as APIs doAmazon ECR e para enviar e extrair imagens de seus repositórios privados. O Amazon ECR fornecevárias políticas gerenciadas para controlar o acesso do usuário em níveis variados. Para obter maisinformações, consulte Exemplos de políticas baseadas no Amazon Elastic Container Registry (p. 83).

• Você deve autenticar o cliente do Docker no registro privado para poder usar odocker pushedockerpullComandos do para enviar e extrair imagens nos repositórios nesse registro. Para obter maisinformações, consulte A autenticação de registro privado (p. 13).

• Os repositórios privados podem ser controlados com políticas de acesso de usuários do IAM e políticasde repositório. Para obter mais informações sobre políticas de repositórios, consulte Políticas derepositório do (p. 24).

• Os repositórios em seu registro privado podem ser replicados entre Regiões em seu próprio registroprivado e em contas separadas configurando a replicação para seu registro privado. Para obter maisinformações, consulte Replicar imagens privadas (p. 42).

A autenticação de registro privadoVocê pode usar oAWS Management Console, oAWS CLI, ou oAWSSDKs para criar e gerenciarrepositó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 padrão de autenticação da AWS. Embora vocêpossa usar a API do Amazon ECR para enviar e extrair imagens, é mais provável que você use a CLI doDocker ou uma biblioteca do Docker específica para o idioma.

A CLI do Docker não oferece suporte a métodos nativos de autenticação do IAM. é necessário seguiretapas adicionais para que o Amazon ECR possa autenticar e autorizar solicitações push e pull do Docker.

Os métodos de autenticação de registro detalhados nas seguintes seções estão disponíveis.

Usando o ajudante de credencial do Amazon ECRO Amazon ECR fornece um auxiliar de credenciais do Docker que facilita o armazenamento e o uso decredenciais do Docker ao enviar e extrair imagens do Amazon ECR. Para obter as etapas de instalação econfiguração, consulte Auxiliar de credenciais do Docker do Amazon ECR.

Versão da API 2015-09-2113

Page 19: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioUsar um token de autorização

Usar um token de autorizaçãoO escopo de permissão de um token de autorização corresponde ao principal do IAM usado pararecuperar o token de autenticação. Um token de autenticação é usado para acessar qualquer registro doAmazon ECR ao qual seu principal do IAM tem acesso e é válido por 12 horas. Para obter um token deautorização, é necessário usar a operação de API GetAuthorizationToken para recuperar um token deautorização codificado em base64 contendo o nome de usuário da AWS e a senha codificada. O comandoget-login-password da AWS CLI simplifica isso recuperando e decodificando o token de autorização,que você poderá canalizar em um comando docker login para autenticar.

Como autenticar o Docker em um registro privado do AmazonECR com get-login-passwordPara autenticar o Docker em um registro do Amazon ECR com get-login-password, execute oaws ecr get-login-passwordComando da. Ao passar o token de autenticação para odocker login, use o valorAWSPara onome de usuário e especifique o URI de registro do Amazon ECR no qual deseja fazer a autenticação. Seautenticar em vários registros, você deverá repetir o comando para cada registro.

Important

Se você receber um erro, instale ou atualize para a versão mais recente da AWS CLI. Paraobter mais informações, consulteInstalar aAWS Command Line InterfacenoAWS Command LineInterfaceGuia do usuário.

• get-login-password (AWS CLI)

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

• Get-ECRLoginCommand (AWS Tools for Windows PowerShell)

(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

Como autenticar o Docker em um registro privado do AmazonECR com get-loginAo usar oAWS CLIversões da anteriores à 1.17.10, oget-loginestá disponível para autenticação no seuregistro do Amazon ECR. Você pode verificar a versão da AWS CLI com o comando aws --version.

1. Execute o comando aws ecr get-login. O exemplo abaixo indica como fazer o registro padrãoassociado à conta que fez a solicitação. Para acessar os registros de outras contas, use a opção--registry-ids aws_account_id. Para obter mais informações, consulteget-loginnoAWSCLIReferência de comandos da.

aws ecr get-login --region region --no-include-email

A saída resultante é umdocker loginque você usa para autenticar o cliente do Docker no registro doAmazon ECR.

docker login -u AWS -p password https://aws_account_id.dkr.ecr.region.amazonaws.com

2. Copie e cole o comando docker login em um terminal para autenticar a CLI do Docker no registro. Estecomando fornece um token de autorização válido por 12 horas para o registro especificado.

Versão da API 2015-09-2114

Page 20: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioUsar a autenticação de API HTTP

Note

Se você estiver usando o Windows PowerShell, não é possível copiar e colar strings longascomo essa. Use o seguinte comando.

Invoke-Expression -Command (Get-ECRLoginCommand -Region region).Command

Important

Durante a execução desse comando docker login, a string de comando pode ser visível aoutros usuários no sistema em uma exibição da lista de processos (ps -e). Como o comandodocker login contém credenciais de autenticação, há risco de que outros usuários no sistemapossam visualizá-las. Eles podem usar as credenciais para conseguir acesso de envio aosrepositórios. Se não estiver em um sistema seguro, você deverá usar o comando ecr get-login-password conforme descrito acima.

Usar a autenticação de API HTTPO Amazon ECR oferece suporte aoAPI HTTP do registro do Docker. No entanto, como o Amazon ECR éum registro privado, você deve fornecer um token de autorização com cada solicitação HTTP. É possíveladicionar um cabeçalho de autorização HTTP usando a opção -H para curl e passando o token deautorização fornecido pelo comando get-authorization-token da AWS CLI.

Como autenticar com a API HTTP do Amazon ECR

1. Recupere um token de autorização com a AWS CLI e configure-o para uma variável de ambiente.

TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken')

2. A fim de fazer a autenticação para a API, passe a variável $TOKEN para a opção -H de curl. Porexemplo, o comando a seguir lista as tags da imagem em um repositório do Amazon ECR. Para obtermais 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/list

A saída é a seguinte:

HTTP/1.1 200 OKContent-Type: text/plain; charset=utf-8Date: Thu, 04 Jan 2018 16:06:59 GMTDocker-Distribution-Api-Version: registry/2.0Content-Length: 50Connection: keep-alive

{"name":"amazonlinux","tags":["2017.09","latest"]}

Configurações do registro privadoO Amazon ECR usaConfigurações do registropara configurar recursos no nível do registro. Asconfigurações de registro privado são configuradas separadamente para cada região. Atualmente, a única

Versão da API 2015-09-2115

Page 21: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioPermissões de registro privado

configuração do Registro é a configuração de replicação, que é usada para configurar a replicação entreregiões e entre contas das imagens em seus repositórios. Para obter mais informações, consulte Replicarimagens privadas (p. 42).

Permissões de registro privadoO Amazon ECR usa umPolítica de registroPara conceder permissões a umAWSprincipal, permitindo areplicação dos repositórios de um registro de origem para o registro. Por predefinição, tem permissão paraconfigurar a replicação entre regiões no seu próprio registo. Só é necessário configurar a política de registose estiver a conceder outra permissão de conta para replicar conteúdos para o registo.

Uma diretiva de registro deve conceder permissão para oecr:ReplicateImageAção de API. Esta APIé uma API interna do Amazon ECR que pode replicar imagens entre regiões ou contas. Você tambémpode conceder permissão para oecr:CreateRepository, que permite que o Amazon ECR crierepositórios em seu registro se eles ainda não existirem. Se oecr:CreateRepositorynão for fornecida,um repositório com o mesmo nome que o repositório de origem deve ser criado manualmente no seuregistro. Se nenhum deles for feito, a replicação falhará. Quaisquer ações de API CreateRepository ouReplicateImage com falha são exibidas no CloudTrail.

Tópicos• Definindo uma instrução de permissão de registro privado (p. 16)• Excluindo uma instrução de permissão de registro privado (p. 17)• Exemplos de política de registro privado (p. 18)

Definindo uma instrução de permissão de registroprivadoPode adicionar ou actualizar a política de permissões para o registo utilizando os seguintes passos. Vocêpode adicionar várias instruções de política por registro. Para obter exemplos de políticas do, consulteExemplos de política de registro privado (p. 18).

Para configurar uma política de permissões para um registro privado (AWS Management Console)

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/.2. Na barra de navegação, selecione a região na qual configurar a política de registro.3. No painel de navegação, selecioneRegistros do.4. NoRegistros do, selecione seuPrivateRegistro e escolhaPermissões.5. NoPermissões de registro privadoPágina, selecioneInstrução Gere.6. Para definir sua declaração de políticas usando o gerador de políticas, execute as etapas a seguir.

a. para oTipo de política, escolhaPolítica entre contas.b. para oID do InstruçãoEm, insira um ID de instrução exclusivo. Este campo é usado como oSidna

política de registo.c. para oContas, insira os IDs de conta para cada conta para a qual você deseja conceder

permissões. Ao especificar vários IDs de contas, separe-os com uma vírgula.7. Expandir oDeclaração de política de visualizaçãopara rever a declaração de política de permissões de

registo.8. Depois que a declaração de política for confirmada, escolhaAdicionar à políticaPara salvar a política

no registro do.

Versão da API 2015-09-2116

Page 22: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExcluindo uma instrução de permissão de registro privado

Para configurar uma política de permissões para um registro privado (AWS CLI)

1. Crie um arquivo chamadoregistry_policy.jsone preenchê-lo com uma política de registro.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/*" ] } ]}

2. Crie a diretiva de registro usando o arquivo de diretiva.

aws ecr put-registry-policy \ --policy-text file://registry_policy.json \ --region us-west-2

3. Recupere a política para confirmar o registro.

aws ecr get-registry-policy \ --region us-west-2

Excluindo uma instrução de permissão de registroprivadoPode eliminar todas as instruções de política de permissões para o registo utilizando os seguintes passos.

Para excluir uma política de permissões de um registro privado (AWS Management Console)

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/.2. Na barra de navegação, selecione a região na qual configurar a política de permissões de registro.3. No painel de navegação, selecioneRegistros do.4. NoRegistros do, selecione seuPrivateRegistro e escolhaPermissões.5. NoPermissões de registro privadoPágina, selecioneExcluir.6. NoExclua política de registrotela de confirmação, selecioneExcluir política do.

Para excluir uma política de permissões de um registro privado (AWS CLI)

1. Exclua a política de registro.

aws ecr delete-registry-policy \

Versão da API 2015-09-2117

Page 23: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de política de registro privado

--region us-west-2

2. Recupere a política para confirmar o registro.

aws ecr get-registry-policy \ --region us-west-2

Exemplos de política de registro privadoOs exemplos a seguir mostram declarações de políticas de permissões de registro que você pode usarpara controlar as permissões que os usuários têm para o seu registro do Amazon ECR.

Exemplo: Permitir que o usuário raiz de uma conta de origemreplique todos os repositórios{ "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/*" ] } ]}

Exemplo: Permitir várias contas{ "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/*" ] }, { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{

Versão da API 2015-09-2118

Page 24: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de política de registro privado

"AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/*" ] } ]}

Exemplo: Permitir que o usuário raiz de uma conta de origemreplique todos os repositórios começando comprod-

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/prod-*" ] } ]}

Exemplo: Permitir que o usuário raiz de uma conta de origemreplique todos os repositórios começando comprod-

Se oecr:CreateRepositoryfor removida da declaração de permissão do Registro, você poderá replicarseus repositórios. No entanto, para uma replicação bem-sucedida, você precisa criar repositórios com omesmo nome em sua conta.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/*" ] } ]

Versão da API 2015-09-2119

Page 25: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de política de registro privado

}

Versão da API 2015-09-2120

Page 26: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioConceitos de repositório

Repositórios privados do AmazonECR

O Amazon Elastic Container Registry (Amazon ECR) fornece operações de API para criar, monitorar eexcluir repositórios de imagens e definir permissões que controlam quem pode acessá-los. É possívelexecutar as mesmas ações noRepositóriosdo console do Amazon ECR. O Amazon ECR também seintegra à CLI do Docker, para que você envie e extraia imagens de seus ambientes de desenvolvimentopara os repositórios.

Tópicos• Conceitos de repositório (p. 21)• Criar um repositório (p. 21)• Visualizar informações do repositório (p. 22)• Editar um repositório (p. 23)• Excluir um repositório (p. 24)• Políticas de repositório do (p. 24)• Marcar um repositório do Amazon ECR (p. 30)

Conceitos de repositório• Por padrão, sua conta tem acesso de leitura e gravação aos repositórios no seu registro padrão

(aws_account_id.dkr.ecr.region.amazonaws.com). No entanto, os usuários do IAM necessitamde permissões para fazer chamadas para as APIs do Amazon ECR e para enviar e extrair imagens dee para os repositórios. O Amazon ECR fornece várias políticas gerenciadas para controlar o acesso dousuário em níveis variados. Para obter mais informações, consulte Exemplos de políticas baseadas noAmazon Elastic Container Registry (p. 83).

• Os repositórios podem ser controlados com políticas de acesso de usuários do IAM e políticas derepositório individuais. Para obter mais informações, consulte Políticas de repositório do (p. 24).

• Os nomes de repositório podem oferecer suporte a namespaces, que você pode usar para agruparrepositórios semelhantes. Por exemplo, se houver várias equipes usando o mesmo registro, a EquipeA pode usar oteam-ae a Equipe B pode usar oteam-bnamespace. Ao fazer isso, cada equipe temsua própria imagem chamadaweb-appcom cada imagem predefinida com o namespace da equipe.Essa configuração permite que essas imagens em cada equipe sejam usadas simultaneamente seminterferência. A imagem da Equipe A éteam-a/web-app, e a imagem da Equipe B éteam-b/web-app.

• Suas imagens podem ser replicadas para outros repositórios em regiões em seu próprio registroe em todas as contas. Você pode fazer isso especificando uma configuração de replicação emsuas configurações de registro. Para obter mais informações, consulte Configurações do registroprivado (p. 15).

Criar um repositórioAntes de enviar suas imagens do Docker ao Amazon ECR, você precisa criar um repositório paraarmazená-las. Você pode criar repositórios do Amazon ECR com oAWS Management Console, ou comoAWS CLIeAWSSDKs.

Como criar um repositório do

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.

Versão da API 2015-09-2121

Page 27: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVisualizar informações do repositório

2. Na barra de navegação, selecione a região na qual criará o seu repositório.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositories (Repositórios), selecione Create repository (Criar repositório).5. Em Repository name (Nome do repositório), insira um nome exclusivo para o repositório. O nome

do repositório pode ser especificado por conta própria (por exemplo,nginx-web-app). Emalternativa, pode ser prefixado com um namespace para agrupar o repositório em uma categoria (porexemplo,project-a/nginx-web-app).

Note

O nome deve começar com uma letra e pode conter apenas letras minúsculas, números,hífens (-), sublinhados (_) e barras (/).

6. Em Tag immutability (Imutabilidade de tag), escolha a configuração de mutabilidade de tag para orepositório. Repositórios configurados com tags imutáveis impedem que as tags de imagens sejamsubstituídas. Para obter mais informações, consulte Mutabilidade de tag de imagem (p. 58).

7. Em Scan on push (Verificar ao enviar), escolha a configuração de verificação de imagens para orepositório. Repositórios configurados para verificar ao enviar iniciarão uma verificação de imagemsempre que uma imagem for enviada. Se você quiser iniciar uma digitalização de imagem em ummomento diferente, você precisa iniciar manualmente as digitalizações de imagem. Para obter maisinformações, consulte Verificação de imagens (p. 59).

8. para oCriptografia KMS, escolha se deseja ativar a criptografia das imagens do repositório usandooAWS Key Management Service. Por padrão, quando a criptografia KMS está habilitada, o AmazonECR usa um Chave gerenciada pela AWS (chave KMS) com o aliasaws/ecr. Essa chave mestra écriada em sua conta na primeira vez que você cria um repositório com criptografia KMS ativada. Paraobter mais informações, consulte Criptografia em repouso (p. 90).

9. Quando a criptografia KMS estiver habilitada, selecioneConfigurações de criptografia do cliente(avançado)para escolher sua própria chave KMS. A chave do KMS deve estar na mesma região que ocluster. SelecioneCriar umAWS KMSchavePara navegar até o.AWS KMSPara criar a própria chave.

10. Escolha Create repository (Criar repositório).11. (Opcional) Selecione o repositório que você criou e escolhaVer comandos de pushPara ver as etapas

a seguir para enviar uma imagem ao novo repositório.

a. Execute o comando de login que autentica o cliente do Docker no registro colando o comando doconsole em uma janela do terminal. Esse comando fornece um token de autorização válido por 12horas.

b. (Opcional) Se você tiver um Dockerfile para a imagem a ser enviada, compile a imagem emarque-a para o novo repositório. Cole o comando docker build do console em uma janela doterminal. Certifique-se de que você esteja no mesmo diretório do Dockerfile.

c. Marque a imagem com o URI de registro do Amazon ECR e com o novo repositório colando ocomando docker tag do console em uma janela do terminal. O comando do console pressupõeque a imagem tenha sido compilada com base em um Dockerfile na etapa anterior. Se nãovocê tiver compilado a imagem com base em um Dockerfile, substitua a primeira instância derepository:latest pelo ID da imagem ou o nome da imagem local a ser enviada.

d. Envie a imagem recém-marcada para o repositório colando o comando docker push em umajanela do terminal.

e. Escolha Fechar.

Visualizar informações do repositórioDepois de criar um repositório, você poderá ver as informações dele noAWS Management Console:

• Quais imagens são armazenadas em um repositório• Se uma imagem é marcada

Versão da API 2015-09-2122

Page 28: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEditar um repositório

• As tags da imagem• O resumo SHA das imagens• O tamanho das imagens em MiB• Quando a imagem foi extraída para o repositório

Note

A partir do Docker versão 1.9, o cliente do Docker compacta camadas das imagens antes deenviá-las a um registro do Docker V2. A saída dodocker imagesmostra o tamanho da imagemdescompactada. Portanto, lembre-se de que o Docker pode retornar uma imagem maior do que aimagem mostrada naAWS Management Console.

Para ver as informações do repositório (AWS Management Console)

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região que contém o repositório a ser visualizado.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositórios, escolha o repositório a ser visualizado.5. Na página Repositórios: repository_name, use a barra de navegação para exibir informações sobre

uma imagem.• Escolha Imagens para visualizar informações sobre as imagens no repositório. Para ver mais

informações sobre a imagem, selecione a imagem. Para obter mais informações, consulteVisualizar detalhes da imagem (p. 38).

Se houver imagens não marcadas que você deseja excluir, selecione a caixa à esquerda dosrepositórios a serem excluídos e escolhaExcluir. Para obter mais informações, consulte Excluiruma imagem (p. 40).

• Escolha Permissões para visualizar as políticas de repositório aplicadas ao repositório. Para obtermais informações, consulte Políticas de repositório do (p. 24).

• Escolha Política de ciclo de vida para visualizar as regras de política de ciclo de vida que sãoaplicadas ao repositório. O histórico de eventos de ciclo de vida também são exibidos aqui. Paraobter mais informações, consulte Políticas de ciclo de vida (p. 46).

• Selecione Tags para visualizar as tags de metadados que são aplicadas ao repositório.

Editar um repositórioOs repositórios existentes podem ser editados para alterar a mutabilidade da tag de imagem e asconfigurações de verificação de imagem.

Para editar um repositório

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região que contém o repositório a ser editado.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositories (Repositórios), selecione o repositório a ser excluído e escolha Edit (Editar).5. Em Tag immutability (Imutabilidade de tag), escolha a configuração de mutabilidade de tag para o

repositório. Repositórios configurados com tags imutáveis impedem que as tags de imagens sejamsubstituídas. Para obter mais informações, consulte Mutabilidade de tag de imagem (p. 58).

6. Em Scan on push (Verificar ao enviar), escolha a configuração de verificação de imagens para orepositório. Repositórios configurados para verificar ao enviar iniciarão uma verificação de imagemsempre que uma imagem for enviada. Se você quiser que as digitalizações de imagem comecem em

Versão da API 2015-09-2123

Page 29: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExcluir um repositório

um horário diferente, você precisa iniciá-las manualmente. Para obter mais informações, consulteVerificação de imagens (p. 59).

7. Escolha Save (Salvar) para atualizar as configurações do repositório.

Excluir um repositórioSe você terminou de usar um repositório, poderá excluí-lo. Quando você exclui um repositório no AWSManagement Console, todas as imagens contidas nele também são excluídas. Essa ação não pode serdesfeita.

Para excluir um repositório

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região que contém o repositório a ser excluído.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositórios, selecione o repositório para excluir e escolha Excluir.5. Na janela Excluir repository_name, verifique se os repositórios selecionados devem ser excluídos e

escolha Excluir.

Important

Quaisquer imagens nos repositórios selecionados também serão excluídas.

Políticas de repositório doO Amazon ECR usa permissões baseadas em recursos para controlar o acesso a repositórios. Comas permissões baseadas em recursos, você pode especificar quais funções ou usuários do IAM do têmacesso a um repositório e quais ações elas podem executar nele. Por padrão, somente o proprietáriodo repositório tem acesso a ele. Você pode aplicar um documento de política que concede permissõesadicionais ao repositório.

Políticas de repositório vs políticas do IAMAs políticas de repositório do Amazon ECR são um subconjunto de políticas do IAM do que têm comoescopo e são usadas especificamente para controlar o acesso a repositórios individuais do Amazon ECR.Em geral, as políticas do IAM são usadas para aplicar permissões a todo o serviço do Amazon ECR, mastambém podem ser usadas para controlar o acesso a recursos específicos.

Tanto as políticas de repositório do Amazon ECR como as políticas do IAM são usadas ao determinarquais ações uma função ou um usuário do IAM específico podem executar em um repositório. Se umafunção ou um usuário tiver permissão para executar uma ação por meio de uma política de repositório,mas tem a permissão negada por uma política do IAM (ou vice-versa), a ação será negada. Um usuárioou uma função só precisa ter permissão para uma ação por meio de uma política de repositório ou umapolítica do IAM, mas não ambas para que a ação seja permitida.

Important

O Amazon ECR exige que os usuários tenham permissão para fazer chamadas paraoecr:GetAuthorizationTokenAPI por meio de uma política do IAM antes que eles possamfazer a autenticação em um registro do e enviar ou extrair qualquer imagem de um repositóriodo Amazon ECR. O Amazon ECR fornece várias políticas gerenciadas do IAM para controlaro acesso do usuário em diversos níveis. Para obter mais informações, consulteExemplos depolíticas baseadas no Amazon Elastic Container Registry (p. 83).

Versão da API 2015-09-2124

Page 30: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioDefinindo uma instrução de política de repositório

Você pode usar qualquer um desses tipos de política para controlar o acesso aos seus repositórios,conforme mostrado nos exemplos a seguir.

Este exemplo mostra uma política de repositório do Amazon ECR, que permite que um usuário específicodo IAM descreva o repositório e as imagens contidas no repositório.

{ "Version": "2008-10-17", "Statement": [{ "Sid": "ECR Repository Policy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": [ "ecr:DescribeImages", "ecr:DescribeRepositories" ] }]}

Este exemplo mostra uma política do IAM que atinge o mesmo objetivo que o acima definindo o escopoda política como um repositório (especificado pelo ARN completo do repositório) usando o parâmetro derecurso. Para obter mais informações sobre o formato do nome de recurso da Amazon (ARN), consulteResources (p. 75).

{ "Version": "2012-10-17", "Statement": [{ "Sid": "ECR Repository Policy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": [ "ecr:DescribeImages", "ecr:DescribeRepositories" ], "Resource": [ "arn:aws:ecr:region:account-id:repository/repository-name" ] }]}

Tópicos• Definindo uma instrução de política de repositório (p. 25)• Excluir uma instrução de política de repositório (p. 26)• Exemplos de políticas do (p. 27)

Definindo uma instrução de política de repositórioVocê pode adicionar uma instrução da política de acesso a um repositório no AWS Management Consoleseguindo as etapas abaixo. Você pode adicionar várias instruções de política por repositório. Para obterexemplos de políticas do, consulte Exemplos de políticas do (p. 27).

Important

O Amazon ECR exige que os usuários tenham permissão para fazer chamadas paraoecr:GetAuthorizationTokenAPI por meio de uma política do IAM antes que eles possam

Versão da API 2015-09-2125

Page 31: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExcluir uma instrução de política de repositório

fazer a autenticação em um registro do e enviar ou extrair qualquer imagem de um repositóriodo Amazon ECR. O Amazon ECR fornece várias políticas gerenciadas do IAM para controlaro acesso do usuário em diversos níveis. Para obter mais informações, consulteExemplos depolíticas baseadas no Amazon Elastic Container Registry (p. 83).

Para configurar uma instrução de política de repositório

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região que contém o repositório no qual será configurada uma

instrução de política.3. No painel de navegação, escolha Repositories (Repositórios).4. NoRepositóriosEm, escolha o repositório no qual definir uma instrução de política do para visualizar o

conteúdo do.5. Na exibição de lista de imagens de repositório do, no painel de navegação, escolhaPermissões,Edite.

Note

Se você não vir oPermissõesno painel de navegação, verifique se você está na exibição delista de imagens do repositório.

6. Na página Editar permissões, selecione Adicionar declaração.7. Em Statement name (Nome da instrução), insira um nome para a instrução.8. Em Effect (Efeito), escolha se a instrução da política resultará em uma permissão ou negação

explícita.9. Em Principal, escolha o escopo ao qual aplicar a instrução da política. Para obter mais informações,

consulteAWSElementos da política JSON do : PrincipalnoIAM User Guide.

• É possível aplicar a instrução a todos os usuários da AWS autenticados marcando a caixa deseleção Everyone (*) (Todos).

• Em Service principal (Principal do serviço), especifique o nome do principal do serviço (por exemplo,ecs.amazonaws.com) para aplicar a instrução a um serviço específico.

• para oAWSIDs de conta, especifique umAWSnúmero da conta (por exemplo,111122223333) paraaplicar a instrução a todos os usuários em umAWSconta. Várias contas podem ser especificadasusando uma lista delimitada por vírgulas.

Important

A conta para a qual você está concedendo permissões deve ter a região na qual você estácriando a política de repositório ativada, caso contrário, ocorrerá um erro.

• para oEntidades do IAM, selecione as funções ou usuários em seuAWSpara aplicar a instrução.

Note

Para políticas de repositório mais complicadas, que não são compatíveis com o AWSManagement Console no momento, você pode aplicar a política com o comando set-repository-policy da AWS CLI.

10. para oAçõesEscolha o escopo das operações da API do Amazon ECR ao qual a declaração depolítica deve ser aplicada na lista de operações de API individuais.

11. Quando terminar, escolha Save (Salvar) para definir a política.12. Repita a etapa anterior para cada política de repositório a ser adicionada.

Excluir uma instrução de política de repositórioSe você não quiser mais que uma instrução de política de repositório existente seja aplicada a umrepositório, exclua-a.

Versão da API 2015-09-2126

Page 32: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de políticas do

Para excluir uma instrução de política de repositório

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região que contém o repositório do qual será excluída uma

instrução de política.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositories (Repositórios), selecione o repositório do qual excluirá uma instrução de

política.5. No painel de navegação, selecione Permissions (Permissões), Edit (Editar).6. Na página Editar permissões, escolha Excluir.

Exemplos de políticas doOs exemplos a seguir mostram declarações de políticas que você pode usar para controlar as permissõesque os usuários autenticados têm para os repositórios do Amazon ECR.

Important

O Amazon ECR exige que os usuários tenham permissão para fazer chamadas paraoecr:GetAuthorizationTokenAPI por meio de uma política do IAM antes que eles possamfazer a autenticação em um registro do e enviar ou extrair qualquer imagem de um repositóriodo Amazon ECR. O Amazon ECR fornece várias políticas gerenciadas do IAM para controlaro acesso do usuário em diversos níveis. Para obter mais informações, consulteExemplos depolíticas baseadas no Amazon Elastic Container Registry (p. 83).

Exemplo: Permitir um ou mais usuários do IAMA política de repositório a seguir permite que um ou mais usuários do IAM insiram e extraiam imagens de epara um repositório.

{ "Version": "2008-10-17", "Statement": [ { "Sid": "AllowPushPull", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:user/push-pull-user-1", "arn:aws:iam::account-id:user/push-pull-user-2" ] }, "Action": [ "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability", "ecr:CompleteLayerUpload", "ecr:GetDownloadUrlForLayer", "ecr:InitiateLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart" ] } ]}

Exemplo: Permitir outra contaA política de repositório a seguir permite que uma conta específica insira imagens.

Versão da API 2015-09-2127

Page 33: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de políticas do

Important

A conta para a qual você está concedendo permissões deve ter a região na qual você estácriando a política de repositório ativada, caso contrário, ocorrerá um erro.

{ "Version": "2008-10-17", "Statement": [ { "Sid": "AllowCrossAccountPush", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:root" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:CompleteLayerUpload", "ecr:InitiateLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart" ] } ]}

A política de repositório a seguir permite que alguns usuários do IAM extraiam imagens (puxar-user-1epuxar-user-2) enquanto fornece acesso total a outro (admin-user-idName).

Note

Para políticas de repositório mais complicadas, que não são compatíveis com o AWSManagement Console no momento, você pode aplicar a política com o comando set-repository-policy da AWS CLI.

{ "Version": "2008-10-17", "Statement": [ { "Sid": "AllowPull", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:user/pull-user-1", "arn:aws:iam::account-id:user/pull-user-2" ] }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] }, { "Sid": "AllowAll", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/admin-user" }, "Action": [ "ecr:*" ] } ]

Versão da API 2015-09-2128

Page 34: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de políticas do

}

Exemplo: Permitir que todos os usuários em um grupo do IAMextraiam imagensA política de repositório a seguir permite que todos os usuários do em um grupo do IAM extraiam imagens.Para obter mais informações sobre grupos do IAM, consulteGrupos de usuários IAMnoIAM User Guide.

{ "Version": "2008-10-17", "Statement": [ { "Sid": "AllowPull", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:group/group-name" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ]}

Exemplo: Negar tudoA política de repositório a seguir nega a todos os usuários em todas as contas a capacidade de extrairimagens.

{ "Version": "2008-10-17", "Statement": [ { "Sid": "DenyPull", "Effect": "Deny", "Principal": "*", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ]}

Exemplo: Restringir o acesso a endereços IP específicosO exemplo a seguir concede permissões a qualquer usuário para executar qualquer operação doAmazon ECR quando aplicada a um repositório. No entanto, a solicitação deve se originar no intervalo deendereços IP especificados na condição.

A condição nesta instrução identifica o intervalo 54.240.143.* de endereços IP do protocolo de internetversão 4 (IPv4), com uma exceção: 54.240.143.188.

O bloco da Condition usa as condições IpAddress e NotIpAddress e a chave de condiçãoaws:SourceIp, que é uma chave de condição que abrange toda a AWS. Para obter mais informaçõessobre chaves de condição, consulte Chaves de contexto de condição globais da AWS. Os valores IPv4

Versão da API 2015-09-2129

Page 35: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioMarcar um repositório

aws:sourceIp usam a notação CIDR padrão. Para obter mais informações, consulte Operadores decondição de endereço IP no Manual do usuário do IAM.

{ "Version": "2012-10-17", "Id": "ECRPolicyId1", "Statement": [ { "Sid": "IPAllow", "Effect": "Allow", "Principal": "*", "Action": "ecr:*", "Condition": { "NotIpAddress": { "aws:SourceIp": "54.240.143.188/32" }, "IpAddress": { "aws:SourceIp": "54.240.143.0/24" } } } ]}

Exemplo: Permitir umaAWSServiço daA política de repositório a seguir permiteAWS CodeBuildAcesso à API do Amazon ECR necessáriaspara integração com esse serviço. Para obter mais informações, consulteExemplo do Amazon ECR paraCodeBuildnoAWS CodeBuildGuia do usuário do.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "CodeBuildAccess", "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] }]}

Marcar um repositório do Amazon ECRPara ajudá-lo a gerenciar repositórios do Amazon ECR, é possível atribuir seus próprios metadados a cadarepositório na forma detags. Este tópico descreve tags e mostra a você como criá-los.

Tópicos• Conceitos básicos de tags (p. 31)• Marcar recursos do (p. 31)• Restrições de tags (p. 31)• Marcar recursos para faturamento (p. 32)• Trabalhar com tags usando o console (p. 32)

Versão da API 2015-09-2130

Page 36: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioConceitos básicos de tags

• Trabalhar com tags usando oAWS CLIou API (p. 33)

Conceitos básicos de tagsUma tag é um rótulo atribuído a um recurso da AWS. Cada tag consiste de uma chave e um valor opcional,ambos definidos por você.

As tags permitem categorizar seus recursos da AWS de diferentes formas (como por finalidade, porproprietário ou por ambiente). Isso é útil quando há muitos recursos do mesmo tipo – você pode identificarrapidamente um recurso específico com base nas tags atribuídas a ele. Por exemplo, você pode definirum conjunto de tags para os repositórios do Amazon ECR da sua conta que lhe ajudem a rastrear oproprietário de cada repositório.

Recomendamos que você desenvolva um conjunto de chave de tags que atenda suas necessidades.Usar um conjunto consistente de chaves de tags facilita para você gerenciar seus recursos. Você podepesquisar e filtrar os recursos de acordo com as tags que adicionar.

Tags não têm significado semântico no Amazon ECR e são interpretadas estritamente como umasequência de caracteres. Além disso, as tags não são automaticamente atribuídas aos seus recursos.Você pode editar chaves de tags e valores, e você pode remover as tags de um recurso a qualquermomento. Você pode definir o valor de uma tag a uma string vazia, mas não pode configurar o valor de umtag como nula. Se você adicionar uma tag que tenha a mesma chave de uma tag existente nesse recurso,o novo valor substituirá o antigo. Se você excluir um recurso, todas as tags do recurso também serãoexcluídas.

É possível trabalhar com tags usando oAWS Management Console, oAWS CLIe a API do Amazon ECR.

Se você estiver usandoAWS Identity and Access Management(IAM), você pode controlar quais usuáriosdoAWSA conta tem permissão para criar, editar ou excluir tags.

Marcar recursos doÉ possível marcar repositórios do Amazon ECR novos ou existentes.

Se você estiver usando o console do Amazon ECR, poderá aplicar tags a novos recursos quando elesforem criados ou a recursos existentes usando oTagsno painel de navegação a qualquer momento.

Se você estiver usando a API do Amazon ECR, aAWS CLI, ou umAWSSDK, você pode aplicar tags anovos repositórios usando otagsna ação da API CreateRepository ou use o parâmetroTagResourceAçãoda API para aplicar tags a recursos existentes. Para obter mais informações, consulte TagResource.

Além disso, se as tags não puderem ser aplicadas durante a criação do repositório, nós reverteremos oprocesso de criação do repositório. Isso garante que os repositórios sejam criados com tags ou, então, nãocriados, e que nenhum repositório seja deixado sem tags. Ao marcar com tags os repositórios no momentoda criação, você elimina a necessidade de executar scripts personalizados de uso de tags após a criaçãodo repositório.

Restrições de tagsAs restrições básicas a seguir se aplicam às tags:

• Número máximo de tags por repositório — 50• Em todos os repositórios, cada chave de tag deve ser exclusiva e pode ter apenas um valor.• Comprimento máximo da chave — 128 caracteres Unicode em UTF-8• Valor máximo da chave — 256 caracteres Unicode em UTF-8

Versão da API 2015-09-2131

Page 37: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioMarcar recursos para faturamento

• Se seu esquema de tags é usado em vários serviços e recursos, lembre-se de que outros serviçospodem ter restrições nos caracteres permitidos. Em geral, os caracteres permitidos são: letras, númerose espaços representáveis em UTF-8 e os seguintes caracteres: + - = . _ : / @.

• As chaves e os valores de tags diferenciam maiúsculas de minúsculas.• Não use o prefixo aws: para chaves ou valores, pois ele é reservado para uso da AWS. Você não pode

editar nem excluir chaves nem valores de tag com esse prefixo. As tags com esse prefixo não contampara as tags por limite de recurso.

Marcar recursos para faturamentoAs tags que você adiciona aos repositórios do Amazon ECR são úteis ao analisar a alocação de custosdepois de habilitá-las em seu Relatório de custo e uso. Para obter mais informações, consulte Relatóriosde uso do Amazon ECR (p. 105).

Para ver o custo dos recursos combinados, você pode organizar as informações de faturamento com basenos recursos com os mesmos valores da chave da tag. Por exemplo, você pode etiquetar vários recursoscom um nome de aplicação específico, e depois organizar suas informações de faturamento para ver ocusto total daquela aplicação em vários serviços. Para obter mais informações sobre como configurar umrelatório de alocação de custos com tags, consulteRelatório de alocação de custos mensalnoAWS Billingand Cost ManagementGuia do usuário.

Note

Se você tiver acabado de habilitar a criação de relatórios, os dados do mês atual estarãodisponíveis para visualização após 24 horas.

Trabalhar com tags usando o consoleCom o console do Amazon ECR, é possível gerenciar as tags associadas aos repositórios novos ouexistentes.

Ao selecionar um repositório específico no console do Amazon ECR, você poderá visualizar as tagsselecionando um repositório específico selecionandoTagsNo painel de navegação.

Para adicionar uma tag a um repositório

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/.2. Na barra de navegação, selecione a região a ser usada.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositórios, escolha o repositório a ser visualizado.5. Na página Repositories (Repositórios): repository_name, selecione Tags no painel de navegação.6. Na página Tags, selecione Add tags (Adicionar tags), Add tag (Adicionar tag).7. Na página Edit Tags (Editar tags), especifique a chave e o valor de cada tag e selecione Save

(Salvar).

Para excluir uma tag de um recurso individual

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/.2. Na barra de navegação, selecione a região a ser usada.3. Na página Repositórios, escolha o repositório a ser visualizado.4. Na página Repositories (Repositórios): repository_name, selecione Tags no painel de navegação.5. Na página Tags, selecione Edit (Editar).

Versão da API 2015-09-2132

Page 38: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioTrabalhar com tags usando oAWS CLIou API

6. Na página Edit Tags (Editar tags), selecione Remove (Remover) para cada tag que você desejaexcluir e selecione Save (Salvar).

Trabalhar com tags usando oAWS CLIou APIUse o seguinte para adicionar, atualizar, listar e excluir as tags para seus recursos. A documentaçãocorrespondente traz exemplos.

Support à marcação para os recursos do Amazon ECR

Tarefa AWS CLI Ação de API

Adicione ou sobrescreva uma oumais tags.

tag-resource TagResource

Exclua uma ou mais tags. untag-resource UntagResource

Os exemplos a seguir mostram como gerenciar tags usando a AWS CLI.

Exemplo 1: Marcar um repositório existente

O comando a seguir marca um repositório existente.

aws ecr tag-resource --resource-arn arn:aws:ecr:region:account_id:repository/repository_name --tags Key=stack,Value=dev

Exemplo 2: Marcar um repositório existente com várias tags

O comando a seguir marca um repositório existente.

aws ecr tag-resource --resource-arn arn:aws:ecr:region:account_id:repository/repository_name --tags Key=key1,Value=value1 Key=key2,Value=value2 Key=key3,Value=value3

Exemplo 3: Desmarcar um repositório existente

O comando a seguir exclui uma tag de um repositório existente.

aws ecr untag-resource --resource-arn arn:aws:ecr:region:account_id:repository/repository_name --tag-keys tag_key

Exemplo 4: Listar as tags de um repositório

O comando a seguir lista as tags associadas a um repositório existente.

aws ecr list-tags-for-resource --resource-arn arn:aws:ecr:region:account_id:repository/repository_name

Exemplo 5: Criar um repositório e aplicar uma tag

O comando a seguir cria um repositório chamado test-repo e adiciona uma tag com a chave team e ovalor devs.

aws ecr create-repository --repository-name test-repo --tags Key=team,Value=devs

Versão da API 2015-09-2133

Page 39: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEnviar uma imagem

Imagens privadasO Amazon Elastic Container Registry (Amazon ECR) armazena imagens de Docker, imagens da OpenContainer Initiative (OCI) e artefatos compatíveis com a OCI em repositórios. É possível usar a CLI doDocker ou o cliente preferido para enviar e extrair imagens de e para seus repositórios.

Important

O Amazon ECR exige que os usuários tenham permissão para fazer chamadas paraoecr:GetAuthorizationTokenAPI por meio de uma política do IAM antes que eles possamfazer a autenticação em um registro do e enviar ou extrair qualquer imagem de um repositóriodo Amazon ECR. O Amazon ECR fornece várias políticas gerenciadas do IAM para controlaro acesso do usuário em diversos níveis. Para obter mais informações, consulteExemplos depolíticas baseadas no Amazon Elastic Container Registry (p. 83).

Tópicos• Enviar uma imagem (p. 34)• Visualizar detalhes da imagem (p. 38)• Extrair uma imagem (p. 39)• Excluir uma imagem (p. 40)• Remarcar uma imagem (p. 41)• Replicar imagens privadas (p. 42)• Políticas de ciclo de vida (p. 46)• Mutabilidade de tag de imagem (p. 58)• Verificação de imagens (p. 59)• Formatos de manifesto de imagem de contêiner (p. 63)• Uso de imagens do Amazon ECR com o Amazon ECS (p. 64)• Uso de imagens do Amazon ECR com o Amazon EKS (p. 65)• Imagem de contêiner do Amazon Linux (p. 67)

Enviar uma imagemÉ possível enviar imagens do Docker, listas de manifestos e imagens da Open Container Initiative (OCI —Iniciativa de contêiner aberto) e artefatos compatíveis para o repositório do As páginas a seguir descrevemmais detalhadamente.

Note

Suas imagens podem ser replicadas para outros repositórios em regiões em seu próprio registro eentre contas especificando uma configuração de replicação nas configurações do Registro. Paraobter mais informações, consulte Configurações do registro privado (p. 15).

Tópicos• Enviar uma imagem de docker (p. 34)• Enviar uma imagem multiarquitetura (p. 35)• Empurrar um gráfico de leme (p. 36)

Enviar uma imagem de dockerVocê pode enviar suas imagens do Docker para um repositório do Amazon ECR com odockerpushcomando.

Versão da API 2015-09-2134

Page 40: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEnviar uma imagem multiarquitetura

Important

O Amazon ECR exige que os usuários tenham permissão para fazer chamadas paraoecr:GetAuthorizationTokenAPI por meio de uma política do IAM antes que eles possamfazer a autenticação em um registro do e enviar ou extrair qualquer imagem de um repositóriodo Amazon ECR. O Amazon ECR fornece várias políticas gerenciadas do IAM para controlaro acesso do usuário em diversos níveis. Para obter mais informações, consulteExemplos depolíticas baseadas no Amazon Elastic Container Registry (p. 83).

O Amazon ECR também oferece suporte à criação e ao envio de listas de manifestos do Dockerusadas para imagens multiarquitetura. Cada imagem referenciada em uma lista de manifestos já deveter sido enviada para seu repositório. Para obter mais informações, consulte Enviar uma imagemmultiarquitetura (p. 35).

Para enviar uma imagem do Docker a um repositório do Amazon ECR

O repositório do Amazon ECR deve existir antes de enviar a imagem. Para obter mais informações,consulte the section called “Criar um repositório” (p. 21).

1. Autentique o cliente do Docker para o registro do Amazon ECR para o qual você pretende enviar aimagem. Os tokens de autenticação devem ser obtidos para cada registro usado e são válidos por 12horas. Para obter mais informações, consulte A autenticação de registro privado (p. 13).

2. Se o repositório de imagens não existir no registro para o qual você pretende enviar, crie-o. Para obtermais informações, consulte Criar um repositório (p. 21).

3. Identifique a imagem a ser enviada. Execute o comando docker images para listar as imagens em seusistema.

docker images

Você pode identificar uma imagem com o valor repository:tag ou o ID da imagem na saída decomando resultante.

4. Marque a sua imagem com o registro do Amazon ECR, o repositório e a combinaçãoopcional de nomes de tags da imagem para usar. O formato do registro éaws_account_id.dkr.ecr.region.amazonaws.com. O nome do repositório deve corresponderao repositório que você criou para sua imagem. Se você omitir a tag de imagem, suporemos que a tagé latest.

O exemplo a seguir marca uma imagem com oIDe9ae3c220b23comoaws_account_id.dkr.ecr.region.amazonaws.com/my-web-app.

docker tag e9ae3c220b23 aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app

5. Envie a imagem usando o comando docker push:

docker push aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app

6. (Opcional) Aplique tags adicionais à sua imagem e envie essas tags para o Amazon ECR repetindooStep 4 (p. 35)eStep 5 (p. 35).

Enviar uma imagem multiarquiteturaO Amazon ECR oferece suporte à criação e envio de listas de manifesto do Docker usadas para imagensmultiarquitetura. Uma lista de manifestos é uma lista de imagens criada com a especificação de um oumais nomes de imagem. Na maioria dos casos, a lista de manifestos é criada a partir de imagens queservem à mesma função, mas para sistemas operacionais ou arquiteturas diferentes. A lista de manifestosnão é necessária. Para obter mais informações, consulte manifesto do docker.

Versão da API 2015-09-2135

Page 41: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEmpurrar um gráfico de leme

Important

A CLI do Docker deve ter recursos experimentais habilitados para usar esse recurso. Para obtermais informações, consulte Recursos experimentais.

Uma lista de manifestos pode ser extraída ou referenciada em uma definição de tarefa do Amazon ECS ouespecificação de pod do Amazon EKS como outras imagens do Amazon ECR.

As etapas a seguir podem ser usadas para criar e enviar uma lista de manifestos do Docker para umrepositório do Amazon ECR. Você já deve ter as imagens enviadas ao repositório para fazer referência nomanifesto do Docker. Para obter informações sobre como enviar uma imagem por push, consulteEnviaruma imagem de docker (p. 34).

Como enviar uma imagem multiarquitetura do Docker para um repositório do Amazon ECR do

O repositório do Amazon ECR deve existir antes de enviar a imagem. Para obter mais informações,consulte the section called “Criar um repositório” (p. 21).

1. Autentique o cliente do Docker para o registro do Amazon ECR do qual você pretende enviar aimagem. Os tokens de autenticação devem ser obtidos para cada registro usado e são válidos por 12horas. Para obter mais informações, consulte A autenticação de registro privado (p. 13).

2. Listar as imagens no repositório, confirmando as tags de imagem.

aws ecr describe-images --repository-name my-web-app

3. Criar a lista de manifestos do Docker. O comando manifest create verifica se as imagensreferenciadas já estão no repositório e cria o manifesto localmente.

docker manifest create aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:image_one_tag aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:image_two

4. (Opcional) Inspecionar a lista de manifestos do Docker. Isso permite que você confirme o tamanho e oresumo de cada manifesto de imagem referenciado na lista de manifestos.

docker manifest inspect aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app

5. Envie a lista de manifestos do Docker para seu repositório do Amazon ECR.

docker manifest push aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app

Empurrar um gráfico de lemeO Amazon ECR oferece suporte à envio de artefatos Open Container Initiative (OCI — Iniciativa decontêiner aberto Para exibir essa funcionalidade, use as etapas a seguir para enviar um gráfico Helm parao Amazon ECR.

Para obter mais informações sobre como usar seus gráficos do Helm hospedados do Amazon ECRcom o Amazon EKS, consulteInstalando um gráfico Helm hospedado no Amazon ECR com o AmazonEKS (p. 66).

Para enviar um gráfico Helm para um repositório do Amazon ECR

1. Instale o cliente Helm versão 3. Para obter mais informações, consulteInstalar o Helm.2. Habilite o suporte de OCI no cliente Helm 3.

Versão da API 2015-09-2136

Page 42: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioEmpurrar um gráfico de leme

export HELM_EXPERIMENTAL_OCI=1

3. Crie um repositório para armazenar seu gráfico de leme. Para obter mais informações, consulte Criarum repositório (p. 21).

aws ecr create-repository \ --repository-name artifact-test \ --region us-west-2

4. Autentique o cliente do Helm para o registro do Amazon ECR para o qual você pretende enviar ográfico do Helm. Os tokens de autenticação devem ser obtidos para cada registro usado e são válidospor 12 horas. Para obter mais informações, consulte A autenticação de registro privado (p. 13).

aws ecr get-login-password \ --region us-west-2 | helm registry login \ --username AWS \ --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

5. Use as etapas a seguir para criar um gráfico de leme de teste. Para obter mais informações,consulteDocumentos do Helm - Introdução.

a. Crie um diretório chamadohelm-tutorialpara trabalhar.

mkdir helm-tutorialcd helm-tutorial

b. Criar um gráfico de Helm chamadomycharte limpe o conteúdo datemplatesDiretório.

helm create mychartrm -rf ./mychart/templates/*

c. Crie um ConfigMap notemplatesfolder.

cd mychart/templatescat <<EOF > configmap.yamlapiVersion: v1kind: ConfigMapmetadata: name: mychart-configmapdata: myvalue: "Hello World"EOF

6. Salve o gráfico localmente e crie um alias para o gráfico com seu URI de registro.

cd ..helm chart save . mycharthelm chart save . aws_account_id.dkr.ecr.us-west-2.amazonaws.com/artifact-test:mychart

7. Identifique o gráfico de leme a ser enviado. Execute ahelm chart listPara listar os gráficos de Helm nosistema.

helm chart list

A saída deve ter a seguinte aparência:

Versão da API 2015-09-2137

Page 43: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVisualizar detalhes da imagem

REF NAME VERSION DIGEST SIZE CREATED aws_account_id.dkr.ecr.us-west-2.amazonaws.com/artifact-tes.. mychart 0.1.0 30e0a03 3.6 KiB 14 seconds mychart mychart 0.1.0 ba3e62a 3.6 KiB About a minute

8. Empurre o gráfico de leme usando ohelm chart pushComando da :

helm chart push aws_account_id.dkr.ecr.region.amazonaws.com/artifact-test:mychart

9. Descreva seu gráfico de leme.

aws ecr describe-images \ --repository-name artifact-test \ --region us-west-2

No resultado, verifique se oartifactMediaTypeindica o tipo de artefato apropriado.

{ "imageDetails": [ { "registryId": "aws_account_id", "repositoryName": "artifact-test", "imageDigest": "sha256:f23ab9dc0fda33175e465bd694a5f4cade93eaf62715fa9390d9fEXAMPLE", "imageTags": [ "mychart" ], "imageSizeInBytes": 3714, "imagePushedAt": 1597433021.0, "imageManifestMediaType": "application/vnd.oci.image.manifest.v1+json", "artifactMediaType": "application/vnd.cncf.helm.config.v1+json" } ]}

Visualizar detalhes da imagemDepois de enviar uma imagem ao seu repositório, você poderá ver as informações dele noAWSManagement Console. Os detalhes incluídos são os seguintes:

• URI da imagem• Marcas de imagem• Tipo de mídia de Artifact• Tipo de manifesto de• Status da verificação• O tamanho da imagem em MB• Quando a imagem foi extraída para o repositório• O status da replicação

Para ver os detalhes da imagem (AWS Management Console)

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.

Versão da API 2015-09-2138

Page 44: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExtrair uma imagem

2. Na barra de navegação, selecione a região que contém o repositório que contém a imagem.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositórios, escolha o repositório a ser visualizado.5. NoRepositórios:repository_name, escolha a imagem da qual exibir os detalhes.

Extrair uma imagemSe quiser executar uma imagem do Docker que está disponível no Amazon ECR, você pode extrai-la emseu ambiente local com odocker pullcomando. Você pode fazer isso com seu registro padrão ou de umregistro associado com outra conta da AWS. Para usar uma imagem do Amazon ECR em uma definiçãode tarefas do Amazon ECS, consulteUso de imagens do Amazon ECR com o Amazon ECS (p. 64).

Important

O Amazon ECR exige que os usuários tenham permissão para fazer chamadas paraoecr:GetAuthorizationTokenAPI por meio de uma política do IAM antes que eles possamfazer a autenticação em um registro do e enviar ou extrair qualquer imagem de um repositóriodo Amazon ECR. O Amazon ECR fornece várias políticas gerenciadas do IAM para controlaro acesso do usuário em diversos níveis. Para obter mais informações, consulteExemplos depolíticas baseadas no Amazon Elastic Container Registry (p. 83).

Para extrair uma imagem do Docker de um repositório do Amazon ECR

1. Autentique o cliente do Docker para o registro do Amazon ECR do qual você pretende extrair aimagem. Os tokens de autenticação devem ser obtidos para cada registro usado e são válidos por 12horas. Para obter mais informações, consulte A autenticação de registro privado (p. 13).

2. (Opcional) Identifique a imagem a ser extraída.• É possível listar os repositórios em um registro com o comando aws ecr describe-repositories:

aws ecr describe-repositories

O registro de exemplo acima tem um repositório chamado amazonlinux.• É possível descrever as imagens em um repositório com o comando aws ecr describe-images:

aws ecr describe-images --repository-name amazonlinux

O repositório de exemplo acima tem uma imagem marcadacomo latest e 2016.09, com o resumo de imagemsha256:f1d4ae3f7261a72e98c6ebefe9985cf10a0ea5bd762585a43e0700ed99863807.

3. Extraia a imagem usando o comando docker pull. O formato de nome de imagem deve serregistry/repository[:tag] para extrair por tag ou registry/repository[@digest] paraextrair por resumo.

docker pull aws_account_id.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest

Important

Se você receber umrepository-url not found: does not exist or no pullaccessÉ possível que você precise autenticar o cliente do Docker com o Amazon ECR. Paraobter mais informações, consulte A autenticação de registro privado (p. 13).

Versão da API 2015-09-2139

Page 45: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExcluir uma imagem

Excluir uma imagemSe você já terminou de usar uma imagem, pode excluí-la do repositório. Se você já terminou de usarum repositório, pode excluir o repositório inteiro e todas as imagens contidas nele. Para obter maisinformações, consulte Excluir um repositório (p. 24).

Como alternativa à exclusão de imagens manualmente, você pode criar políticas de ciclo de vida dorepositório que fornecem mais controle sobre o gerenciamento do ciclo de vida das imagens em seusrepositórios. As políticas de ciclo de vida automatizam esse processo para você. Para obter maisinformações, consulte Políticas de ciclo de vida (p. 46).

Para excluir uma imagem (AWS Management Console)

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região que contém a imagem a ser excluída.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositórios, escolha o repositório que contém a imagem a ser excluída.5. Na página Repositórios: repository_name, selecione a caixa à esquerda da imagem a ser

excluídas e escolha Excluir.6. Na caixa de diálogo Excluir imagem(ns), verifique se as imagens selecionadas devem ser excluídas e

escolha Excluir.

Para excluir uma imagem (AWS CLI)

1. Listar as imagens no repositório. As imagens marcadas terão um resumo de imagem, bem como umalista de tags associadas. Imagens não marcadas terão apenas um resumo de imagem.

aws ecr list-images \ --repository-name my-repo

2. (Opcional) Exclua quaisquer tags indesejáveis para a imagem especificando a tag associada àimagem que você deseja excluir. Quando a última tag é excluída de uma imagem, a imagem tambémé excluída.

aws ecr batch-delete-image \ --repository-name my-repo \ --image-ids imageTag=tag1 imageTag=tag2

3. Exclua uma imagem marcada ou não marcada especificando o resumo da imagem. Quando vocêexcluir uma imagem fazendo referência ao seu resumo, a imagem e todas as suas tags serãoexcluídas.

aws ecr batch-delete-image \ --repository-name my-repo \ --image-ids imageDigest=sha256:4f70ef7a4d29e8c0c302b13e25962d8f7a0bd304EXAMPLE

Para excluir várias imagens, você pode especificar várias tags de imagem ou digests de imagem nasolicitação.

aws ecr batch-delete-image \ --repository-name my-repo \ --image-ids imageDigest=sha256:4f70ef7a4d29e8c0c302b13e25962d8f7a0bd304EXAMPLE imageDigest=sha256:f5t0e245ssffc302b13e25962d8f7a0bd304EXAMPLE

Versão da API 2015-09-2140

Page 46: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioRemarcar uma imagem

Remarcar uma imagemCom as imagens do esquema 2 do manifesto de imagem do Docker V2, você pode usar a opção --image-tag do comando put-image para remarcar uma imagem existente. Você pode remarcar semextrair ou enviar a imagem com Docker. Para imagens maiores, esse processo economiza uma quantidadeconsiderável de largura de banda e de tempo necessário para remarcar uma imagem.

Como remarcar uma imagem (AWS CLI)Para remarcar uma imagem com a AWS CLI

1. Use o comando batch-get-image para obter o manifesto de imagem a fim de que a imagem remarque-o e grave-o em uma variável de ambiente. Neste exemplo, o manifesto de uma imagem com a tag,latest, no repositório, amazonlinux, é gravado na variável de ambiente, MANIFEST.

MANIFEST=$(aws ecr batch-get-image --repository-name amazonlinux --image-ids imageTag=latest --query 'images[].imageManifest' --output text)

2. Usar a--image-tagda opçãoput-imagePara colocar o manifesto de imagem no Amazon ECR comuma nova tag. Neste exemplo, a imagem é marcada como 2017.03.

Note

Se o--image-tagO não está disponível na versão doAWS CLI, atualize para a versão maisrecente. Para obter mais informações, consulte Installing the AWS Command Line Interface(Instalar a AWS CLI) no AWS Command Line Interface User Guide (Guia do usuário da AWSCommand Line Interface).

aws ecr put-image --repository-name amazonlinux --image-tag 2017.03 --image-manifest "$MANIFEST"

3. Verifique se a sua nova tag de imagem está conectada à imagem. No resultado a seguir, a imagemtêm as tagslateste2017.03.

aws ecr describe-images --repository-name amazonlinux

A saída é a seguinte:

{ "imageDetails": [ { "imageSizeInBytes": 98755613, "imageDigest": "sha256:8d00af8f076eb15a33019c2a3e7f1f655375681c4e5be157a2685dfe6f247227", "imageTags": [ "latest", "2017.03" ], "registryId": "aws_account_id", "repositoryName": "amazonlinux", "imagePushedAt": 1499287667.0 } ]}

Versão da API 2015-09-2141

Page 47: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioReplicar imagens

Como remarcar uma imagem (AWS Tools for WindowsPowerShell)Para remarcar uma imagem com a AWS Tools for Windows PowerShell

1. Usar aGet-ECRImageBatchPara obter a descrição da imagem para remarcá-la e gravá-la emuma variável de ambiente. Neste exemplo, uma imagem com a tag, latest, no repositório,amazonlinux, é gravada na variável de ambiente, $Image.

Note

Se você não tiver oGet-ECRImageBatchdisponível em seu sistema, consulteConfiguraçãodeAWS Tools for Windows PowerShellnoAWS Tools for Windows PowerShellGuia do usuáriodo.

$Image = Get-ECRImageBatch -ImageId @{ imageTag="latest" } -RepositoryName amazonlinux

2. Escreva o manifesto de imagem para a variável de ambiente $Manifest.

$Manifest = $Image.Images[0].ImageManifest

3. Usar a-ImageTagda opçãoWrite-ECRImagePara colocar o manifesto de imagem no Amazon ECRcom uma nova tag. Neste exemplo, a imagem é marcada como 2017.09.

Write-ECRImage -RepositoryName amazonlinux -ImageManifest $Manifest -ImageTag 2017.09

4. Verifique se a sua nova tag de imagem está conectada à imagem. No resultado a seguir, a imagemtêm as tagslateste2017.09.

Get-ECRImage -RepositoryName amazonlinux

A saída é a seguinte:

ImageDigest ImageTag----------- --------sha256:359b948ea8866817e94765822787cd482279eed0c17bc674a7707f4256d5d497 latestsha256:359b948ea8866817e94765822787cd482279eed0c17bc674a7707f4256d5d497 2017.09

Replicar imagens privadasO Amazon ECR usaConfigurações de registropara configurar a replicação de imagem privada no níveldo registo. Um registro privado do Amazon ECR pode ser configurado para replicação entre regiões ouentre contas. A replicação é configurada para um registro privado separadamente para cada região. Asinformações a seguir descrevem os métodos de replicação com mais detalhes.

Replicação entre regiões

A ativação da replicação entre regiões para o registro faz cópias dos repositórios em uma ou maisregiões de destino. Somente as imagens enviadas para um repositório após a configuração dareplicação entre regiões são copiadas.

Replicação entre contas

A ativação da replicação entre contas para o registro faz cópias dos repositórios na conta de destinoe nas Regiões especificadas. Para que ocorra replicação entre contas, a conta de destino tem de

Versão da API 2015-09-2142

Page 48: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioConsiderações para replicação de imagens privadas

configurar uma política de permissões de registo para permitir que a replicação do registo ocorra. Paraobter mais informações, consulte Permissões de registro privado (p. 16).

Tópicos• Considerações para replicação de imagens privadas (p. 43)• Configurar a replicação de imagens privadas (p. 43)• Exemplos de replicação de imagens privadas (p. 44)

Considerações para replicação de imagens privadasAs informações a seguir devem ser consideradas ao usar a replicação de imagens privadas.

• Na primeira vez que você configura seu registro privado para replicação, o Amazon ECR criará umafunção vinculada ao serviço em seu nome. A função vinculada ao serviço concede ao serviço dereplicação do Amazon ECR a permissão necessária para criar repositórios e replicar imagens em seuregistro. Para obter mais informações, consulte Usar funções vinculadas ao serviço para o AmazonECR (p. 81).

• Para que a replicação entre contas ocorra, o registro privado de destino deve conceder permissãopara permitir que o registro de origem replicar suas imagens. Para obter mais informações, consultePermissões de registro privado (p. 16).

• Se as permissões para um registro forem alteradas para remover uma permissão, todas as replicaçõesem andamento concedidas anteriormente poderão ser concluídas.

• Uma ação de replicação ocorre apenas uma vez por push de imagem. Por exemplo, se você configuroua replicação entre regiões dous-west-2paraus-east-1e dous-east-1paraus-east-2, umaimagem enviada paraus-west-2replica somente paraus-east-1, ele não é replicado novamenteparaus-east-2. Esse comportamento se aplica à replicação entre regiões e entre contas.

• Uma Região deve ser habilitada para uma conta antes de qualquer ação de replicação ocorrendo dentroou para essa Região. Para obter mais informações, consulteGerenciar oAWSRegiões danoReferênciageral do Amazon Web Services.

• A replicação do Registro não executa nenhuma ação de exclusão. As imagens e os repositóriosreplicados podem ser excluídos manualmente quando não estiverem mais sendo usados.

• As políticas de repositório, incluindo políticas do IAM e políticas de ciclo de vida não são replicadas enão têm nenhum efeito além do repositório para o qual estão definidas.

• As configurações do repositório não são replicadas. As configurações de imutabilidade de marca,varredura de imagem e criptografia KMS são desabilitadas por padrão em todos os repositórios criadosdevido a uma ação de replicação. A imutabilidade da tag e a configuração de varredura de imagempodem ser alteradas após a criação do repositório. No entanto, a configuração só se aplica a imagensenviadas após a alteração da configuração.

• Se a imutabilidade da tag estiver habilitada em um repositório e uma imagem for replicada que usa amesma marca de uma imagem existente, a imagem será replicada, mas não conterá a tag duplicada.Isso pode resultar na não marcação da imagem.

Configurar a replicação de imagens privadasAs configurações de replicação são configuradas separadamente para cada região. Utilize os seguintespassos para configurar a replicação para o registo privado.

Para configurar as definições de replicação do registo (AWS Management Console)

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.

Versão da API 2015-09-2143

Page 49: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de replicação

2. Na barra de navegação, selecione a região para a qual defina as configurações de replicação doregistro.

3. No painel de navegação, selecioneRegistros do.4. NoRegistros do, selecione suaPrivateRegistro e escolhaEdite.5. NoEditar registro, faça o seguinte:

a. para oReplicação entre regiões, escolha a configuração de replicação entre regiões para oregistro. Se definido comoEnabled (Habilitado), escolha um ou maisRegiões de destino.

b. para oReplicação entre contas, escolha a configuração de replicação entre contas para o registro.Se definido comoEnabled (Habilitado), insira o ID da conta para a conta de destino e um oumaisRegiões de destinopara replicar.

Important

Para que ocorra replicação entre contas, a conta de destino tem de configurar umapolítica de permissões de registo para permitir que a replicação ocorra. Para obter maisinformações, consulte Permissões de registro privado (p. 16).

6. Escolha Save (Salvar).

Para configurar as definições de replicação do registo (AWS CLI)

1. Crie um arquivo JSON contendo as definições de configuração de replicação a serem definidas parao registro. Isso pode conter uma ou mais regras, com cada regra contendo uma Região de destinoe uma conta. Se você deseja replicar as imagens em seu próprio registro entre Regiões, especifiqueseu próprio ID de conta. Para obter mais exemplos, consulte Exemplos de replicação de imagensprivadas (p. 44).

{ "rules": [ { "destinations": [ { "region": "destination_region", "registryId": "destination_accountId" } ] } ]}

2. Crie uma configuração de replicação para o registro.

aws ecr put-replication-configuration \ --replication-configuration file://crr-setup.json \ --region us-west-2

3. Confirme suas configurações de registro.

aws ecr describe-registry \ --region us-west-2

Exemplos de replicação de imagens privadasOs exemplos a seguir mostram como a replicação de imagens privadas pode ser usada.

Versão da API 2015-09-2144

Page 50: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de replicação

Exemplo: Configurando a replicação entre regiões para umaúnica região de destinoA seguir, mostra um exemplo para configurar a replicação entre regiões em um único registro. Esteexemplo pressupõe que o ID da conta seja111122223333e que você está especificando essaconfiguração de replicação em uma região diferente deus-west-2.

{ "rules": [ { "destinations": [ { "region": "us-west-2", "registryId": "111122223333" } ] } ]}

Exemplo: Configurar a replicação entre regiões em várias regiõesde destinoA seguir, mostra um exemplo para configurar a replicação entre regiões em um único registro. Esteexemplo pressupõe que o ID da sua conta seja111122223333e que você está especificando essaconfiguração de replicação em uma região diferente deus-west-1ouus-west-2.

{ "rules": [ { "destinations": [ { "region": "us-west-1", "registryId": "111122223333" }, { "region": "us-west-2", "registryId": "111122223333" } ] } ]}

Exemplo: Configurar a replicação entre contasO seguinte mostra um exemplo para configurar a replicação entre contas para o registo. Este exemploconfigura a replicação para a propriedade444455556666e para a contaus-west-2Região :

Important

Para que ocorra replicação entre contas, a conta de destino tem de configurar uma políticade permissões de registo para permitir que a replicação ocorra. Para obter mais informações,consulte Permissões de registro privado (p. 16).

{ "rules": [ {

Versão da API 2015-09-2145

Page 51: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioPolíticas de ciclo de vida

"destinations": [ { "region": "us-west-2", "registryId": "444455556666" } ] } ]}

Políticas de ciclo de vidaAs políticas de ciclo de vida do Amazon ECR fornecem mais controle sobre o gerenciamento do ciclo devida das imagens em um repositório privado. Uma política de ciclo de vida contém uma ou mais regras emque cada regra define uma ação do Amazon ECR. Isso fornece uma maneira de automatizar a limpezade imagens não usadas, por exemplo imagens prestes a expirar com base em seu tempo de vida oucontagem. Após criar uma política de ciclo de vida, você deve esperar que as imagens afetadas expiremem 24 horas.

Tópicos• Como as políticas de ciclo de vida (p. 46)• Modelo de política de ciclo (p. 47)• Parâmetros da política de (p. 48)• Como criar uma visualização da política de ciclo (p. 50)• Criar uma política de ciclo de vida (p. 51)• Exemplo de políticas de ciclo de vida (p. 52)

Como as políticas de ciclo de vidaUma política de ciclo de vida consiste em uma ou mais regras que determinam quais imagens em umrepositório devem ser expiradas. Ao considerar o uso de políticas de ciclo de vida, é importante usar avisualização da política de ciclo de vida para confirmar quais imagens a política de ciclo de vida expiraantes de aplicá-la a um repositório. Depois que uma política de ciclo de vida for aplicada a um repositório,você deve esperar que as imagens afetadas expirarão dentro de 24 horas.

O diagrama a seguir mostra o fluxo de trabalho da política de ciclo

1. Crie uma ou mais regras de teste.2. Salve as regras de teste e execute a visualização.3. O avaliador de políticas de ciclo de vida percorre todas as regras e marca as imagens que cada regra

afeta.4. Em seguida, o avaliador da política de ciclo de vida aplica as regras, com base na prioridade da regra,

e exibe quais imagens no repositório estão definidas para expirar.5. Revise os resultados do teste, certificando-se de que as imagens marcadas para expirar são o que

você pretendia.

Versão da API 2015-09-2146

Page 52: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioModelo de política de ciclo

6. Aplique as regras de teste como a política de ciclo de vida do repositório.7. Após criar a política de ciclo de vida, as imagens afetadas expirem em 24 horas.

Regras de avaliação da política de cicloO avaliador da política de ciclo de vida é responsável por analisar o JSON em formato de texto simplesda política de ciclo de vida, avaliar todas as regras e aplicar essas regras com base em sua prioridade deregra a imagens no repositório. A seguir, explica a lógica do avaliador de políticas de ciclo de vida commais detalhes. Para ver exemplos, consulte Exemplo de políticas de ciclo de vida (p. 52).

• Todas as regras são avaliadas ao mesmo tempo, independentemente da prioridade da regra. Depoisque todas as regras são avaliadas, elas são aplicadas com base na prioridade da regra.

• Uma imagem é expirada por exatamente uma ou nenhuma regra.• Uma imagem que corresponde aos requisitos de marcação de uma regra não pode ser expirada por

uma regra com uma prioridade inferior.• As regras nunca podem marcar imagens marcadas por regras de maior prioridade, mas ainda podem

identificá-las como se não tivessem expirado.• O conjunto de regras deve conter um conjunto exclusivo de prefixos de tags.• Somente uma regra é permitida para selecionar imagens não marcadas.• A expiração é sempre solicitada por pushed_at_time e expira sempre as imagens mais antigas antes

das mais novas.• Ao usar tagPrefixList, uma imagem será correspondida com êxito se todas as tags no valortagPrefixList corresponderem a qualquer tag da imagem.

• Com countType = imageCountMoreThan, as imagens são classificadas das mais novas para asmais antigas com base em pushed_at_time e, em seguida, todas as imagens acima da contagemespecificada são expiradas.

• Com countType = sinceImagePushed, todas as imagens que tiverem o valor de pushed_at_timemais antigo do que o número de dias especificado com base em countNumber serão expiradas.

Modelo de política de cicloO conteúdo da sua política de ciclo de vida é avaliado antes de ser associado a um repositório. Veja aseguir o modelo de sintaxe JSON de política de ciclo de vida. Para ver exemplos de política do ciclo devida, consulte Exemplo de políticas de ciclo de vida (p. 52).

{ "rules": [ { "rulePriority": integer, "description": "string", "selection": { "tagStatus": "tagged"|"untagged"|"any", "tagPrefixList": list<string>, "countType": "imageCountMoreThan"|"sinceImagePushed", "countUnit": "string", "countNumber": integer }, "action": { "type": "expire" } } ]}

Versão da API 2015-09-2147

Page 53: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioParâmetros da política de

Note

O parâmetro tagPrefixList só será usado se tagStatus for tagged. O parâmetrocountUnit só será usado se countType for sinceImagePushed. O parâmetro countNumbersó será usado se countType for configurado como imageCountMoreThan.

Parâmetros da política deAs políticas de ciclo de vida são divididas nas partes a seguir:

Tópicos• Prioridade de (p. 48)• Description (p. 48)• Status da tag do (p. 48)• Lista de prefixos de tags do (p. 49)• Tipo de contagem do (p. 49)• Unidade de contagem de (p. 49)• Contagem numérica (p. 49)• Action (p. 50)

Prioridade derulePriority

Tipo: inteiro

Exigido: sim

Define a ordem em que as regras são aplicadas, da menor para a maior. Uma regra de política deciclo de vida com uma prioridade de1será aplicado primeiro, uma regra com prioridade de2será opróximo, e assim por diante. Ao adicionar regras a uma política de ciclo de vida, você deve dar aelas um valor exclusivo para rulePriority. Os valores não precisam ser sequenciais entre regrasem uma política. Uma regra com um valor tagStatus de any deve ter o valor o mais alto pararulePriority e ser avaliada por último.

Descriptiondescription

Tipo: string

Obrigatório: não

(Opcional) Descreve a finalidade de uma regra em uma política de ciclo de vida.

Status da tag dotagStatus

Tipo: string

Exigido: sim

Versão da API 2015-09-2148

Page 54: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioParâmetros da política de

Determina se a regra da política de ciclo de vida que você está adicionando especifica uma tag parauma imagem. As opções aceitáveis são tagged, untagged ou any. Se você especificaranyEmseguida, todas as imagens terão a regra avaliada em relação a elas. Se você especificar tagged,você também deverá especificar um valor tagPrefixList. Se você especificar untagged, vocêdeverá omitir tagPrefixList.

Lista de prefixos de tags dotagPrefixList

Tipo: list[string]

Exigido: sim, somente se tagStatus for definido como tagged

Usada somente se você especificou "tagStatus": "tagged". Você deve especificar uma listaseparada por vírgulas de prefixos de tags de imagem na qual agir com política de ciclo de vida. Porexemplo, se suas imagens forem marcadas como prod, prod1, prod2 e assim por diante, você deveusar o prefixo de tag prod para especificá-las. Se você especificar várias tags, apenas imagens comtodas as tags especificadas serão selecionadas.

Tipo de contagem docountType

Tipo: string

Exigido: sim

Especifique um tipo de contagem a ser aplicado às imagens.

Se countType for definido como imageCountMoreThan, você também especificará countNumberpara criar uma regra que define um limite no número de imagens que existem no repositório. SecountType for definido como sinceImagePushed, você também especificará countUnit ecountNumber para especificar um limite de tempo nas imagens que existem no repositório.

Unidade de contagem decountUnit

Tipo: string

Exigido: sim, somente se countType for definido como sinceImagePushed

Especifique uma unidade de contagem de days para indicar como a unidade de tempo, além decountNumber, que é o número de dias.

Isso só deverá ser especificado quando countType for sinceImagePushed; um erro ocorrerá sevocê especificar uma unidade de contagem quando countType for qualquer outro valor.

Contagem numéricacountNumber

Tipo: inteiro

Versão da API 2015-09-2149

Page 55: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioComo criar uma visualização da política de ciclo

Exigido: sim

Especifique um número de contagem. Os valores aceitáveis são inteiros positivos (0 não é um valoraceito).

Se o countType usado for imageCountMoreThan, o valor será o número máximo de imagens quevocê deseja manter no repositório. Se o countType usado for sinceImagePushed, o valor será olimite de idade máximo das imagens.

Actiontype

Tipo: string

Exigido: sim

Especifique um tipo de ação. O valor suportado é expire.

Como criar uma visualização da política de cicloUma visualização da política de ciclo de vida fornece uma maneira de ver o impacto de uma política deciclo de vida em um repositório de imagens antes que você a aplique. Considera-se prática recomendadafazer uma visualização antes de aplicar uma política de ciclo de vida a um repositório. O procedimento aseguir mostra como criar uma visualização de política de ciclo de vida.

Para criar uma visualização da política de ciclo de vida (AWS Management Console)

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região que contém o repositório no qual a visualização de uma

política de ciclo de vida será executada.3. No painel de navegação, selecione Repositórios e selecione um repositório.4. Na página Repositórios: repository_name, no painel de navegação, escolha Política de ciclo de

vida.

Note

Se você não vir a caixa de diálogo doPolítica de ciclono painel de navegação, verifique sevocê está na exibição de lista de imagens do repositório.

5. NoRepositórios:repository_name: Política de ciclo, escolha a página doEditar regras de testedo,Criar regra.

6. Insira os seguintes detalhes para sua a regra da política de ciclo de vida:

a. Em Prioridade de regra, digite um número para a prioridade da regra.b. Em Descrição da regra, digite uma descrição para a regra de política de ciclo de vida.c. Em Image Status (Status da imagem), selecione Tagged (Marcada), Untagged (Não marcada) ou

Any (Todas).d. Se você especificou Tagged para Status da imagem, então para Prefixos de tags você pode

especificar uma lista de tags de imagem na qual pode realizar uma ação com a política de ciclo devida. Se você especificou Untagged, este campo deve estar vazio.

e. Em Critérios de correspondência, escolha valores para Desde que a imagem foi enviada ouContagem de imagem superior a (se aplicável).

7. Escolha Save (Salvar).

Versão da API 2015-09-2150

Page 56: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCriar uma política de ciclo de vida

8. Crie regras de política de ciclo de vida adicionais repetindo as etapas de 5 a 7.9. Para executar a visualização da política de ciclo de vida, escolha Salvar e executar teste.10. Em Combinações de imagem para regras de ciclo de vida de teste, avalie o impacto da visualização

da política de ciclo de vida.11. Se você estiver satisfeito com os resultados da visualização, escolha Aplicar como política de ciclo de

vida para criar uma política de ciclo de vida com as regras especificadas.

Note

Após aplicar uma política de ciclo de vida, você deve esperar que as imagens afetadas expiremem 24 horas.

Criar uma política de ciclo de vidaUma política de ciclo de vida permite que você crie um conjunto de regras que expira imagens derepositório não utilizadas. O procedimento a seguir mostra como criar uma política de ciclo de vida. Apóscriar uma política de ciclo de vida, você deve esperar que as imagens afetadas expirem em 24 horas.

Para criar uma política de ciclo de vida (AWS CLI)

Para criar uma política de ciclo de vida usando oAWS CLI

1. Obtenha o ID do repositório para o qual a política de ciclo de vida será criada:

aws ecr describe-repositories

2. Criar uma política de ciclo de vida:

aws ecr put-lifecycle-policy [--registry-id <string>] --repository-name <string> --lifecycle-policy-text <string>

Para criar uma política de ciclo de vida (AWS Management Console)

Para criar uma política de ciclo de vida usando o console

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região que contém o repositório para o qual uma política de ciclo

de vida será criada.3. No painel de navegação, selecione Repositórios e selecione um repositório.4. Na página Repositórios: repository_name, no painel de navegação, escolha Política de ciclo de

vida.5. NoRepositórios:repository_name: Política de ciclo, escolha a página doCriar regra.6. Insira os seguintes detalhes para sua a regra da política de ciclo de vida:

a. Em Prioridade de regra, digite um número para a prioridade da regra.b. Em Descrição da regra, digite uma descrição para a regra de política de ciclo de vida.c. Em Image Status (Status da imagem), selecione Tagged (Marcada), Untagged (Não marcada) ou

Any (Todas).d. Se você especificou Tagged para Status da imagem, então para Prefixos de tags você pode

especificar uma lista de tags de imagem na qual pode realizar uma ação com a política de ciclo devida. Se você especificou Untagged, este campo deve estar vazio.

Versão da API 2015-09-2151

Page 57: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplo de políticas de ciclo de vida

e. Em Critérios de correspondência, escolha valores para Desde que a imagem foi enviada ouContagem de imagem superior a (se aplicável).

7. Escolha Save (Salvar).

Exemplo de políticas de ciclo de vidaVeja a seguir exemplos de políticas de ciclo de vida, mostrando a sintaxe.

Tópicos• Filtrar pela idade da imagem (p. 52)• Filtrar pela contagem da imagem (p. 52)• Filtrar por várias regras do (p. 53)• Filtrar por várias tags em uma única regra (p. 55)• Filtrar todas as imagens (p. 56)

Filtrar pela idade da imagemO exemplo a seguir mostra a sintaxe de política de ciclo de vida para uma política que expira imagens nãomarcadas com mais de 14 dias:

{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ]}

Filtrar pela contagem da imagemO exemplo a seguir mostra a sintaxe de política de ciclo de vida para uma política que mantém apenasuma imagem não marcada e expira todas as outras:

{ "rules": [ { "rulePriority": 1, "description": "Keep only one untagged image, expire all others", "selection": { "tagStatus": "untagged", "countType": "imageCountMoreThan", "countNumber": 1 }, "action": {

Versão da API 2015-09-2152

Page 58: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplo de políticas de ciclo de vida

"type": "expire" } } ]}

Filtrar por várias regras doOs exemplos a seguir usam várias regras em uma política de ciclo de vida. São fornecidos um repositório euma política de ciclo de vida de exemplo com uma explicação do resultado.

Exemplo A

Conteúdo do repositório:

• Imagem A, Taglist: ["beta-1", "prod-1"], Enviada: 10 dias atrás• Imagem B, Taglist: ["beta-2", "prod-2"], Enviada: 9 dias atrás• Imagem C, Taglist: ["beta-3"], Enviada: 8 dias atrás

Texto da política de ciclo de vida:

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPrefixList": ["prod"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } }, { "rulePriority": 2, "description": "Rule 2", "selection": { "tagStatus": "tagged", "tagPrefixList": ["beta"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ]}

A lógica dessa política de ciclo de vida seria:

• A regra 1 identifica as imagens marcadas com o prefixo prod. Ela deve marcar imagens, começandocom a mais antiga, até que haja uma ou menos imagem restante correspondente. Ela marca a imagemA para expiração.

• A regra 2 identifica as imagens marcadas com o prefixo beta. Ela deve marcar imagens, começandocom a mais antiga, até que haja uma ou menos imagem restante correspondente. Ela marca as imagens

Versão da API 2015-09-2153

Page 59: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplo de políticas de ciclo de vida

A e B para expiração. No entanto, a imagem A já foi vista pela Regra 1 e se a imagem B fosse expirada,ela violaria a Regra. Portanto, é ignorada.

• Resultado: A imagem A é expirada.

Exemplo B

Este é o mesmo repositório do exemplo anterior mas a solicitação de prioridade de regra é alterada parailustrar o resultado.

Conteúdo do repositório:

• Imagem A, Taglist: ["beta-1", "prod-1"], Enviada: 10 dias atrás• Imagem B, Taglist: ["beta-2", "prod-2"], Enviada: 9 dias atrás• Imagem C, Taglist: ["beta-3"], Enviada: 8 dias atrás

Texto da política de ciclo de vida:

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPrefixList": ["beta"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } }, { "rulePriority": 2, "description": "Rule 2", "selection": { "tagStatus": "tagged", "tagPrefixList": ["prod"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ]}

A lógica dessa política de ciclo de vida seria:

• A regra 1 identifica as imagens marcadas com beta. Ela deve marcar imagens, começando com a maisantiga, até que haja uma ou menos imagem restante correspondente. Ela vê todas as três imagens emarcaria as imagens A e B para expiração.

• A regra 2 identifica as imagens marcadas com prod. Ela deve marcar imagens, começando com a maisantiga, até que haja uma ou menos imagem restante correspondente. A Regra 2 não veria nenhumaimagem porque todas as imagens disponíveis já teriam sido vistas pela Regra 1. Portanto, nenhumaimagem adicional seria marcada.

• Resultado: As imagens A e B são expiradas.

Versão da API 2015-09-2154

Page 60: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplo de políticas de ciclo de vida

Filtrar por várias tags em uma única regraOs seguintes exemplos especificam a sintaxe de política de ciclo de vida para vários prefixos de tag emuma única regra. São fornecidos um repositório e uma política de ciclo de vida de exemplo com umaexplicação do resultado.

Exemplo A

Quando vários prefixos de tags são especificados em uma única regra, as imagens devem corresponder atodos os prefixos de tag listados.

Conteúdo do repositório:

• Imagem A, Taglist: ["alpha-1"], Enviada: 12 dias atrás• Imagem B, Taglist: ["beta-1"], Enviada: 11 dias atrás• Imagem C, Taglist: ["alpha-2", "beta-2"], Enviada: 10 dias atrás• Imagem D, Taglist: ["alpha-3"], Enviada: 4 dias atrás• Imagem E, Taglist: ["beta-3"], Enviada: 3 dias atrás• Imagem F, Taglist: ["alpha-4", "beta-4"], Enviada: 2 dias atrás

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPrefixList": ["alpha", "beta"], "countType": "sinceImagePushed", "countNumber": 5, "countUnit": "days" }, "action": { "type": "expire" } } ]}

A lógica dessa política de ciclo de vida seria:

• A regra 1 identifica as imagens marcadas com alpha e beta. Ela vê as imagens C e F. A Regra 1 devemarcar imagens que têm mais de cinco dias, que seria a imagem C.

• Resultado: Imagem C é expirada.

Exemplo B

O exemplo a seguir ilustra as tags que não são exclusivas.

Conteúdo do repositório:

• Imagem A, Taglist: ["alpha-1", "beta-1", "gamma-1"], Enviada: 10 dias atrás• Imagem B, Taglist: ["alpha-2", "beta-2"], Enviada: 9 dias atrás• Imagem C, Taglist: ["alpha-3", "beta-3", "gamma-2"], Enviada: 8 dias atrás

Versão da API 2015-09-2155

Page 61: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplo de políticas de ciclo de vida

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPrefixList": ["alpha", "beta"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ]}

A lógica dessa política de ciclo de vida seria:

• A regra 1 identifica as imagens marcadas com alpha e beta. Ela vê todas as imagens. Ela deve marcarimagens, começando com a mais antiga, até que haja uma ou menos imagem restante correspondente.E marca as imagens A e B para expiração.

• Resultado: As imagens A e B são expiradas.

Filtrar todas as imagensOs exemplos de política de ciclo de vida a seguir especificam todas as imagens com filtros diferentes. Sãofornecidos um repositório e uma política de ciclo de vida de exemplo com uma explicação do resultado.

Exemplo A

O exemplo a seguir mostra a sintaxe de política de ciclo de vida para uma política que é aplicada a todasas regras, mas mantém apenas uma imagem e expira todas as outras.

Conteúdo do repositório:

• Imagem A, Taglist: ["alpha-1"], Enviada: 4 dias atrás• Imagem B, Taglist: ["beta-1"], Enviada: 3 dias atrás• Imagem C, Taglist: [], Enviada: 2 dias atrás• Imagem D, Taglist: ["alpha-2"], Enviada: 1 dia atrás

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "any", "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ]

Versão da API 2015-09-2156

Page 62: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplo de políticas de ciclo de vida

}

A lógica dessa política de ciclo de vida seria:

• A regra 1 identifica todas as imagens. Ela visualiza as imagens A, B, C e. D. Deve expirar todas asimagens, exceto a mais recente. E marca as imagens A, B e C para expiração.

• Resultado: As imagens A, B e C são expiradas.

Exemplo B

O exemplo a seguir ilustra uma política de ciclo de vida que combina todos os tipos de regra em uma únicapolítica.

Conteúdo do repositório:

• Imagem A, Taglist: ["alpha-", "beta-1", "-1"], Enviada: 4 dias atrás• Imagem B, Taglist: [], Enviada: 3 dias atrás• Imagem C, Taglist: ["alpha-2"], Enviada: 2 dias atrás• Imagem D, Taglist: ["git hash"], Enviada: 1 dia atrás• Imagem E, Taglist: [], Enviada: 1 dia atrás

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPrefixList": ["alpha"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } }, { "rulePriority": 2, "description": "Rule 2", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 1 }, "action": { "type": "expire" } }, { "rulePriority": 3, "description": "Rule 3", "selection": { "tagStatus": "any", "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire"

Versão da API 2015-09-2157

Page 63: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioMutabilidade de tag de imagem

} } ]}

A lógica dessa política de ciclo de vida seria:

• A regra 1 identifica as imagens marcadas com alpha. Ela identifica as imagens A e C. Deve manter aimagem mais recente e marcar o restante para expiração. E marca a imagem A para expiração.

• A regra 2 identifica as imagens não marcadas. Ela identifica as imagens B e E. Deve marcar todas asimagens com mais de um dia para expiração. E marca a imagem B para expiração.

• A regra 3 identifica todas as imagens. Ela identifica as imagens A, B, C, D e E. Deve manter a imagemmais recente e marcar o restante para expiração. No entanto, ela não pode marcar as imagens A, B, Cou E, pois elas foram identificadas por regras de maior prioridade. E marca a imagem D para expiração.

• Resultado: As imagens A, B e D são expiradas.

Mutabilidade de tag de imagemÉ possível configurar um repositório para ser imutável a fim de impedir que as tags deimagem sejam substituídas. Depois que o repositório é configurado para tags imutáveis,umImageTagAlreadyExistsExceptionÉ retornado se você tentar enviar uma imagem com uma tagque já esteja no repositório.

Use o AWS Management Console e as ferramentas da AWS CLI a fim de definir a mutabilidade de tag deimagem para um novo repositório durante a criação ou para um repositório existente a qualquer momento.Para conhecer as etapas do console, consulte Criar um repositório (p. 21) e Editar um repositório (p. 23).

Como criar um repositório com tags imutáveis configuradas

Use um dos comandos a seguir para criar um novo repositório de imagens com tags imutáveisconfiguradas.

• create-repository (AWS CLI)

aws ecr create-repository --repository-name name --image-tag-mutability IMMUTABLE --region us-east-2

• New-ECRRepository (AWS Tools for Windows PowerShell)

New-ECRRepository -RepositoryName name -ImageTagMutability IMMUTABLE -Region us-east-2 -Force

Como atualizar as configurações de mutabilidade de tag de imagem para um repositório existente

Use um dos comandos a seguir para atualizar as configurações de mutabilidade de tag de imagem de umrepositório existente.

• put-image-tag-mutability (AWS CLI)

aws ecr put-image-tag-mutability --repository-name name --image-tag-mutability IMMUTABLE --region us-east-2

• Write-ECRImageTagMutability (AWS Tools for Windows PowerShell)

Versão da API 2015-09-2158

Page 64: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVerificação de imagens

Write-ECRImageTagMutability -RepositoryName name -ImageTagMutability IMMUTABLE -Region us-east-2 -Force

Verificação de imagensA verificação de imagens do Amazon ECR ajuda na identificação de vulnerabilidades de software em suasimagens de contêiner do. Cada imagem de contêiner pode ser verificada uma vez a cada 24 horas. OAmazon ECR usa o banco de dados de vulnerabilidades e exposições comuns (CVEs) do projeto Clair decódigo aberto e fornece uma lista de descobertas da verificação. Examine as descobertas da verificaçãopara obter informações sobre a segurança das imagens de contêiner que estão sendo implantadas. Paraobter mais informações sobre Clair, consulteClairno GitHub

O Amazon ECR usa a gravidade de um CVE da fonte de distribuição upstream, se disponível. Casocontrário, usamos a pontuação do Common Vulnerability Scoring System (CVSS — Sistema de pontuaçãode vulnerabilidade comum). A pontuação do CVSS pode ser usada para obter a classificação de gravidadede vulnerabilidade do NVD. Para obter mais informações, consulte Classificações de gravidade devulnerabilidade do NVD.

Você pode digitalizar manualmente imagens de contêiner armazenadas no Amazon ECR. Comoalternativa, você pode configurar seus repositórios para verificar imagens ao enviá-las para um repositóriodo. As últimas descobertas da verificação de imagem concluídas podem ser recuperadas para cadaimagem. O Amazon ECR envia um evento ao Amazon EventBridge (anteriormente chamado deCloudWatch Events) quando uma verificação de imagem é concluída. Para obter mais informações,consulte Eventos do Amazon ECR e EventBridge (p. 105).

Para obter detalhes de solução de problemas para alguns problemas comuns ao digitalizar imagens,consulte Solução de problemas de varredura de imagens (p. 127).

Tópicos• Configurar um repositório para verificar ao enviar (p. 59)• Verificar manualmente uma imagem (p. 61)• Recuperar descobertas de verificação de imagem (p. 62)

Configurar um repositório para verificar ao enviarVocê pode definir as configurações de verificação de imagem para um novo repositório durante a criaçãoou para um repositório existente. Quando a opção scan on push (verificar ao enviar) estiver habilitada, asimagens serão verificadas depois de serem enviadas para um repositório. SeVerificação no pushO estiverdesabilitado em um repositório, você deverá iniciar manualmente cada verificação de imagem para obteros resultados da verificação.

Tópicos• Criar um repositório para verificar ao enviar (p. 59)• Configurar um repositório existente para verificar ao enviar (p. 60)

Criar um repositório para verificar ao enviarQuando um novo repositório é configurado para scan on push (verificar ao enviar), todas as novas imagensenviadas para o repositório serão verificadas. Depois, os resultados da última verificação de imagem

Versão da API 2015-09-2159

Page 65: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioConfigurar um repositório para verificar ao enviar

concluída poderão ser recuperados. Para obter mais informações, consulte Recuperar descobertas deverificação de imagem (p. 62).

Para obter as etapas do AWS Management Console, consulte Criar um repositório (p. 21).

Como criar um repositório configurado para verificar ao enviar (AWS CLI)

Use o comando a seguir para criar um novo repositório com a opção scan on push (verificar ao enviar)configurada para a imagem.

• create-repository (AWS CLI)

aws ecr create-repository --repository-name name --image-scanning-configuration scanOnPush=true --region us-east-2

Como criar um repositório configurado para verificar ao enviar (AWS Tools for WindowsPowerShell)

Use o comando a seguir para criar um novo repositório com a opção scan on push (verificar ao enviar)configurada para a imagem.

• New-ECRRepository (AWS Tools for Windows PowerShell)

New-ECRRepository -RepositoryName name -ImageScanningConfiguration_ScanOnPush true -Region us-east-2 -Force

Configurar um repositório existente para verificar ao enviarOs repositórios existentes podem ser configurados para verificar as imagens quando você as enviar paraum repositório. Essa configuração se aplicará a futuros envios de imagens. Depois, os resultados daúltima verificação de imagem concluída poderão ser recuperados. Para obter mais informações, consulteRecuperar descobertas de verificação de imagem (p. 62).

Para obter as etapas do AWS Management Console, consulte Editar um repositório (p. 23).

Como editar as configurações de um repositório existente (AWS CLI)

Use o comando a seguir para editar as configurações de verificação de imagem de um repositórioexistente.

• put-image-scanning-configuration (AWS CLI)

aws ecr put-image-scanning-configuration --repository-name name --image-scanning-configuration scanOnPush=true --region us-east-2

Note

Para desativar a opção scan on push (verificar ao enviar) de imagens para um repositório,especifique scanOnPush=false.

Como editar as configurações de um repositório existente (AWS Tools for Windows PowerShell)

Use o comando a seguir para editar as configurações de verificação de imagem de um repositórioexistente.

Versão da API 2015-09-2160

Page 66: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVerificar manualmente uma imagem

• New-ECRRepository (AWS Tools for Windows PowerShell)

Write-ECRImageScanningConfiguration -RepositoryName name -ImageScanningConfiguration_ScanOnPush true -Region us-east-2 -Force

Verificar manualmente uma imagemÉ possível iniciar verificações de imagens manualmente quando quiser verificar imagens em repositóriosque não estejam configuradas para oVerificação no push. Uma imagem só pode ser verificada uma vezpor dia. Esse limite inclui a opção scan on push (verificar ao enviar) inicial, se habilitada, e quaisquerverificações manuais.

Para obter detalhes de solução de problemas para alguns problemas comuns ao digitalizar imagens,consulte Solução de problemas de varredura de imagens (p. 127).

Como iniciar a verificação manual de uma imagem (console)

Use as etapas a seguir para iniciar uma verificação manual de imagem usando o AWS ManagementConsole.

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região na qual criará o seu repositório.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositories (Repositórios), escolha o repositório que contém a imagem a ser verificada.5. Na página Images (Imagens) selecione a imagem a ser verificada e escolha Scan (Verificar).

Como iniciar a verificação manual de uma imagem (AWS CLI)

Use o comando do AWS CLI a seguir para iniciar a verificação manual de uma imagem. É possívelespecificar uma imagem usando a imageTag ou o imageDigest. Ambos podem ser obtidos usando ocomando list-images da CLI.

• start-image-scan (AWS CLI)

O exemplo a seguir usa uma tag de imagem.

aws ecr start-image-scan --repository-name name --image-id imageTag=tag_name --region us-east-2

O exemplo a seguir usa um resumo de imagem.

aws ecr start-image-scan --repository-name name --image-id imageDigest=sha256_hash --region us-east-2

Como iniciar a verificação manual de uma imagem (AWS Tools for WindowsPowerShell)

Use o comando do AWS Tools for Windows PowerShell a seguir para iniciar a verificação manualde uma imagem. É possível especificar uma imagem usando a ImageId_ImageTag ou oImageId_ImageDigest. Ambos podem ser obtidos com o comando Get-ECRImage da CLI.

• Get-ECRImageScanFinding (AWS Tools for Windows PowerShell)

Versão da API 2015-09-2161

Page 67: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioRecuperar descobertas de verificação de imagem

O exemplo a seguir usa uma tag de imagem.

Start-ECRImageScan -RepositoryName name -ImageId_ImageTag tag_name -Region us-east-2 -Force

O exemplo a seguir usa um resumo de imagem.

Start-ECRImageScan -RepositoryName name -ImageId_ImageDigest sha256_hash -Region us-east-2 -Force

Recuperar descobertas de verificação de imagemÉ possível recuperar as descobertas da verificação para a última verificação de imagem concluída. Asdescobertas listam por gravidade as vulnerabilidades de software que foram descobertas, com base nobanco de dados de vulnerabilidades e exposições comuns (CVEs).

Para obter detalhes de solução de problemas para alguns problemas comuns ao digitalizar imagens,consulte Solução de problemas de varredura de imagens (p. 127).

Como recuperar descobertas de verificação de imagem (console)

Use as etapas a seguir para recuperar as descobertas da verificação de imagem usando o AWSManagement Console.

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/repositories.2. Na barra de navegação, selecione a região na qual criará o seu repositório.3. No painel de navegação, escolha Repositories (Repositórios).4. Na página Repositories (Repositórios), escolha o repositório que contém a imagem para a qual

recuperar as descobertas da verificação.5. Na página Images (Imagens), na coluna Vulnerabilities (Vulnerabilidades), selecione Details (Detalhes)

da imagem para a qual deseja recuperar as descobertas da verificação.

Como recuperar descobertas da verificação de imagem (AWS CLI)

Use o comando da AWS CLI a seguir para recuperar as descobertas de verificação de imagem usando aAWS CLI. É possível especificar uma imagem usando a imageTag ou o imageDigest. Ambos podem serobtidos usando o comando list-images da CLI.

• describe-image-scan-findings (AWS CLI)

O exemplo a seguir usa uma tag de imagem.

aws ecr describe-image-scan-findings --repository-name name --image-id imageTag=tag_name --region us-east-2

O exemplo a seguir usa um resumo de imagem.

aws ecr describe-image-scan-findings --repository-name name --image-id imageDigest=sha256_hash --region us-east-2

Versão da API 2015-09-2162

Page 68: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioFormatos de manifesto de imagem de contêiner

Como recuperar descobertas da verificação de imagem (AWS Tools for WindowsPowerShell)Use o comando do AWS Tools for Windows PowerShell a seguir para recuperar as descobertas deverificação de imagem. É possível especificar uma imagem usando a ImageId_ImageTag ou oImageId_ImageDigest. Ambos podem ser obtidos com o comando Get-ECRImage da CLI.

• Get-ECRImageScanFinding (AWS Tools for Windows PowerShell)

O exemplo a seguir usa uma tag de imagem.

Get-ECRImageScanFinding -RepositoryName name -ImageId_ImageTag tag_name -Region us-east-2

O exemplo a seguir usa um resumo de imagem.

Get-ECRImageScanFinding -RepositoryName name -ImageId_ImageDigest sha256_hash -Region us-east-2

Formatos de manifesto de imagem de contêinerO Amazon ECR suporta os seguintes formatos de manifesto de imagem de contêiner:

• Schema 1 de manifesto V2 de imagem de Docker (usado com o Docker versão 1.9 e anteriores)• Schema 2 de manifesto V2 de imagem de Docker (usado com o Docker versão 1.10 e posteriores)• Especificações de Open Container Initiative (OCI – Iniciativa de contêiner aberto) (v1.0 e posteriores)

O suporte para o schema 2 de manifesto V2 de imagem de Docker fornece a seguinte funcionalidade:

• A possibilidade de usar várias tags para uma imagem singular.• Suporte para armazenar imagens de contêiner do Windows. Para obter mais informações,

consulteEnviar imagens do Windows para o Amazon ECRnoGuia do desenvolvedor do Amazon ElasticContainer.

Conversão de manifesto de imagem do Amazon ECRQuando você envia e extrai imagens de e para o Amazon ECR, o cliente do mecanismo de contêiner (porexemplo, Docker) se comunica com o registro para concordar com um formato de manifesto que sejaentendido pelo cliente e pelo registro a ser usado para a imagem.

Quando você envia uma imagem ao Amazon ECR com o Docker versão 1.9 ou anterior, o formato demanifesto de imagem é armazenado como Esquema 1 de manifesto V2 de imagem de Docker. Quandovocê envia uma imagem ao Amazon ECR com o Docker versão 1.10 ou posterior, o formato de manifestode imagem é armazenado como Esquema 2 de manifesto V2 de imagem de Docker.

Quando você extraia uma imagem do Amazon ECRpor tagO Amazon ECR retorna o formato de manifestode imagem armazenado no repositório. Mas somente se o formato é entendido pelo cliente. Se o formatode manifesto de imagem armazenado não for entendido pelo cliente, o Amazon ECR converte o manifestode imagem em um formato que seja entendido. Por exemplo, se um cliente 1.9 de Docker solicitar ummanifesto de imagem armazenado como Esquema 2 do Manifesto de Imagem de docker, o Amazon ECRdevolve o manifesto no formato de esquema 1 de manifesto V2 de imagem de docker. A tabela a seguirdescreve as conversões disponíveis compatíveis com o Amazon ECR quando uma imagem é extraídadopor tag:

Versão da API 2015-09-2163

Page 69: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioUso de imagens do Amazon ECR com o Amazon ECS

Schema solicitado pelocliente

Enviado ao ECR comoV2, schema 1

Enviado ao ECR comoV2, schema 2

Enviado ao ECR comoOCI

V2, schema 1 Não é necessárioconverter

Convertido em V2,schema 1

Convertido em V2,schema 1

V2, schema 2 Não há conversõesdisponíveis, o clientevolta para V2, schema 1

Não é necessárioconverter

Convertido em V2,schema 2

OCI Não há conversõesdisponíveis

Convertido em OCI Não é necessárioconverter

Important

Se você puxar uma imagemResumo, não há tradução disponível. O cliente deve entender oformato de manifesto de imagem armazenado no Amazon ECR. Se você solicitar uma imagemdo schema 2 de manifesto V2 de imagem de Docker por resumo em um cliente do Docker 1.9 ouanterior, a extração da imagem falhará. Para obter mais informações, consulte Compatibilidade deregistro na documentação do Docker.Neste exemplo, se você solicitar a mesma imagempor tagO Amazon ECR converte o manifestode imagem em um formato que o cliente possa entender. A extração da imagem é bem-sucedida.

Uso de imagens do Amazon ECR com o AmazonECS

Você pode usar as imagens de contêiner hospedadas no Amazon ECR nas definições de tarefas doAmazon ECS, mas precisa atender aos seguintes pré-requisitos:

• Ao usar o tipo de inicialização do EC2 para suas tarefas do Amazon ECS, suas instâncias de contêinerdevem usar pelo menos a versão 1.7.0 do agente de contêiner do Amazon ECS. A versão mais recenteda AMI otimizada para Amazon ECR suporta imagens do Amazon ECR em definições de tarefas.Para obter mais informações, incluindo os IDs mais recentes da AMI otimizada para o Amazon ECS,consulteVersões otimizadas para Amazon ECSnoAmazon Elastic Container Service Develer.

• A função IAM da instância de contêiner do Amazon ECS (ecsInstanceRoleO deve conter asseguintes permissões de política do IAM para o Amazon ECR.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ]}

Versão da API 2015-09-2164

Page 70: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioUso de imagens do Amazon ECR com o Amazon EKS

Se você usar aAmazonEC2ContainerServiceforEC2RoleA função do IAM da instância de contêinertem as permissões apropriadas. Para verificar se sua função oferece suporte ao Amazon ECR,consulteAmazon ECS instância de contêiner Função do IAMnoAmazon Elastic Container ServiceDeveler.

• Nas definições de tarefas do Amazon ECS, verifique se você está usandoaregistry/repository:tagpara suas imagens do Amazon ECR. Porexemplo,aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest.

O trecho de definição de tarefa a seguir mostra a sintaxe a ser usada para especificar uma imagem decontêiner hospedada no Amazon ECR na definição de tarefa do Amazon ECS.

{ "family": "task-definition-name", ... "containerDefinitions": [ { "name": "container-name", "image": "aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest", ... } ], ...}

Uso de imagens do Amazon ECR com o AmazonEKS

Você pode usar suas imagens do Amazon ECR com o Amazon EKS, mas precisa atender aos seguintespré-requisitos:

• A função IAM do nó de trabalho do Amazon EKSNodeInstanceRole) que você usa com os nós deoperador deve possuir as seguintes permissões de políticas do IAM para o Amazon ECR.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ]}

Note

Se você usoueksctlou oAWS CloudFormationModelos noConceitos básicos da AmazonEKSPara criar seu cluster e seus grupos de nó de operador, essas permissões do IAM do serãoaplicadas à função do IAM do nó de operador por padrão.

Versão da API 2015-09-2165

Page 71: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioInstalando um gráfico Helm hospedadono Amazon ECR com o Amazon EKS

• Ao fazer referência a uma imagem do Amazon ECR, você deverá usararegistry/repository:tagNomeação da imagem do. Por exemplo,aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest.

Instalando um gráfico Helm hospedado no AmazonECR com o Amazon EKSSeus gráficos do Helm hospedados no Amazon ECR podem ser instalados em seus clusters do AmazonEKS. As etapas a seguir demonstram isso.

Prerequisites

Antes de começar, verifique se as etapas a seguir foram concluídas.

• Instale o cliente Helm versão 3. Para obter mais informações, consulteInstalar o Helm.• Você enviou um gráfico do Helm para o seu repositório do Amazon ECR. Para obter mais informações,

consulte Empurrar um gráfico de leme (p. 36).• Você configuroukubectlpara trabalhar com o Amazon EKS. Para obter mais informações,

consulteCriar umkubeconfigpara Amazon EKSnoGuia do usuário Amazon EKS. Se os comandos aseguir forem bem-sucedidos para o cluster, a configuração estará correta.

kubectl get svc

Instalar um gráfico Helm hospedado do Amazon ECR em um cluster do Amazon EKS

1. Habilite o suporte de OCI no cliente Helm 3.

export HELM_EXPERIMENTAL_OCI=1

2. Autenticar seu cliente Helm no registro do Amazon ECR que seu gráfico Helm está hospedado. Ostokens de autenticação devem ser obtidos para cada registro usado e são válidos por 12 horas. Paraobter mais informações, consulte A autenticação de registro privado (p. 13).

aws ecr get-login-password \ --region us-west-2 | helm registry login \ --username AWS \ --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

3. Puxe o gráfico do leme para o cache local.

helm chart pull aws_account_id.dkr.ecr.region.amazonaws.com/repository-name:mychart

4. Exporte o gráfico para um diretório local. Neste exemplo, usamos um diretório chamadocharts.

helm chart export aws_account_id.dkr.ecr.region.amazonaws.com/repository-name:mychart --destination ./charts

5. Instale o gráfico.

helm install ecr-chart-demo ./mychart

A saída deve ter a seguinte aparência:Versão da API 2015-09-21

66

Page 72: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioImagem de contêiner do Amazon Linux

NAME: ecr-chart-demoLAST DEPLOYED: Wed Sep 2 14:32:07 2020NAMESPACE: defaultSTATUS: deployedREVISION: 1NOTES:

6. Verifique a instalação do gráfico. A saída será uma representação YAML dos recursos do Kubernetesimplantados pelo gráfico.

helm get manifest ecr-chart-demo

7. (Opcional) Veja seu gráfico Helm em execução no pod Amazon EKS.

kubectl get pods --all-namespaces

8. Ao concluir, você pode remover a liberação do gráfico do cluster.

helm uninstall ecr-chart-demo

Imagem de contêiner do Amazon LinuxA imagem de contêiner do Amazon Linux é criada a partir dos mesmos componentes de software que sãoincluídos no Amazon Linux AMI. Está disponível para uso no ambiente como uma imagem de base paracargas de trabalho do Docker. Se você usa o Amazon Linux AMI para aplicativos no Amazon EC2, podecolocar seus aplicativos em contêineres com a imagem de contêiner do Amazon Linux.

É possível usar a imagem de contêiner do Amazon Linux em seu ambiente de desenvolvimento local eenviar seu aplicativo aoAWSUsar o Amazon ECS. Para obter mais informações, consulte Uso de imagensdo Amazon ECR com o Amazon ECS (p. 64).

A imagem de contêiner do Amazon Linux está disponívelno Amazon ECR Public enoHub do Docker.O suporte para a imagem de contêiner do Amazon Linux pode ser encontrado nos fóruns dedesenvolvedores da AWS.

Para extrair a imagem de contêiner do Amazon Linux do Amazon ECR Public

1. Autentique o cliente do Docker para o registro do Amazon Linux Public. Os tokens de autenticação sãoválidos por 12 horas. Para obter mais informações, consulte A autenticação de registro privado (p. 13).

Note

O comando get-login-password está disponível na AWS CLI a partir da versão 1.17.10.Para obter mais informações, consulte Installing the AWS Command Line Interface (Instalar aAWS CLI) no AWS Command Line Interface User Guide (Guia do usuário da AWS CommandLine Interface).

aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws

A saída é a seguinte:

Login succeeded

Versão da API 2015-09-2167

Page 73: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioImagem de contêiner do Amazon Linux

2. Extraia a imagem de contêiner do Amazon Linux usando odocker pullcomando. Para ver a imagem decontêiner do Amazon Linux na Galeria Pública do Amazon ECR, consulteGaleria pública do AmazonECR - amazonlinux.

docker pull public.ecr.aws/amazonlinux/amazonlinux:latest

3. (Opcional) Execute o contêiner localmente.

docker run -it public.ecr.aws/amazonlinux/amazonlinux /bin/bash

Para extrair a imagem de contêiner do Amazon Linux do Docker Hub

1. Extraia a imagem de contêiner do Amazon Linux usando odocker pullcomando.

docker pull amazonlinux

2. (Opcional) Execute o contêiner localmente.

docker run -it amazonlinux:latest /bin/bash

Versão da API 2015-09-2168

Page 74: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioIdentity and Access Management

Segurança no Amazon ElasticContainer Registry

A segurança da nuvem na AWS é a nossa maior prioridade. Como cliente da AWS, você se contará comum datacenter e uma arquitetura de rede criados para atender aos requisitos das organizações com asmaiores exigências de segurança.

A segurança é uma responsabilidade compartilhada entre a AWS e você. O modelo de responsabilidadecompartilhada descreve isto como segurança da nuvem e segurança na nuvem:

• Segurança da nuvem — A AWS é responsável por proteger a infraestrutura que executa os serviçosda AWS na nuvem da AWS. A AWS também fornece serviços que você pode usar com segurança.Auditores de terceiros testam e verificam regularmente a eficácia da nossa segurança como parte dosprogramas de conformidade da AWS. Para saber mais sobre os programas de conformidade que seaplicam ao Amazon ECR, consulteAWSServiços no escopo pelo programa de conformidade.

• Segurança da nuvem: sua responsabilidade é determinada pelo serviço da AWS que você usa. Vocêtambém é responsável por outros fatores, incluindo a confidencialidade de seus dados, os requisitos dasua empresa e as leis e regulamentos aplicáveis.

Esta documentação ajuda você a entender como aplicar o modelo de responsabilidade compartilhada aousar o Amazon ECR. Os tópicos a seguir mostram como configurar o Amazon ECR para atender aos seusobjetivos de segurança e de conformidade. Você também aprende a usar outrosAWSServiços que ajudama monitorar e proteger seus recursos do Amazon ECR.

Tópicos• Identity and Access Management para Amazon Elastic Container Registry (p. 69)• Proteção de dados no Amazon ECR (p. 89)• Validação de conformidade do Amazon Elastic Contain (p. 95)• Segurança da infraestrutura no Amazon Elastic Container Regist (p. 96)

Identity and Access Management para AmazonElastic Container Registry

O AWS Identity and Access Management (IAM) é um serviço da AWS que ajuda a controlar oacesso aos recursos da AWS de forma segura. Os administradores do IAM controlam quem podeserautenticado(conectado) eautorização do(ter permissões) para usar os recursos do Amazon ECR. O IAMé um serviço da AWS que pode ser usado sem custo adicional.

Tópicos• Audience (p. 70)• Autenticação com identidades (p. 70)• Gerenciamento do acesso usando políticas (p. 72)

Versão da API 2015-09-2169

Page 75: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioAudience

• Como o Amazon Elastic Container Registry (p. 74)• AWSpolíticas gerenciadas pelo Amazon Elastic Container Regist (p. 77)• Usar funções vinculadas ao serviço para o Amazon ECR (p. 81)• Exemplos de políticas baseadas no Amazon Elastic Container Registry (p. 83)• Usar controle de acesso baseado em tags (p. 86)• Solução de problemas do Amazon Elastic Container Registry e (p. 87)

AudienceComo você usa oAWS Identity and Access Management(IAM) varia dependendo do trabalho realizado noAmazon ECR.

Usuário do serviço— se você usar o serviço Amazon ECR para fazer sua tarefa, o administrador forneceráas credenciais e as permissões de que você precisa. À medida que mais recursos do Amazon ECRforem usados para realizar o trabalho, talvez sejam necessárias permissões adicionais. Entender comoo acesso é gerenciado pode ajudar você a solicitar as permissões corretas ao seu administrador. Se nãofor possível acessar um recurso no Amazon ECR, consulteSolução de problemas do Amazon ElasticContainer Registry e (p. 87).

Administrador de serviçosSe você for o responsável pelos recursos do Amazon ECR em sua empresa,você provavelmente terá acesso total ao Amazon ECR. É seu trabalho determinar quais recursos doAmazon ECR os funcionários devem acessar. Assim, é necessário enviar solicitações ao administradordo IAM para alterar as permissões dos usuários de seu serviço. Revise as informações nesta página paraentender os conceitos básicos do IAM. Para saber mais sobre como a empresa pode usar o IAM com oAmazon ECR, consulteComo o Amazon Elastic Container Registry (p. 74).

Administrador do IAMSe você é um administrador do IAM, talvez queira saber detalhes sobre comopode escrever políticas para gerenciar o acesso ao Amazon ECR. Para visualizar exemplos de políticasbaseadas em identidade do Amazon ECR que podem ser usadas no IAM, consulteExemplos de políticasbaseadas no Amazon Elastic Container Registry (p. 83).

Autenticação com identidadesA autenticação é a forma como você faz login na AWS usando suas credenciais de identidade. Para obtermais informações sobre como fazer login usando o AWS Management Console, consulte Login no AWSManagement Console como usuário do IAM ou usuário root no Manual do usuário do IAM.

É necessário estar autenticado (conectado à AWS) como o usuário root da Conta da AWS ou um usuáriodo IAM, ou ainda assumindo uma função do IAM. Também é possível usar a autenticação de logonúnico da sua empresa ou até mesmo fazer login usando o Google ou o Facebook. Nesses casos, oadministrador configurou anteriormente federação de identidades usando funções do IAM. Ao acessar aAWS usando credenciais de outra empresa, você estará assumindo uma função indiretamente.

Para fazer login diretamente no AWS Management Console, use sua senha com o e-mail do usuário rootou seu nome de usuário do IAM. É possível acessar a AWS de maneira programática usando chaves deacesso do AWSseu usuário root ou dos usuários do IAM. Se você não utilizar as ferramentas da AWS,você deverá assinar a solicitação por conta própria. Faça isso usando o Signature versão 4, um protocolopara autenticação de solicitações de API de entrada. Para obter mais informações sobre solicitações deautenticação, consulte Processo de assinatura do Signature Version 4 na Referência geral da AWS.

Independentemente do método de autenticação usado, também pode ser exigido que você forneçainformações adicionais de segurança. Por exemplo, a AWS recomenda o uso da autenticação multifator(MFA) para aumentar a segurança de sua conta. Para saber mais, consulte Uso da autenticação multifator(MFA) na AWS no Manual do usuário do IAM.

Versão da API 2015-09-2170

Page 76: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioAutenticação com identidades

Usuário root da Conta da AWSAo criar uma Conta da AWS , você começa com uma única identidade de login que tenha acesso totala todos os recursos e serviços da AWS na conta. Essa identidade é denominada usuário root da Contada AWS e é acessada pelo login com o endereço de e-mail e a senha que você usou para criar a conta.Recomendamos que não use o usuário root para suas tarefas do dia a dia, nem mesmo as administrativas.Em vez disso, siga as práticas recomendadas para o uso do usuário root somente a fim de criar seuprimeiro usuário do IAM. Depois, armazene as credenciais do usuário raiz com segurança e use-as paraexecutar somente algumas tarefas de gerenciamento de contas e de serviços.

Grupos e usuários do IAMUm usuário do IAM é uma identidade dentro da Conta da AWS que tem permissões específicas para umaúnica pessoa ou aplicação. Um usuário do IAM pode ter credenciais de longo prazo, como um nome deusuário e uma senha ou um conjunto de chaves de acesso. Para saber como gerar chaves de acesso,consulte Gerenciar chaves de acesso para usuários do IAM no Manual do usuário do IAM. Ao gerarchaves de acesso para um usuário do IAM, visualize e salve o par de chaves de maneira segura. Não serápossível recuperar a chave de acesso secreta futuramente. Em vez disso, você deverá gerar outro par dechaves de acesso.

Um grupo do IAM é uma identidade que especifica uma coleção de usuários do IAM. Não é possívelfazer login como um grupo. É possível usar grupos para especificar permissões para vários usuáriosde uma vez. Os grupos facilitam o gerenciamento de permissões para grandes conjuntos de usuários.Por exemplo, você pode ter um grupo chamado IAMAdmins e atribuir a esse grupo permissões paraadministrar recursos do IAM.

Usuários são diferentes de funções. Um usuário é exclusivamente associado a uma pessoa ou a umaplicativo, mas uma função pode ser assumida por qualquer pessoa que precisar dela. Os usuários têmcredenciais permanentes de longo prazo, mas as funções fornecem credenciais temporárias. Para sabermais, consulte Quando criar um usuário do IAM (em vez de uma função) no Manual do usuário do IAM.

Funções do IAMUma função do IAM é uma identidade dentro da Conta da AWS que tem permissões específicas. Ela ésemelhante a um usuário do IAM, mas não está associada a uma pessoa específica. É possível assumirtemporariamente uma função do IAM no AWS Management Console alternando funções. É possívelassumir uma função chamando uma operação de API da AWS CLI ou da AWS, ou usando um URLpersonalizado. Para mais informações sobre métodos para o uso de funções, consulte Usar funções doIAM no Manual do usuário do IAM.

As funções do IAM com credenciais temporárias são úteis nas seguintes situações:

• Permissões temporárias para usuários do IAM: um usuário do IAM pode assumir uma função do IAMpara obter temporariamente permissões diferentes para uma tarefa específica.

• Acesso de usuário federado: em vez de criar um usuário do IAM, você poderá usar identidades deusuários existentes no AWS Directory Service, em seu diretório de usuários corporativos ou em umprovedor de identidades da web. Estes são conhecidos como usuários federados. A AWS atribui umafunção a um usuário federado quando o acesso é solicitado por meio de um provedor de identidades.Para obter mais informações sobre usuários federados, consulte Usuários federados e funções noManual do usuário do IAM.

• Acesso entre contas: é possível usar uma função do IAM para permitir que alguém (um principalconfiável) em outra conta acesse recursos em sua conta. As funções são a principal forma de concederacesso entre contas. No entanto, alguns serviços da AWS permitem que você anexe uma políticadiretamente a um recurso (em vez de usar uma função como proxy). Para saber a diferença entrefunções e políticas baseadas em recurso para acesso entre contas, consulte Como as funções do IAMdiferem das políticas baseadas em recurso no Manual do usuário do IAM.

Versão da API 2015-09-2171

Page 77: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioGerenciamento do acesso usando políticas

• Acesso entre serviços: alguns serviços da AWS usam recursos em outros serviços da AWS. Porexemplo, quando você faz uma chamada em um serviço, é comum que esse serviço execute aplicaçõesno Amazon EC2 ou armazene objetos no Amazon S3. Um serviço pode fazer isso usando as permissõesdo principal de chamada, usando uma função de serviço ou uma função vinculada ao serviço.• Permissões de principal: ao usar um usuário ou uma função do IAM para executar ações na AWS,

você é considerado um principal. As políticas concedem permissões a uma entidade principal. Quandovocê usa alguns serviços, pode executar uma ação que, em seguida, aciona outra ação em outroserviço. Nesse caso, você deve ter permissões para executar ambas as ações. Para ver se uma açãorequer ações dependentes adicionais em uma política, consulteAções, recursos e chaves de condiçãodo Amazon Elastic Container RegistrynoReferência de autorização do serviço.

• Função de serviço: uma função de serviço é uma função do IAM que um serviço assume para realizarações em seu nome. As funções de serviço fornecem acesso apenas dentro de sua conta e nãopodem ser usadas para conceder acesso a serviços em outras contas. Um administrador do IAMpode criar, modificar e excluir uma função de serviço do IAM. Para obter mais informações, consulteCriação de uma função para delegar permissões a um serviço da AWS no Manual do usuário do IAM.

• Função vinculada a serviço: uma função vinculada a serviço é um tipo de função de serviço vinculadaa um serviço da AWS. O serviço pode assumir a função de executar uma ação em seu nome. Asfunções vinculadas ao serviço aparecem em sua conta do IAM e são de propriedade do serviço. Umadministrador do IAM pode visualizar, mas não pode editar as permissões para funções vinculadas aoserviço.

• Aplicações em execução no Amazon EC2: é possível usar uma função do IAM para gerenciarcredenciais temporárias para aplicações em execução em uma instância do EC2 e fazer solicitações daAWS CLI ou da AWS API. É preferível fazer isso do que armazenar chaves de acesso na instância doEC2. Para atribuir uma função da AWS a uma instância do EC2 e disponibilizá-la para todos os seusaplicativos, crie um perfil de instância que esteja anexado à instância. Um perfil de instância contém afunção e permite que programas que estão em execução na instância do EC2 obtenham credenciaistemporárias. Para mais informações, consulte Usar uma função do IAM para conceder permissões aaplicações em execução nas instâncias do Amazon EC2 no Manual do usuário do IAM.

Para saber se deseja usar as funções do IAM, consulte Quando criar uma função do IAM (em vez de umusuário) no Guia do usuário do IAM.

Gerenciamento do acesso usando políticasVocê controla o acesso na AWS criando e anexando políticas às identidades do IAM ou aos recursos daAWS. Uma política é um objeto na AWS que, quando associado a uma identidade ou recurso, define suaspermissões. Você pode fazer login como o usuário raiz ou um usuário do IAM ou assumir uma função doIAM. Quando você faz uma solicitação, a AWS avalia as políticas relacionadas baseadas em identidade oubaseadas em recursos. As permissões nas políticas determinam se a solicitação será permitida ou negada.A maioria das políticas são armazenadas na AWS como documentos JSON. Para obter mais informaçõessobre a estrutura e o conteúdo de documentos de políticas JSON, consulte Visão geral das políticas JSONno Manual do usuário do IAM.

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ouseja, qual principal pode executar ações em quais recursos, e em que condições.

Cada entidade do IAM (usuário ou função) começa sem permissões. Em outras palavras, por padrão, osusuários não podem fazer nada, nem mesmo alterar sua própria senha. Para dar permissão a um usuáriopara fazer algo, um administrador deve anexar uma política de permissões ao usuário. Ou o administradorpode adicionar o usuário a um grupo que tenha as permissões pretendidas. Quando um administradorconcede permissões a um grupo, todos os usuários desse grupo recebem essas permissões.

As políticas do IAM definem permissões para uma ação, independentemente do método usadopara executar a operação. Por exemplo, suponha que você tenha uma política que permite a açãoiam:GetRole. Um usuário com essa política pode obter informações de funções do AWS ManagementConsole, da AWS CLI ou da API da AWS.

Versão da API 2015-09-2172

Page 78: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioGerenciamento do acesso usando políticas

Políticas baseadas em identidadeAs políticas baseadas em identidade são documentos de políticas de permissões JSON que você podeanexar a uma identidade, como usuário, grupo de usuários ou função do IAM. Essas políticas controlamquais ações os usuários e funções podem realizar, em quais recursos e em que condições. Para sabercomo criar uma política baseada em identidade, consulte Criar políticas do IAM no Manual do usuário doIAM.

As políticas baseadas em identidade podem ser categorizadas ainda mais como políticas em linha oupolíticas gerenciadas. As políticas em linha são anexadas diretamente a um único usuário, grupo oufunção. As políticas gerenciadas são políticas independentes que podem ser anexadas a vários usuários,grupos e funções na Conta da AWS . As políticas gerenciadas incluem políticas gerenciadas pela AWS epolíticas gerenciadas pelo cliente. Para saber como escolher entre uma política gerenciada ou uma políticaem linha, consulte Escolher entre políticas gerenciadas e políticas em linha no Manual do usuário do IAM.

Políticas com base em recursoPolíticas baseadas em recurso são documentos de políticas JSON que você anexa a um recurso. Sãoexemplos de políticas baseadas em recursos as políticas de confiança de função do IAM e as políticas debucket do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradoresde serviço podem usá-las para controlar o acesso a um recurso específico. Para o recurso ao qual apolítica está anexada, a política define quais ações um principal especificado pode executar nesse recursoe em que condições. Você deve especificar um principal em uma política baseada em recursos. Osprincipais podem incluir contas, usuários, funções, usuários federados ou serviços da AWS.

Políticas baseadas em recursos são políticas em linha que estão localizadas nesse serviço. Não é possívelusar as políticas gerenciadas da AWS do IAM em uma política baseada em recursos.

Outros tipos de políticaAWSA oferece suporte a tipos de política menos comuns. Esses tipos de política podem definir o máximode permissões concedidas a você pelos tipos de política mais comuns.

• Limites de permissões: um limite de permissões é um recurso avançado no qual você define o máximode permissões que uma política baseada em identidade pode conceder a uma entidade do IAM (usuárioou função do IAM). É possível definir um limite de permissões para uma entidade. As permissõesresultantes são a interseção das políticas baseadas em identidade da entidade e seus limites depermissões. As políticas baseadas em recurso que especificam o usuário ou a função no campoPrincipal não são limitadas pelo limite de permissões. Uma negação explícita em qualquer umadessas políticas substitui a permissão. Para obter mais informações sobre limites de permissões,consulte Limites de permissões para identidades do IAM no Manual do usuário do IAM.

• Políticas de controle de serviço (SCPs): SCPs são políticas JSON que especificam as permissõesmáximas para uma organização ou unidade organizacional (UO) no AWS Organizations. O AWSOrganizations é um serviço para agrupar e gerenciar centralmente várias Contas da AWS pertencentesà sua empresa. Se você habilitar todos os recursos em uma organização, poderá aplicar políticasde controle de serviço (SCPs) a qualquer uma ou a todas as contas. Uma SCP limita as permissõespara entidades em contas-membro, incluindo cada usuário root da Conta da AWS . Para obter maisinformações sobre Organizações e SCPs, consulte Como os SCPs funcionam no Manual do usuário doAWS Organizations.

• Políticas de sessão: são políticas avançadas que você transmite como um parâmetro quando cria deforma programática uma sessão temporária para uma função ou um usuário federado. As permissõesda sessão resultante são a interseção das políticas baseadas em identidade do usuário ou da função edas políticas de sessão. As permissões também podem ser provenientes de uma política baseada emrecurso. Uma negação explícita em qualquer uma dessas políticas substitui a permissão. Para obtermais informações, consulte Políticas de sessão no Manual do usuário do IAM.

Versão da API 2015-09-2173

Page 79: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioComo o Amazon Elastic Container Registry

Vários tipos de políticaQuando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender aspermissões resultantes. Para saber como a AWS determina se deve permitir uma solicitação quando hávários tipos de política envolvidos, consulte Lógica da avaliação de políticas no Guia do Usuário do IAM.

Como o Amazon Elastic Container RegistryAntes de usar o IAM para gerenciar o acesso ao Amazon ECR, você deve entender quais recursos do IAMestão disponíveis para uso com o Amazon ECR. Para obter uma visão detalhada de como o Amazon ECRe outrosAWSServiços funcionam com o IAM, consulteAWSServiços compatíveis com o IAMnoIAM UserGuide.

Tópicos• Políticas baseadas em identidade do Amazon ECR (p. 74)• Políticas baseadas em recurso do Amazon ECR (p. 76)• Autorização baseada em tags do Amazon ECR (p. 77)• Funções do Amazon ECR do IAM (p. 77)

Políticas baseadas em identidade do Amazon ECRCom as políticas baseadas em identidade do API Gateway, é possível especificar ações ou recursospermitidos ou negados, bem como as condições sob as quais as ações são permitidas ou negadas. OAmazon ECR oferece suporte a ações, chaves de condição e recursos específicos. Para conhecer todosos elementos usados em uma política JSON, consulte Referência de elementos de política JSON do IAMno Manual do usuário do IAM.

Actions

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ouseja, qual principal pode executar ações em quais recursos, e em que condições.

O elemento Action de uma política JSON descreve as ações que você pode usar para permitir ou negaracesso em uma política. As ações de política geralmente têm o mesmo nome que a operação de APIda AWS associada. Existem algumas exceções, como ações somente de permissão, que não têm umaoperação de API correspondente. Há também algumas operações que exigem várias ações em umapolítica. Essas ações adicionais são chamadas de ações dependentes.

Inclua ações em uma política para conceder permissões para executar a operação associada.

As ações de políticas no Amazon ECR usam o seguinte prefixo antes da ação: ecr:. Por exemplo,para conceder permissão a alguém para criar um repositório do Amazon ECR com o AmazonECRCreateRepositoryoperação da API, você inclui oecr:CreateRepositoryação em sua política.As instruções de política devem incluir um elemento Action ou NotAction. O Amazon ECR define seupróprio conjunto de ações que descrevem as tarefas que podem ser executadas com esse serviço.

Para especificar várias ações em uma única declaração, separe-as com vírgulas, conforme o seguinte:

"Action": [ "ecr:action1", "ecr:action2"

Você também pode especificar várias ações usando caracteres curinga (*). Por exemplo, para especificartodas as ações que começam com a palavra Describe, inclua a seguinte ação:

Versão da API 2015-09-2174

Page 80: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioComo o Amazon Elastic Container Registry

"Action": "ecr:Describe*"

Para ver uma lista das ações do Amazon ECR, consulteAções, recursos e chaves de condição do AmazonElastic Container RegistrynoIAM User Guide.

Resources

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ouseja, qual principal pode executar ações em quais recursos, e em que condições.

O elemento Resource de política JSON especifica o objeto ou os objetos aos quais a ação se aplica.As instruções devem incluir um elemento Resource ou um elemento NotResource. Como práticarecomendada, especifique um recurso usando seu Nome de recurso da Amazon (ARN). Isso pode ser feitopara ações que oferecem suporte a um tipo de recurso específico, conhecido como permissões em nívelde recurso.

Para ações que não oferecem suporte a permissões em nível de recurso, como operações de listagem,use um curinga (*) para indicar que a instrução se aplica a todos os recursos.

"Resource": "*"

Um recurso de repositório do Amazon ECR tem o seguinte ARN:

arn:${Partition}:ecr:${Region}:${Account}:repository/${Repository-name}

Para obter mais informações sobre o formato de ARNs, consulte Nomes de recursos da Amazon (ARNs) enamespaces de serviços da AWS.

Por exemplo, para especificar o repositório my-repo na região us-east-1 em sua instrução, use oseguinte ARN:

"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/my-repo"

Para especificar todos os repositórios que pertencem a uma conta específica, use o caractere curinga (*):

"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/*"

Para especificar vários recursos em uma única instrução, separe os ARNs com vírgulas.

"Resource": [ "resource1", "resource2"

Para ver uma lista de tipos de recursos do Amazon ECR e seus ARNs, consulteRecursos definidos peloAmazon Elastic Container RegistrynoIAM User Guide. Para saber com quais ações você pode especificaro ARN de cada recurso, consulteAções definidas pelo Amazon Elastic Container Registry.

Chaves de condição

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ouseja, qual principal pode executar ações em quais recursos, e em que condições.

Versão da API 2015-09-2175

Page 81: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioComo o Amazon Elastic Container Registry

O elemento Condition (ou bloco de Condition) permite que você especifique condições nas quaisuma instrução está em vigor. O elemento Condition é opcional. É possível criar expressões condicionaisque usam operadores de condição, como “igual a” ou “menor que”, para fazer a condição da políticacorresponder aos valores na solicitação.

Se você especificar vários elementos Condition em uma instrução ou várias chaves em um únicoelemento Condition, a AWS os avaliará usando uma operação lógica AND. Se você especificar váriosvalores para uma única chave de condição, a AWS avaliará a condição usando uma operação lógica OR.Todas as condições devem ser atendidas para que as permissões da instrução sejam concedidas.

Você também pode usar variáveis de espaço reservado ao especificar as condições. Por exemplo, épossível conceder a um usuário do IAM permissão para acessar um recurso somente se ele estivermarcado com seu nome de usuário do IAM. Para obter mais informações, consulte Elementos de políticado IAM: variáveis e tags no Manual do usuário do IAM.

A AWS oferece suporte a chaves de condição globais e chaves de condição específicas do serviço. Paraver todas as chaves de condição globais da AWS, consulte Chaves de contexto de condição globais daAWS no Guia do usuário do IAM.

O Amazon ECR define seu próprio conjunto de chaves de condição e também oferece suporte ao uso dealgumas chaves de condição globais. Para ver todas as chaves de condição globais da AWS, consulteChaves de contexto de condição globais da AWS no Manual do usuário do IAM.

A maioria das ações do Amazon ECR suportam oaws:ResourceTageecr:ResourceTagChaves decondição. Para obter mais informações, consulte Usar controle de acesso baseado em tags (p. 86).

Para ver uma lista de chaves de condição do Amazon ECR, consulteChaves de condição definidas peloAmazon Elastic Container RegistnoIAM User Guide. Para saber com quais ações e recursos uma chave decondição pode ser usada, consulteAções definidas pelo Amazon Elastic Container Registry.

Examples

Para visualizar exemplos de políticas baseadas em identidade do Amazon ECR, consulteExemplos depolíticas baseadas no Amazon Elastic Container Registry (p. 83).

Políticas baseadas em recurso do Amazon ECRAs políticas baseadas em recursos são documentos de políticas JSON que especificam quais ações umaentidade principal pode executar em um recurso do Amazon ECR e sob quais condições. O Amazon ECRoferece suporte a políticas de permissões baseadas em recursos para repositórios do Amazon ECR. Aspolíticas baseadas em recursos permitem conceder permissão de uso a outras contas da por recurso.Também é possível usar uma política baseada em recursos para permitir que umaAWSpara acessar seusrepositórios do Amazon ECR.

Para permitir o acesso entre contas, você pode especificar uma conta inteira ou as entidades do IAMem outra conta como a entidade principal em uma política baseada em recurso. Adicionar um principalentre contas à política baseada em recurso é apenas metade da tarefa de estabelecimento da relaçãode confiança. Quando o principal e o recurso estão em diferentes contas da AWS, você também deveconceder à entidade principal permissão para acessar o recurso. Conceda permissão anexando umapolítica baseada em identidade para a entidade. No entanto, se uma política baseada em recursoconceder acesso a um principal na mesma conta, nenhuma política baseada em identidade adicional seránecessária. Para mais informações, consulte Como as funções do IAM diferem de políticas baseadas emrecursos no Manual do usuário do IAM.

O serviço Amazon ECR oferece suporte a apenas um tipo de política baseada em recursodenominadaPolítica de repositório, que é anexado a umrepository. Essa política define quais entidadesprincipais (contas, usuários, funções e usuários federados) podem realizar ações no repositório.

Versão da API 2015-09-2176

Page 82: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioAWSpolíticas gerenciadas para o Amazon ECR

Para saber como anexar uma política baseada em recurso a um repositório, consulte Políticas derepositório do (p. 24).

Examples

Para visualizar exemplos de políticas baseadas em recursos do Amazon ECR, consulteExemplos depolíticas do (p. 27),

Autorização baseada em tags do Amazon ECRÉ possível anexar tags a recursos do Amazon ECR ou transmitir tags em uma solicitação ao Amazon ECR.Para controlar o acesso baseado em tags, forneça informações sobre as tags no elemento de condição deuma política usando as chaves de condição ecr:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys. Para obter mais informações sobre recursos do Amazon ECR, consulteMarcarum repositório do Amazon ECR (p. 30).

Para visualizar um exemplo de política baseada em identidade que visa limitar o acesso a um recursobaseado nas tags desse recurso, consulte Usar controle de acesso baseado em tags (p. 86).

Funções do Amazon ECR do IAMUma função do IAM é uma entidade dentro da sua conta da AWS que tem permissões específicas.

Usar credenciais temporárias com o Amazon ECR

É possível usar credenciais temporárias para fazer login com federação, assumir uma função do IAMou assumir uma função entre contas. As credenciais de segurança temporárias são obtidas chamandooperações da API do AWS STS , como AssumeRole ou GetFederationToken.

O Amazon ECR oferece suporte ao uso de credenciais temporárias.

Funções vinculadas ao serviço

Funções vinculadas ao serviço permitem que os serviços da AWS acessem recursos em outros serviçospara concluir uma ação em seu nome. As funções vinculadas ao serviço aparecem em sua conta doIAM e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não pode editar aspermissões para funções vinculadas ao serviço.

O Amazon ECR não oferece suporte às funções vinculadas ao serviço.

AWSpolíticas gerenciadas pelo Amazon ElasticContainer RegistO Amazon ECR fornece várias políticas gerenciadas que você pode anexar aos usuários do IAM do ouàs instâncias do Amazon EC2. Essas políticas permitem níveis de controle diferentes no acesso aosrecursos do Amazon ECR e às operações de API do. Você pode aplicar essas políticas diretamente ouusá-las como ponto de partida para criar suas próprias políticas. Para obter mais informações sobre cadaoperação de API mencionada nessas políticas, consulteAçõesnoAmazon Elastic Container Registry.

Tópicos• AmazonEC2ContainerRegistryFullAccess (p. 78)• AmazonEC2ContainerRegistryPowerUser (p. 78)• AmazonEC2ContainerRegistryReadOnly (p. 79)• ECRReplicationServiceRolePolicy (p. 80)

Versão da API 2015-09-2177

Page 83: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioAWSpolíticas gerenciadas para o Amazon ECR

• Atualizações do Amazon ECR para oAWSPolíticas gerenciadas pela (p. 80)

AmazonEC2ContainerRegistryFullAccess

Você pode anexar a política AmazonEC2ContainerRegistryFullAccess a suas identidades do IAM.

Você pode usar essa política gerenciada como o ponto de partida para criar sua própria política do IAMcom base em seus requisitos específicos. Por exemplo, é possível criar uma política específica parafornecer a um usuário ou a uma função do IAM acesso total de administrador para gerenciar o uso doAmazon ECR. Com aPolíticas de vida do Amazon ECR, você pode especificar o gerenciamento do ciclode vida das imagens em um repositório. Os eventos da política de ciclo de vida são relatados comoeventos CloudTrail O Amazon ECR é integrado com oAWS CloudTrailpara que ele possa exibir seuseventos de política de ciclo de vida diretamente no console do Amazon ECR. A política gerenciadaAmazonEC2ContainerRegistryFullAccess do IAM inclui a permissão cloudtrail:LookupEventspara facilitar esse comportamento.

Detalhes das permissões

Essa política inclui as seguintes permissões:

• ecr— Permite acesso total a todas as APIs do Amazon ECR.• cloudtrail— Permite que os principais procurem eventos de gerenciamento ouAWS

CloudTrailEventos do Insights capturados pelo CloudTrail.

OAmazonEC2ContainerRegistryFullAccesspolítica é a seguinte.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:*", "cloudtrail:LookupEvents" ], "Resource": "*" } ]}

AmazonEC2ContainerRegistryPowerUser

Você pode anexar a política AmazonEC2ContainerRegistryPowerUser a suas identidades do IAM.

Essa política concede permissões administrativas que permitem que os usuários do IAM leiam e gravemrepositórios, mas não permite excluir repositórios ou alterar os documentos de política aplicados a eles.

Detalhes das permissões

Essa política inclui as seguintes permissões:

• ecr— permite que os principais leiam e gravem em respositores, bem como políticas de ciclo de vida deleitura. Os principais não recebem permissão para excluir repositórios ou alterar as políticas de ciclo devida que são aplicadas a eles.

OAmazonEC2ContainerRegistryPowerUserpolítica é a seguinte.

Versão da API 2015-09-2178

Page 84: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioAWSpolíticas gerenciadas para o Amazon ECR

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:GetRepositoryPolicy", "ecr:DescribeRepositories", "ecr:ListImages", "ecr:DescribeImages", "ecr:BatchGetImage", "ecr:GetLifecyclePolicy", "ecr:GetLifecyclePolicyPreview", "ecr:ListTagsForResource", "ecr:DescribeImageScanFindings", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage" ], "Resource": "*" } ]}

AmazonEC2ContainerRegistryReadOnlyVocê pode anexar a política AmazonEC2ContainerRegistryReadOnly a suas identidades do IAM.

Essa política concede permissões somente leitura ao Amazon ECR. Isso inclui a capacidade de listarrepositórios e imagens dentro dos repositórios. Ele também inclui a capacidade de extrair imagens doAmazon ECR com a CLI do Docker.

Detalhes das permissões

Essa política inclui as seguintes permissões:

• ecr— permite que os principais leiam repositórios e suas respectivas políticas de ciclo de vida.

OAmazonEC2ContainerRegistryReadOnlypolítica é a seguinte.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:GetRepositoryPolicy", "ecr:DescribeRepositories", "ecr:ListImages", "ecr:DescribeImages", "ecr:BatchGetImage", "ecr:GetLifecyclePolicy", "ecr:GetLifecyclePolicyPreview", "ecr:ListTagsForResource", "ecr:DescribeImageScanFindings"

Versão da API 2015-09-2179

Page 85: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioAWSpolíticas gerenciadas para o Amazon ECR

], "Resource": "*" } ]}

ECRReplicationServiceRolePolicy

Não é possível anexarECRReplicationServiceRolePolicypara suas entidades do IAM. Esta políticaestá vinculada a uma função vinculada a serviços que permite que o Amazon ECR realize ações emseu nome. Para obter mais informações, consulte Usar funções vinculadas ao serviço para o AmazonECR (p. 81).

Atualizações do Amazon ECR para oAWSPolíticas gerenciadaspelaVisualizar detalhes sobre atualizações para oAWSPolíticas gerenciadas pelo Amazon ECR desde omomento em que esse serviço começou a rastrear essas alterações. Para obter alertas automáticos sobrealterações feitas nesta página, inscreva-se no feed RSS na página de histórico de documentos do AmazonECR.

Alteração Descrição Data

O Amazon ECR começou amonitorar as alterações

O Amazon ECR começou amonitorar as alterações paraoAWSPolíticas gerenciadas pela.

24 de junho de 2021

AmazonEC2ContainerRegistryFullAccess (p. 78)—Atualização em uma políticaexistente

O Amazon ECR adicionounovas permissõesaoAmazonEC2ContainerRegistryFullAccesspolítica.Essas permissões permitemque os principais criem a funçãovinculada ao serviço do AmazonECR.

4 de dezembro de 2020

AmazonEC2ContainerRegistryReadOnly (p. 79)—Atualização em uma políticaexistente

O Amazon ECR adicionounovas permissõesaoAmazonEC2ContainerRegistryReadOnlyquepermite que os principais leiampolíticas de ciclo de vida, listemtags e descrevam as descobertasde digitalização para imagens.

10 de dezembro de 2019

AmazonEC2ContainerRegistryPowerUser (p. 78)—Atualização em uma políticaexistente

O Amazon ECR adicionounovas permissõesaoAmazonEC2ContainerRegistryPowerUserpolítica.Eles permitem que os principaisleiam políticas de ciclo de vida,listem tags e descrevam asdescobertas de digitalização paraimagens.

10 de dezembro de 2019

AmazonEC2ContainerRegistryFullAccess (p. 78)—Atualização em uma políticaexistente

O Amazon ECR adicionounovas permissõesaoAmazonEC2ContainerRegistryFullAccesspolítica.Eles permitem que os

10 de novembro de 2017

Versão da API 2015-09-2180

Page 86: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioUso de funções vinculadas a serviço

Alteração Descrição Dataprincipais procurem eventosde gerenciamento ouAWSCloudTrailEventos do Insightscapturados pelo CloudTrail.

AmazonEC2ContainerRegistryReadOnly (p. 79)—Atualização em uma políticaexistente

O Amazon ECR adicionounovas permissõesaoAmazonEC2ContainerRegistryReadOnlypolítica.Eles permitem que os diretoresdescrevam imagens do AmazonECR.

11 de outubro de 2016

AmazonEC2ContainerRegistryPowerUser (p. 78)—Atualização em uma políticaexistente

O Amazon ECR adicionounovas permissõesaoAmazonEC2ContainerRegistryPowerUserpolítica.Eles permitem que os diretoresdescrevam imagens do AmazonECR.

11 de outubro de 2016

AmazonEC2ContainerRegistryReadOnly (p. 79)—Nova política

O Amazon ECR adicionouuma nova política que concedepermissões somente leitura aoAmazon ECR. Essas permissõesincluem a capacidade de listarrepositórios e imagens nosrepositórios. Eles tambémincluem a capacidade de extrairimagens do Amazon ECR com aCLI do Docker.

21 de dezembro de 2015

AmazonEC2ContainerRegistryPowerUser (p. 78)—Nova política

O Amazon ECR adicionouuma nova política que concedepermissões administrativas quepermitem que os usuários do IAMleiam e gravem repositórios, masnão permite excluir repositóriosou alterar os documentos depolítica aplicados a eles.

21 de dezembro de 2015

AmazonEC2ContainerRegistryFullAccess (p. 78)—Nova política

O Amazon ECR adicionou umanova política. Essa políticaconcede ao acesso total aoAmazon ECR.

21 de dezembro de 2015

Usar funções vinculadas ao serviço para o AmazonECRO Amazon Elastic Container Registry (Amazon ECR) usaAWS Identity and AccessManagement(IAM)Funções vinculadas ao serviçopara fornecer acesso a recursos de replicação. A funçãovinculada ao serviço é um tipo exclusivo de função do IAM vinculada diretamente ao Amazon ECR. Afunção vinculada ao serviço é predefinida pelo Amazon ECR. Inclui todas as permissões que o serviçonecessita para suportar a replicação de imagem entre regiões e entre contas para o registo. Depois deconfigurar a replicação para o registo, uma função ligada ao serviço é criada automaticamente em seunome. Para obter mais informações, consulte Configurações do registro privado (p. 15).

Versão da API 2015-09-2181

Page 87: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioUso de funções vinculadas a serviço

Uma função vinculada ao serviço facilita a configuração da replicação com o Amazon ECR. Isso ocorreporque, ao usá-lo, você não precisa adicionar manualmente todas as permissões necessárias. O AmazonECR define as permissões de suas funções vinculadas a serviços e, exceto se definido de outra forma,somente o Amazon ECR pode assumir suas funções. As permissões definidas incluem a política deconfiança e a política de permissões,. A política de permissões não pode ser anexada a nenhuma outraentidade do IAM.

Só será possível excluir a função vinculada ao serviço depois de desativar a replicação no registro. Issogarante que você não remova por engano a permissão do Amazon ECR para replicar suas imagens.

Para obter informações sobre outros serviços que oferecem suporte a funções vinculadas ao serviço,consulteAWSserviços compatíveis com o IAM. Nesta página vinculada ao, procure os serviços quetêmYes (Sim)noFunção vinculada ao serviçocoluna. Escolha umYes (Sim)Com um link para visualizar adocumentação da função vinculada ao serviço relevante desse serviço.

Permissões de função vinculada ao serviço do Amazon ECRO Amazon ECR usa a função vinculada ao serviço chamadaAWSServiceRoleForecrReplication— Permiteque o Amazon ECR replique imagens em várias contas.

A função vinculada ao serviço AWSServiceRoleForcrReplication confia nos seguintes serviços paraassumir a função:

• replication.ecr.amazonaws.com

Os seguintes exemplos deECRReplicationServiceRolePolicyA política de permissões da funçãopermite que o Amazon ECR use as seguintes ações em recursos:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": "*" } ]}

Note

OReplicateImageé uma API interna que o Amazon ECR usa para replicação e não pode serchamada diretamente.

Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo oufunção) crie, edite ou exclua uma função vinculada ao serviço. Para obter mais informações, consultePermissões de função vinculada ao serviço no Guia do usuário do IAM.

Criar uma função vinculada ao serviço para o Amazon ECRVocê não precisa criar manualmente a função vinculada ao serviço do Amazon ECR. Quando você defineas configurações de replicação para o registro noAWS Management Console, oAWS CLI, ou oAWSA, oAmazon ECR cria uma função vinculada ao serviço para você.

Se você excluir essa função vinculada ao serviço e precisar criá-la novamente, poderá usar esse mesmoprocesso para recriar a função em sua conta. Quando você define configurações de replicação para oregistro do, o Amazon ECR cria a função vinculada ao serviço para você novamente.

Versão da API 2015-09-2182

Page 88: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de políticas baseadas em identidade

Editar uma função vinculada ao serviço para o Amazon ECRO Amazon ECR não permite editar manualmente a função vinculada ao serviçoAWSServiceRoleForragReplication. Depois que você criar uma função vinculada a serviço, não poderáalterar o nome da função, pois várias entidades podem fazer referência à função. No entanto, você poderáeditar a descrição da função usando o IAM. Para obter mais informações, consulte Editar uma funçãovinculada a serviço no Manual do usuário do IAM.

Excluir a função vinculada ao serviço do Amazon ECRSe você não precisar mais usar um recurso ou serviço que requer uma função vinculada a serviço, érecomendável excluí-la. Dessa forma, você não terá uma entidade não utilizada que não seja monitoradaativamente ou mantida. Contudo, você deve remover a configuração de replicação do para o registro emtodas as regiões para poder excluir manualmente a função vinculada ao serviço.

Note

Se você tentar excluir recursos enquanto o serviço Amazon ECR ainda estiver usando as funções,sua ação de exclusão pode falhar. Se isso acontecer, aguarde alguns minutos e tente novamente.

Como excluir recursos do Amazon ECR usados pelo AWSServiceRoleForecrReplication

1. Abra o console do Amazon ECR emhttps://console.aws.amazon.com/ecr/.2. Na barra de navegação, selecione a região na qual a configuração de replicação está definida.3. No painel de navegação, selecioneConfigurações do Registro.4. Selecione ambos osReplicação entre regiõeseReplicação entre contasConfigurações do .5. Escolha Save (Salvar).

Como excluir manualmente a função vinculada ao serviço usando o IAM

Use o console do IAM, oAWS CLI, ou oAWSAPI para excluir a função vinculada ao serviçoAWSServiceRoleForecrReplication. Para obter mais informações, consulte Excluir uma função vinculadaao serviço no Guia do usuário do IAM.

Regiões compatíveis com funções vinculadas ao serviço doAmazon ECRO Amazon ECR oferece suporte a funções vinculadas a serviços em todas as regiões em que o serviçoestá disponível. Para obter mais informações, consulte Regiões e endpoints do AWS.

Exemplos de políticas baseadas no Amazon ElasticContainer RegistryPor padrão, os usuários e as funções do IAM não têm permissão para criar ou modificar recursos doAmazon ECR. Eles também não podem executar tarefas usando o AWS Management Console, a AWSCLI ou uma API da AWS. Um administrador do IAM deve criar políticas do IAM que concedam aosusuários e funções permissão para executarem operações de API específicas nos recursos especificadosde que precisam. O administrador deve anexar essas políticas aos usuários ou grupos do IAM que exigemessas permissões.

Para saber como criar uma política baseada em identidade do IAM usando esses exemplos dedocumentos de política JSON, consulte Criar políticas na guia JSON no Manual do usuário do IAM.

Tópicos

Versão da API 2015-09-2183

Page 89: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de políticas baseadas em identidade

• Melhores práticas de políticas (p. 84)• Usando o console do Amazon ECR (p. 84)• Permitir que os usuários visualizem suas próprias permissões (p. 85)• Acessando um repositório do Amazon ECR (p. 85)

Melhores práticas de políticasAs políticas baseadas em identidade são muito eficientes. Elas determinam se alguém pode criar,acessar ou excluir recursos do Amazon ECR em sua conta da. Essas ações podem incorrer em custospara a Conta da AWS . Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes erecomendações:

• Comece a usar oAWSPolíticas gerenciadas pela— Para começar a usar o Amazon ECR rapidamente,useAWSPara conceder a seus funcionários as permissões de que precisam. Essas políticas já estãodisponíveis em sua conta e são mantidas e atualizadas pela AWS. Para obter mais informações,consulte Começar a usar permissões com políticas gerenciadas da AWS no Manual do usuário do IAM.

• Conceder privilégio mínimo: ao criar políticas personalizadas, conceda apenas as permissõesnecessárias para executar uma tarefa. Comece com um conjunto mínimo de permissões e concedapermissões adicionais conforme necessário. Fazer isso é mais seguro do que começar com permissõesque são muito lenientes e tentar restringi-las posteriormente. Para obter mais informações, consulteConceder privilégio mínimo no Manual do usuário do IAM.

• Habilitar MFA para operações confidenciais: para aumentar a segurança, exija que os usuários do IAMusem Multi-Factor Authentication (MFA) para acessar recursos ou operações de API confidenciais. Paraobter mais informações, consulte Usar autenticação multifator (MFA) na AWS no Manual do usuário doIAM.

• Usar condições de política para segurança adicional: na medida do possível, defina as condiçõessob as quais suas políticas baseadas em identidade permitem o acesso a um recurso. Por exemplo,você pode gravar condições para especificar um intervalo de endereços IP permitidos do qual asolicitação deve partir. Você também pode escrever condições para permitir somente solicitações emuma data especificada ou período ou para exigir o uso de SSL ou MFA. Para obter mais informações,consulteElementos de política JSON do IAM CondiçãonoIAM User Guide.

Usando o console do Amazon ECRPara acessar o console do Amazon Elastic Container Registry, é necessário ter um conjunto mínimo depermissões. Essas permissões devem permitir listar e visualizar detalhes sobre os recursos do AmazonECR em suaAWSconta. Se você criar uma política baseada em identidade que seja mais restritiva que aspermissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários oufunções do IAM) com essa política.

Para garantir que essas entidades ainda possam usar o console do Amazon ECR, adicioneoAmazonEC2ContainerRegistryReadOnly AWSPolítica gerenciada pelas entidades. Para obter maisinformações, consulteComo adicionar permissões a um usuárionoIAM User Guide:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:GetRepositoryPolicy", "ecr:DescribeRepositories",

Versão da API 2015-09-2184

Page 90: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioExemplos de políticas baseadas em identidade

"ecr:ListImages", "ecr:DescribeImages", "ecr:BatchGetImage", "ecr:GetLifecyclePolicy", "ecr:GetLifecyclePolicyPreview", "ecr:ListTagsForResource", "ecr:DescribeImageScanFindings" ], "Resource": "*" } ]}

Não é necessário conceder permissões mínimas do console para usuários que fazem chamadas somenteà AWS CLI ou à API do AWS. Em vez disso, permita o acesso somente às ações que correspondem àoperação da API que você está tentando executar.

Permitir que os usuários visualizem suas próprias permissõesEste exemplo mostra como você pode criar uma política que permite que os usuários do IAM visualizemas políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissõespara concluir essa ação no console ou de forma programática usando a AWS CLI ou a API da AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ]}

Acessando um repositório do Amazon ECRNeste exemplo, você deseja conceder a um usuário do IAM noAWSacesso à conta a um de seusrepositórios do Amazon ECR,my-repo. Você também quer permitir que o usuário envie, extraia e listeimagens.

Versão da API 2015-09-2185

Page 91: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioUsar controle de acesso baseado em tags

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ListImagesInRepository", "Effect":"Allow", "Action":[ "ecr:ListImages" ], "Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo" }, { "Sid":"GetAuthorizationToken", "Effect":"Allow", "Action":[ "ecr:GetAuthorizationToken" ], "Resource":"*" }, { "Sid":"ManageRepositoryContents", "Effect":"Allow", "Action":[ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:GetRepositoryPolicy", "ecr:DescribeRepositories", "ecr:ListImages", "ecr:DescribeImages", "ecr:BatchGetImage", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage" ], "Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo" } ]}

Usar controle de acesso baseado em tagsA ação de API CreateRepository do Amazon ECR permite especificar tags ao criar o repositório. Para obtermais informações, consulte Marcar um repositório do Amazon ECR (p. 30).

Para permitir que os usuários marquem repositórios na criação, eles devem ter permissões para usar aação que cria o recurso (por exemplo, ecr:CreateRepository). Se as tags forem especificadas naação resource-creating, a Amazon executará autorização adicional na ação ecr:CreateRepositorypara verificar se os usuários têm permissões para criar tags.

É possível usar controle de acesso baseado em tags por meio de políticas do IAM. Veja os exemplos aseguir.

A política a seguir só permitiria que um usuário do IAM criasse ou marcasse um repositóriocomokey=environment,value=dev.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateTaggedRepository", "Effect": "Allow",

Versão da API 2015-09-2186

Page 92: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioSolução de problemas

"Action": [ "ecr:CreateRepository" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/environment": "dev" } } }, { "Sid": "AllowTagRepository", "Effect": "Allow", "Action": [ "ecr:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/environment": "dev" } } } ]}

A política a seguir concederia a um usuário do IAM acesso a todos os repositórios, a menos que elesestivessem marcados comokey=environment,value=prod.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ecr:*", "Resource": "*" }, { "Effect": "Deny", "Action": "ecr:*", "Resource": "*", "Condition": { "StringEquals": { "ecr:ResourceTag/environment": "prod" } } } ]}

Solução de problemas do Amazon Elastic ContainerRegistry eUse as seguintes informações para ajudar a diagnosticar e corrigir problemas comuns que podem serencontrados ao trabalhar com o Amazon ECR e o IAM.

Tópicos• Não tenho autorização para executar uma ação no Amazon ECR (p. 88)• Não estou autorizado a executar iam:PassRole (p. 88)• Quero visualizar minhas chaves de acesso (p. 88)

Versão da API 2015-09-2187

Page 93: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioSolução de problemas

• Sou administrador e desejo conceder acesso ao Amazon ECR (p. 89)• Quero permitir que as pessoas fora do meuAWSConta para acessar meus recursos do Amazon

ECR (p. 89)

Não tenho autorização para executar uma ação no Amazon ECRSe o AWS Management Console informar que você não está autorizado a executar uma ação, você deveráentrar em contato com o administrador para obter assistência. O administrador é a pessoa que forneceu avocê o seu nome de usuário e senha.

O seguinte exemplo de erro ocorre quando omateojacksonO usuário do IAM tenta usar o console dopara visualizar detalhes sobre um repositório, mas não tem oecr:DescribeRepositoriesPermissõesdo.

User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: ecr:DescribeRepositories on resource: my-repo

Neste caso, Mateo pede ao administrador para atualizar suas políticas para permitir a ele o acesso aorecurso my-repo usando a ação ecr:DescribeRepositories.

Não estou autorizado a executar iam:PassRoleSe você receber uma mensagem de erro informando que você não está autorizado a executar a açãoiam:PassRole, entre em contato com o administrador para obter assistência. O administrador é a pessoaque forneceu a você o seu nome de usuário e senha. Peça a essa pessoa para atualizar suas políticaspara permitir que você transmita uma função ao Amazon ECR.

Alguns serviços da AWS permitem que você passe uma função existente para o serviço, em vez decriar uma nova função de serviço ou função vinculada ao serviço. Para fazer isso, um usuário deve terpermissões para passar a função para o serviço.

O erro de exemplo a seguir ocorre quando uma usuária do IAM chamadamarymajorO tenta usaro console para executar uma ação no Amazon ECR. No entanto, a ação exige que o serviço tenhapermissões concedidas por uma função de serviço. Mary não tem permissões para passar a função para oserviço.

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

Neste caso, Mary pede ao administrador para atualizar suas políticas para permitir que ela execute a açãoiam:PassRole.

Quero visualizar minhas chaves de acessoDepois de criar suas chaves de acesso de usuário do IAM, é possível visualizar seu ID da chave de acessoa qualquer momento. No entanto, você não pode visualizar sua chave de acesso secreta novamente. Sevocê perder sua chave secreta, crie um novo par de chaves de acesso.

As chaves de acesso consistem em duas partes: um ID de chave de acesso (por exemplo,AKIAIOSFODNN7EXAMPLE) e uma chave de acesso secreta (por exemplo, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). Como um nome de usuário e uma senha, você deve usar o ID da chave deacesso e a chave de acesso secreta em conjunto para autenticar suas solicitações. Gerencie suas chavesde acesso de forma tão segura quanto você gerencia seu nome de usuário e sua senha.

Important

Não forneça as chaves de acesso a terceiros, mesmo que seja para ajudar a encontrar o ID deusuário canônico. Ao fazer isso, você pode dar a alguém acesso permanente à sua conta.

Versão da API 2015-09-2188

Page 94: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioProteção de dados

Ao criar um par de chaves de acesso, você é solicitado a guardar o ID da chave de acesso e a chavede acesso secreta em um local seguro. A chave de acesso secreta só está disponível no momento emque é criada. Se você perder sua chave de acesso secreta, será necessário adicionar novas chaves deacesso para seu usuário do IAM. Você pode ter no máximo duas chaves de acesso. Se você já tiver duas,você deverá excluir um par de chaves para poder criar um novo. Para visualizar as instruções, consulteGerenciar chaves de acesso no Guia do usuário do IAM.

Sou administrador e desejo conceder acesso ao Amazon ECRPara permitir que outros usuários acessem o Amazon ECR, é necessário criar uma entidade do IAM(usuário ou função) para a pessoa ou a aplicação que precisa do acesso. Eles usarão as credenciaisdessa entidade para acessar a AWS. Você deve anexar uma política à entidade que concede a eles aspermissões corretas no Amazon ECR.

Para começar a usar imediatamente, consulte Criar os primeiros usuário e grupo delegados do IAM noGuia do usuário do IAM.

Quero permitir que as pessoas fora do meuAWSConta paraacessar meus recursos do Amazon ECRVocê pode criar uma função que os usuários de outras contas ou pessoas fora da sua organização podemusar para acessar seus recursos. Você pode especificar quem é confiável para assumir a função. Paraserviços que oferecem suporte a políticas baseadas em recursos ou listas de controle de acesso (ACLs),você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.

Para saber mais, consulte o seguinte:

• Para saber se o Amazon ECR oferece suporte a esses recursos, consulteComo o Amazon ElasticContainer Registry (p. 74).

• Para saber como conceder acesso a seus recursos em todas as Contas da AWS pertencentes a você,consulte Fornecimento de acesso a um usuário do IAM em outra Conta da AWS pertencente a você noGuia de usuário do IAM.

• Para saber como conceder acesso a seus recursos para Contas da AWS de terceiros, consulteFornecimento de acesso a Contas da AWS pertencentes a terceiros no Manual do usuário do IAM.

• Para saber como conceder acesso por meio da federação de identidades, consulte Conceder acesso ausuários autenticados externamente (federação de identidades) no Manual do usuário do IAM.

• Para saber a diferença entre usar funções e políticas baseadas em recursos para acesso entre contas,consulte Como as funções do IAM diferem de políticas baseadas em recursos no Guia do usuário doIAM.

Proteção de dados no Amazon ECROAWS Modelo de responsabilidade compartilhadaA aplica à proteção de dados no Amazon ElasticContainer Service Conforme descrito nesse modelo, a AWS é responsável por proteger a infraestruturaglobal que executa toda a Nuvem AWS . Você é responsável por manter o controle sobre seu conteúdohospedado nessa infraestrutura. Esse conteúdo inclui as tarefas de configuração e gerenciamento desegurança dos serviços da AWS que você usa. Para obter mais informações sobre a privacidade dedados, consulte as Perguntas frequentes sobre privacidade de dados. Para obter mais informações sobrea proteção de dados na Europa, consulte a postagem do blog AWS Shared Responsibility Model andGDPR no Blog de segurança da AWS.

Para fins de proteção de dados, recomendamos que você proteja Conta da AWS e configurar contasde usuário individuais comAWS Identity and Access Management(IAM). Dessa maneira, cada usuárioreceberá apenas as permissões necessárias para cumprir suas obrigações de trabalho. Recomendamostambém que você proteja seus dados das seguintes formas:

Versão da API 2015-09-2189

Page 95: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCriptografia em repouso

• Use uma autenticação multifator (MFA) com cada conta.• Use SSL/TLS para se comunicar com os recursos da AWS. Recomendamos TLS 1.2 ou posterior.• Configure o registro em log das atividades da API e do usuário com o AWS CloudTrail.• Use as soluções de criptografia da AWS, juntamente com todos os controles de segurança padrão nos

serviços da AWS.• Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajuda a localizar e

proteger dados pessoais armazenados no Amazon S3.• Se você precisar de módulos criptográficos validados pelo FIPS 140-2 ao acessar a AWS por meio de

uma interface de linha de comando ou uma API, use um endpoint do FIPS. Para obter mais informaçõessobre endpoints do FIPS, consulte Federal Information Processing Standard (FIPS) 140-2.

É altamente recomendável que você nunca coloque informações de identificação confidenciais, comoendereços de e-mail dos seus clientes, em marcações ou campos de formato livre, como um campo Name(Nome). Isso inclui quando você trabalha com o Amazon ECS ou outrosAWSusando o console, API,AWSCLI, ouAWSSDKs do. Quaisquer dados inseridos em marcações ou campos de formato livre usados paranomes podem ser usados para logs de cobrança ou diagnóstico. Se fornecer um URL para um servidorexterno, recomendemos fortemente que não sejam incluídas informações de credenciais no URL paravalidar a solicitação a esse servidor.

Tópicos• Criptografia em repouso (p. 90)

Criptografia em repousoO Amazon ECR armazena imagens em buckets do Amazon S3 gerenciados pelo Amazon ECR. Porpadrão, o Amazon ECR usa criptografia no lado do servidor com chaves de criptografia gerenciadas peloAmazon S3 que criptografam seus dados em repouso usando um algoritmo de criptografia AES-256. Issonão requer nenhuma ação da sua parte e é oferecido sem custo adicional. Para obter mais informações,consulteProteger dados usando criptografia no lado do servidor com chaves de criptografia gerenciadaspelo Amazon S3 (SSE-S3)noGuia do desenvolvedor do Amazon Simple Storage Service.

Para obter mais controle sobre a criptografia para seus repositórios do Amazon ECR, você pode usar acriptografia do lado do servidor com chaves KMS armazenadas noAWS Key Management Service(AWSKMS). Quando você usaAWS KMSPara criptografar seus dados, você pode usar o Chave gerenciada pelaAWS , que é gerenciado pelo Amazon ECR, ou especifique sua própria chave KMS (chamada de chavegerenciada pelo cliente). Para obter mais informações, consulteProteção de dados usando criptografia nolado do servidor com chaves KMS armazenadas noAWS KMS(SSE-KMS)noGuia do desenvolvedor doAmazon Simple Storage Service.

Cada repositório do Amazon ECR tem uma configuração de criptografia, que é definida quando orepositório é criado. Você pode usar configurações de criptografia diferentes em cada repositório. Paraobter mais informações, consulte Criar um repositório (p. 21).

Quando um repositório é criado comAWS KMShabilitada, uma chave KMS é usada para criptografar oconteúdo do repositório. Além disso, o Amazon ECR adiciona umAWS KMSConceda à chave do KMS como repositório do Amazon ECR como o principal favorecido.

O seguinte fornece uma compreensão de alto nível de como o Amazon ECR é integrado aoAWS KMSParacriptografar e descriptografar seus repositórios:

1. Ao criar um repositório, o Amazon ECR envia umDescribeKeyChame paraAWS KMSPara validar erecuperar o nome de recurso da Amazon (ARN) da chave do KMS especificada na configuração decriptografia.

2. O Amazon ECR envia doisCreateGrantSolicitações aoAWS KMSpara criar concessões na chave KMSpara permitir que o Amazon ECR criptografe e descriptografe dados usando a chave de dados.

Versão da API 2015-09-2190

Page 96: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCriptografia em repouso

3. Ao enviar uma imagem, umGenerateDataKeysolicitação é feita paraAWS KMSque especifica a chaveKMS a ser usada para criptografar a camada de imagem e o manifesto.

4. AWS KMSO gera uma nova chave de dados, criptografa-a com a chave KMS especificada e envia achave de dados criptografada ao para ser armazenada com os metadados da camada de imagem e omanifesto da imagem.

5. Ao puxar uma imagem, umDecryptsolicitação é feita paraAWS KMS, especificando a chave de dadoscriptografada.

6. AWS KMSO descriptografa a chave de dados criptografada e envia a chave de dados descriptografadaao Amazon S3.

7. A chave de dados em usada para descriptografar a camada de imagem antes da camada de imagemser puxada.

8. Quando um repositório é excluído, o Amazon ECR envia doisRetireGrantSolicitações aoAWS KMSparabaixar as concessões criadas para o repositório.

ConsiderationsOs seguintes pontos devem ser considerados ao usar oAWS KMSCriptografia com o Amazon ECR.

• Se você criar seu repositório do Amazon ECR com criptografia KMS e não especificar uma chave KMS,o Amazon ECR usará um Chave gerenciada pela AWS com o aliasaws/ecrpor padrão. Essa chaveKMS é criada em sua conta na primeira vez que você cria um repositório com criptografia KMS ativada.

• Quando você usa a criptografia KMS com sua própria chave KMS, a chave deve existir na mesma regiãoque seu repositório.

• AWS KMSimpõe um limite de 500 concessões por chave KMS. Como resultado, há um limite de 500repositórios do Amazon ECR que podem ser criptografados por chave KMS.

• As concessões que o Amazon ECR cria em seu nome não devem ser revogadas. Se você revogar aconcessão que dá permissão ao Amazon ECR para usar oAWS KMSem sua conta, o Amazon ECR nãopode acessar esses dados, criptografar novas imagens enviadas para o repositório ou descriptografá-lasquando elas são extraídas. Quando você revoga uma concessão do Amazon ECR, a alteração ocorreimediatamente. Para revogar direitos de acesso, exclua o repositório em vez de revogar a concessão.Quando um repositório é excluído, o Amazon ECR retira as concessões em seu nome.

• Há um custo associado ao uso deAWS KMSchaves. Para obter mais informações, consulte Definição depreçoAWS Key Management Service.

Permissões obrigatórias do IAMAo criar ou excluir um repositório do Amazon ECR com criptografia no lado do servidor usando oAWSKMS, as permissões necessárias dependem da chave KMS específica que você está usando.

Permissões obrigatórias do IAM ao usar o Chave gerenciada pela AWS para oAmazon ECR

Por padrão, quandoAWS KMSestá habilitada para um repositório do Amazon ECR, mas nenhumachave KMS é especificada, a propriedade Chave gerenciada pela AWS para o Amazon ECR éusado. Quando oAWSA chave KMS gerenciada para o Amazon ECR é usada para criptografar umrepositório, qualquer entidade que tenha permissão para criar um repositório também pode habilitarAWSKMScriptografia no repositório. No entanto, o principal do IAM que exclui o repositório deve terokms:RetireGrantPermissões Isso permite a retirada das concessões que foram adicionadas aoAWSKMSquando o repositório foi criado.

O exemplo a seguir da política do IAM pode ser adicionado como uma política em linha a um usuáriopara garantir que ele tenha as permissões mínimas necessárias para excluir um repositório que tenha a

Versão da API 2015-09-2191

Page 97: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCriptografia em repouso

criptografia ativada. A chave do KMS usada para criptografar o repositório pode ser especificada usando oparâmetro de recurso.

{ "Version": "2012-10-17", "Id": "ecr-kms-permissions", "Statement": [ { "Sid": "Allow access to retire the grants associated with the key", "Effect": "Allow", "Action": [ "kms:RetireGrant" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/b8d9ae76-080c-4043-92EXAMPLE" } ]}

Permissões do IAM necessárias ao usar uma chave gerenciada pelo clienteAo criar um repositório comAWS KMShabilitada usando uma chave gerenciada pelo cliente, há permissõesnecessárias para a política de chaves do KMS e para a política do IAM para o usuário ou função que cria orepositório.

Ao criar sua própria chave KMS, você pode usar a política de chave padrãoAWS KMSCriar ou você podeespecificar seu próprio. Para garantir que a chave gerenciada pelo cliente permaneça gerenciável peloproprietário da conta, a diretiva de chave para a chave KMS deve permitir que todos osAWS KMSAçõespara o usuário raiz da conta. Permissões de escopo adicionais podem ser adicionadas à diretiva de chave,mas no mínimo o usuário raiz deve receber permissões para gerenciar a chave KMS. Para permitir quea chave do KMS seja usada apenas para solicitações provenientes do Amazon ECR, você pode usaroKms:Chave de condição do ViaServicecom oecr.<region>.amazonaws.comvalue.

O exemplo a seguir de política de chaves fornece oAWSConta (usuário raiz) que possui a chave KMSacesso total à chave KMS. Para obter mais informações sobre essa política de chave de exemplo,consulte.Permite o acesso aoAWSe habilita políticas do IAMnoAWS Key Management ServiceGuia dodesenvolvedor.

{ "Version": "2012-10-17", "Id": "ecr-key-policy", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" } ]}

O usuário do IAM, a função do IAM ouAWScriar seus repositórios deve terokms:CreateGrant,kms:RetireGrant, ekms:DescribeKeyalém das permissões necessárias doAmazon ECR.

Note

Okms:RetireGrantdeve ser adicionada à política do IAM do usuário ou função que cria orepositório. Okms:CreateGrantekms:DescribeKeypodem ser adicionadas à política de chave

Versão da API 2015-09-2192

Page 98: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCriptografia em repouso

para a chave KMS ou à política do IAM de usuário ou função que cria o repositório. Para obtermais informações sobre como oAWS KMSfuncionam, consulteAWS KMSPermissões da API:Referência de ações e recursosnoAWS Key Management ServiceGuia do desenvolvedor.

O exemplo a seguir da política do IAM pode ser adicionado como uma política em linha a um usuáriopara garantir que ele tenha as permissões mínimas necessárias para criar um repositório com criptografiaativada e excluir o repositório quando terminar com ele. OAWS KMS keyusada para criptografar orepositório pode ser especificada usando o parâmetro de recurso.

{ "Version": "2012-10-17", "Id": "ecr-kms-permissions", "Statement": [ { "Sid": "Allow access to create and retire the grants associated with the key as well as describe the key", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:RetireGrant", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/b8d9ae76-080c-4043-92EXAMPLE" } ]}

Permitir que um usuário liste chaves KMS no console ao criar um repositório

Ao usar o console do Amazon ECR para criar um repositório, você pode conceder permissões parapermitir que um usuário liste as chaves KMS gerenciadas pelo cliente na região ao habilitar a criptografiapara o repositório. O exemplo de política do IAM a seguir mostra as permissões necessárias para listarsuas chaves KMS e aliases ao usar o console.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases", "kms:DescribeKey" ], "Resource": "*" }}

Monitorando a interação do Amazon ECR comAWS KMSVocê pode usarAWS CloudTrailpara rastrear as solicitações que o Amazon ECR envia paraAWS KMSEmseu nome. As entradas de log no log do CloudTrail contêm uma chave de contexto de criptografia paratorná-las mais facilmente identificáveis.

Contexto de criptografia do Amazon ECR

Umacontexto de criptografiaO é um conjunto de pares de chave/valor que contém dados arbitrários nãosecretos. Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados,

Versão da API 2015-09-2193

Page 99: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioCriptografia em repouso

o AWS KMS vincula de forma criptográfica o contexto de criptografia aos dados criptografados. Paradescriptografar os dados, você deve passar o mesmo contexto de criptografia.

Na suaGenerateDataKeyeDecryptSolicitações aoAWS KMSO Amazon ECR usa um contexto decriptografia com dois pares de nome e valor que identificam o repositório e o bucket do Amazon S3 queestão sendo usados. Isso é mostrado no exemplo a seguir. Os nomes não variam, mas os valores decontexto de criptografia combinados serão diferentes para cada valor.

"encryptionContext": { "aws:s3:arn": "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df", "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"}

É possível usar o contexto de criptografia para identificar essas operações de criptografia em registros deauditoria e logs, comoAWS CloudTraile Amazon CloudWatch Logs e como condição para autorização empolíticas e concessões.

O contexto de criptografia do Amazon ECR consiste em dois pares de nome e valor.

• aws:s3:arn— O par de nome e valor identifica o bucket. A chave é aws:s3:arn. O valor é o nome derecurso da Amazon (ARN) do bucket do Amazon S3.

"aws:s3:arn": "ARN of an Amazon S3 bucket"

Por exemplo, se o ARN do bucket forarn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3dfOcontexto de criptografia incluiria o seguinte par.

"arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df"

• aws:ecr:arn— O segundo par de nome e valor identifica o nome de recurso da Amazon (ARN) dorepositório. A chave é aws:ecr:arn. O valor é o ARN do repositório.

"aws:ecr:arn": "ARN of an Amazon ECR repository"

Por exemplo, se o ARN do repositório forarn:aws:ecr:us-west-2:111122223333:repository/repository-nameO contexto de criptografia incluiria oseguinte par.

"aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"

TroubleshootingAo excluir um repositório do Amazon ECR com o console, se o repositório for excluído com sucesso, maso Amazon ECR não conseguir retirar as concessões adicionadas à sua chave KMS para seu repositório,você receberá o seguinte erro.

The repository [{repository-name}] has been deleted successfully but the grants created by the kmsKey [{kms_key}] failed to be retired

Quando isso ocorrer, você pode desativar oAWS KMSconcessões para o repositório você mesmo.

Versão da API 2015-09-2194

Page 100: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioValidação de conformidade

Para se aposentarAWS KMSconcessões para um repositório manualmente

1. Liste os subsídios para oAWS KMSchave usada para o repositório. Okey-idé incluído no erro quevocê recebe do console. Você também pode usar olist-keyspara listar tanto o Chaves gerenciadaspela AWS e as chaves KMS gerenciadas pelo cliente em uma região específica em sua conta.

aws kms list-grants \ --key-id b8d9ae76-080c-4043-9237-c815bfc21dfc --region us-west-2

A saída inclui umEncryptionContextSubsetCom o nome de recurso da Amazon (ARN) do seurepositório. Isso pode ser usado para determinar qual concessão adicionada à chave é a que vocêdeseja desativar. OGrantIdO valor será usado ao desativar a concessão na próxima etapa.

2. Desative cada concessão para oAWS KMSadicionada para o repositório. Substitua o valorparaGrandIdCom o ID da concessão da saída da etapa anterior.

aws kms retire-grant \ --key-id b8d9ae76-080c-4043-9237-c815bfc21dfc \ --grant-id GrantId \ --region us-west-2

Validação de conformidade do Amazon ElasticContain

Auditores externos avaliam a segurança e a conformidade do Amazon Elastic Container Registry comoparte de váriosAWSProgramas de conformidade. Isso inclui SOC, PCI, HIPAA e outros.

Para obter uma lista de serviços da AWS no escopo de programas de conformidade específicos, consulteServiços da AWS no escopo por programa de conformidade. Para obter informações gerais, consulteProgramas de conformidade da AWS.

Você pode fazer download de relatórios de auditoria externa usando o AWS Artifact. Para obter maisinformações, consulte Fazer download de relatórios no AWS Artifact.

Sua responsabilidade de conformidade ao usar o Amazon ECR é determinada pela confidencialidade dosdados, pelos objetivos de conformidade da empresa e pelos regulamentos e leis aplicáveis.AWSA forneceos seguintes recursos para ajudar com a conformidade:

• Guias de início rápido de segurança e conformidade: esses guias de implantação abordam asconsiderações de arquitetura e fornecem etapas para implantação de ambientes de linha de basefocados em conformidade e segurança na AWS.

• Whitepaper Arquitetura para segurança e conformidade com a HIPAA: esse whitepaper descreve comoas empresas podem usar a AWS para criar aplicações em conformidade com a HIPAA.

• Recursos de conformidade da AWS: essa coleção de manuais e guias pode ser aplicada a seu setor elocal.

• Avaliar recursos com regras no AWS Config Developer Guide (Guia do desenvolvedor do AWS Config):o serviço AWS Config avalia como as configurações de recursos estão em conformidade com práticasinternas, diretrizes do setor e regulamentos.

• AWS Security Hub: esse serviço da AWS fornece uma visão abrangente do estado de sua segurança naAWS que ajuda você a verificar sua conformidade com padrões e práticas recomendadas de segurançado setor.

Versão da API 2015-09-2195

Page 101: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioSegurança da infraestrutura

Segurança da infraestrutura no Amazon ElasticContainer Regist

Como um serviço gerenciado, o Amazon Elastic Container Registry é protegido peloAWSProcedimentosde segurança de rede global descritos noAmazon Web Services: Visão geral dos processos desegurançaWhitepaper.

Você usaAWSChamadas de API publicadas pela para acessar o Amazon ECR pela rede. Os clientesdevem oferecer suporte a Transport Layer Security (TLS) 1.0 ou posterior. Recomendamos TLS 1.2 ouposterior. Os clientes também devem ter suporte a conjuntos de criptografia com perfect forward secrecy(PFS) como Ephemeral Diffie-Hellman (DHE) ou Ephemeral Elliptic Curve Diffie-Hellman (ECDHE). Amaioria dos sistemas modernos como Java 7 e versões posteriores oferece suporte a esses modos.

Além disso, as solicitações devem ser assinadas usando um ID da chave de acesso e uma chave deacesso secreta associada a uma entidade principal do IAM. Ou você pode usar o AWS Security TokenService (AWS STS) para gerar credenciais de segurança temporárias para assinar solicitações.

É possível chamar essas operações de API de qualquer local da rede, mas o Amazon ECR não écompatível com políticas de acesso baseadas em recursos, que podem incluir restrições com base noendereço IP de origem. Você também pode usar políticas do Amazon ECR para controlar o acessode Amazon Virtual Private Cloud (Amazon VPC) endpoints ou VPCs específicas. Efetivamente, issoisola o acesso à rede para um determinado recurso do Amazon ECR do somente da VPC específicadentro doAWSrede. Para obter mais informações, consulte Amazon ECR VPC endpoints de interface(AWSPrivateLink) (p. 96).

Amazon ECR VPC endpoints de interface(AWSPrivateLink)Você pode melhorar a postura de segurança da sua VPC configurando o Amazon ECR para usar um VPCendpoint de interface. Os VPC endpoints são desenvolvidos peloAWSO PrivateLink, uma tecnologia quepermite acessar de forma privada as APIs do Amazon ECR por meio de endereços IP privados.AWS OPrivateLink restringe todo o tráfego de rede entre sua VPC e o Amazon ECR para a rede da Amazon. Vocênão precisa de um gateway da Internet, de um dispositivo NAT ou de um gateway privado virtual.

Para obter mais informações sobreAWSPrivateLink e endpoints da VPC, consulteVPC endpointsdonoAmazon VPC User Guide.

Considerações sobre VPC endpoints do Amazon ECRAntes de configurar VPC endpoints para o Amazon ECR, fique atento às seguintes considerações:

• Para permitir que as tarefas do Amazon ECS que usam o tipo de execução do EC2 extraiam imagensprivadas do Amazon ECR, crie também VPC endpoints de interface para o Amazon ECS. Para obtermais informações, consulteVPC endpoints de interface do (AWSPrivateLink)noAmazon Elastic ContainerService.

Important

As tarefas do Amazon ECS que usam o tipo de execução do Fargate não exigem os VPCendpoints de interface do Amazon ECS.

• As tarefas do Amazon ECS que usam o tipo de execução do Fargate e a versão 1.3.0 ou anterior daplataforma exigem somente acom.amazonaws.região.ecr.dkrO VPC endpoint do Amazon ECR e oendpoint do gateway do Amazon S3 para aproveitar esse recurso.

Versão da API 2015-09-2196

Page 102: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVPC endpoints de interface (AWS PrivateLink)

• As tarefas do Amazon ECS que usam o tipo de execução do Fargate e a versão 1.4.0 ou posterior daplataforma exigem ocom.amazonaws.região.ecr.dkrecom.amazonaws.região.ecr.apiOs endpoints deVPC do Amazon ECR e o endpoint de gateway do Amazon S3 para aproveitar esse recurso.

• As tarefas do Amazon ECS que usam o tipo de execução Fargate que extraem imagens do contêiner doAmazon ECR podem restringir o acesso à VPC específica que as tarefas usam e ao VPC endpoint queo serviço usa adicionando chaves de condição à função do IAM de execução da tarefa. Para obter maisinformações, consultePermissões opcionais do IAM para tarefas do Fargate que extraem imagens doAmazon ECR em endpointsnoAmazon Elastic Container Service.

• As tarefas do Amazon ECS que usam o tipo de execução do Fargate que extrai imagens de contêinerdo Amazon ECR que também usa oawslogspara enviar informações de log para o CloudWatch Logsexigem o endpoint da VPC do CloudWatch Logs. Para obter mais informações, consulte Criar o endpointdo CloudWatch Logs (p. 100).

• O grupo de segurança anexado ao VPC endpoint deve permitir conexões de entrada na porta 443 nasub-rede privada da VPC.

• Atualmente, os VPC endpoints não oferecem suporte a solicitações entre regiões. Crie os VPCendpoints na mesma região da qual você planeja enviar chamadas de API para o Amazon ECR.

• Os VPC endpoints só oferecem suporte a DNS fornecido pela Amazon por meio do Amazon Route 53.Se quiser usar seu próprio DNS, poderá usar o encaminhamento de DNS condicional. Para obter maisinformações, consulteConjuntos de opções de DHCPnoAmazon VPC User Guide.

• Se os contêineres tiverem conexões existentes com o Amazon S3, as conexões poderão serinterrompidas brevemente quando você adicionar o endpoint de gateway do Amazon S3. Se você quiserevitar essa interrupção, crie uma VPC que usa o endpoint de gateway do Amazon S3 e migre o clusterdo Amazon ECS e seus contêineres para a nova VPC.

Considerações sobre imagens do Windows

As imagens baseadas no sistema operacional Windows incluem artefatos que são restringidospela licença de serem distribuídos. Por padrão, quando você envia imagens do Windows para umrepositório do Amazon ECR, as camadas que incluem esses artefatos não são enviadas como elas sãoconsideradasCamadas externas. Quando os artefatos são fornecidos pela Microsoft, as camadas externassão recuperadas da infraestrutura do Microsoft Azure. Por esse motivo, para permitir que seus contêineresextraiam essas camadas externas do Azure, etapas adicionais são necessárias além da criação dosendpoints da VPC.

É possível substituir esse comportamento ao enviar imagens do Windows para o Amazon ECR usandoo--allow-nondistributable-artifactsno daemon do Docker. Quando ativado, esse sinalizadorenviará as camadas licenciadas para o Amazon ECR, o que permite que essas imagens sejam extraídasdo Amazon ECR por meio do endpoint da VPC sem necessidade de acesso adicional ao Azure.

Important

Como usar o--allow-nondistributable-artifactsnão exclui sua obrigação de cumpriros termos da licença de imagem base de contêiner do Windows; você não pode postar conteúdodo Windows para redistribuição pública ou de terceiros. O uso dentro do seu próprio ambiente épermitido.

Para habilitar o uso desse sinalizador para a instalação do Docker, você deve modificar o arquivo deconfiguração do daemon do Docker que, dependendo da instalação do Docker, normalmente pode serconfigurado no menu de configurações ou preferências na seçãoEngine do Dockerou editando a seçãoC:\ProgramData\docker\config\daemon.jsonO arquivo é diretamente.

Veja a seguir um exemplo da configuração necessária. Substitua o valor pelo URI do repositório para oqual você está enviando imagens.

{ "allow-nondistributable-artifacts": [

Versão da API 2015-09-2197

Page 103: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVPC endpoints de interface (AWS PrivateLink)

"111122223333.dkr.ecr.us-west-2.amazonaws.com" ]}

Depois de modificar o arquivo de configuração do daemon do Docker, você deve reiniciar o daemon doDocker antes de tentar enviar sua imagem. Confirme se o push funcionou verificando se a camada base foienviada ao seu repositório do.

Note

As camadas base para imagens do Windows são grandes. O tamanho da camada resultaráem mais tempo de envio e custos adicionais de armazenamento no Amazon ECR para essasimagens. Por esses motivos, recomendamos usar essa opção somente quando for estritamentenecessário reduzir os tempos de construção e os custos contínuos de armazenamento. Porexemplo, as receitasmcr.microsoft.com/windows/servercoretem aproximadamente 1,7GiB de tamanho quando compactada no Amazon ECR.

Criar os VPC endpoints para o Amazon ECRPara criar os VPC endpoints para o serviço do Amazon ECR, use oCriação de um endpoint de interfacenoprocedimento doAmazon VPC User Guide.

As tarefas do Amazon ECS usando o tipo de inicialização do EC2 exigem endpoints do Amazon ECR e oendpoint do gateway do Amazon S3.

As tarefas do Amazon ECS que usam o tipo de execução do Fargate e a versão 1.3.0 ou anterior daplataforma exigem somente acom.amazonaws.região.ecr.dkrO endpoint da VPC do Amazon ECR e osendpoints do gateway do Amazon S3.

As tarefas do Amazon ECS que usam o tipo de execução do Fargate e a versão 1.4.0 ou posterior daplataforma exigem ocom.amazonaws.região.ecr.dkrecom.amazonaws.região.ecr.apiOs endpoints deVPC do Amazon ECR e os endpoints do gateway do Amazon S3.

Note

A ordem em que os endpoints são criados não importa.

com.amazonaws.região.ecr.dkr

Esse endpoint é usado para as APIs de registro do Docker. Os comandos de cliente do Docker, comopush e pull, usam esse endpoint.

Ao criar o endpoint com.amazonaws.region.ecr.dkr, habilite um nome de host DNS privado. Parafazer isso, verifique se a opção Enable Private DNS Name (Habilitar nome DNS privado) estáselecionada no console da VPC ao criar o VPC endpoint.

com.amazonaws.região.ecr.api

Note

O especificadoregiãorepresenta o identificador de região para umAWSRegião suportadapelo Amazon ECR, comous-east-2Para a região Leste dos EUA (Ohio).

Esse endpoint é usado para chamadas à API do Amazon ECR. As ações de API, comoDescribeImages e CreateRepositories, vão para esse endpoint.

Quando o endpoint com.amazonaws.região.ecr.api é criado, você tem a opção de habilitar umnome de host DNS privado. Habilite essa configuração selecionando Habilitar nome DNS privado noconsole da VPC ao criar o VPC endpoint. Se você habilitar um nome de host DNS privado para o VPCendpoint, atualize o SDK ou a AWS CLI para a versão mais recente para que não seja necessárioespecificar um URL de endpoint ao usar o SDK ou a AWS CLI.

Versão da API 2015-09-2198

Page 104: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVPC endpoints de interface (AWS PrivateLink)

Se você habilitar um nome de host DNS privado e estiver usando uma versão do SDK ou da AWSCLI anterior a 24 de janeiro de 2019, será necessário usar o parâmetro --endpoint-url paraespecificar os endpoints de interface. O exemplo a seguir mostra o formato do URL do endpoint.

aws ecr create-repository --repository-name name --endpoint-url https://api.ecr.region.amazonaws.com

Se você não habilitar um nome de host DNS privado para o VPC endpoint, deverá usar o parâmetro--endpoint-url especificando o ID do VPC endpoint para o endpoint de interface. O exemplo aseguir mostra o formato do URL do endpoint.

aws ecr create-repository --repository-name name --endpoint-url https://VPC_endpoint_ID.api.ecr.region.vpce.amazonaws.com

Criar o endpoint do gateway do Amazon S3Para que suas tarefas do Amazon ECS extraiam imagens privadas do Amazon ECR, crie um endpointde gateway do para o Amazon S3. O endpoint do gateway é necessário porque o Amazon ECR usa oAmazon S3 para armazenar suas camadas de imagem. Quando os contêineres fazem download deimagens do Amazon ECR, eles devem acessar o Amazon ECR para obter o manifesto da imagem e oAmazon S3 para fazer download das reais camadas da imagem. Este é o nome de recurso da Amazon(ARN) do bucket do Amazon S3 que contém as camadas de cada imagem do Docker.

arn:aws:s3:::prod-region-starport-layer-bucket/*

Usar aCriar um endpoint do gatewayno procedimento doAmazon VPC User GuidePara criar o seguinteendpoint de gateway do Amazon S3 para o Amazon ECR. Ao criar o endpoint, selecione as tabelas derotas para sua VPC.

com.amazonaws.região.s3

O endpoint de gateway do Amazon S3 usa um documento de política do IAM para limitar o acessoao serviço. OAcesso total aoA política pode ser usada, pois qualquer restrição colocada na tarefa doIAM funções ou em outras políticas de usuário do IAM ainda serão aplicadas acima dessa política.Se você quiser limitar o acesso ao bucket do Amazon S3 do para o as permissões mínimas exigidaspara usar o Amazon ECR, consultePermissões mínimas do bucket do Amazon S3 para o AmazonECR (p. 99).

Permissões mínimas do bucket do Amazon S3 para o Amazon ECRO endpoint de gateway do Amazon S3 usa um documento de política do IAM para limitar o acesso aoserviço. Para permitir apenas as permissões mínimas de bucket do Amazon S3 para o Amazon ECR,restrinja o acesso ao bucket do Amazon S3 usado pelo Amazon ECR ao criar o documento de política doIAM para o endpoint.

A tabela a seguir descreve as permissões da política do bucket do Amazon S3 exigidas pelo Amazon ECR.

Permissão Descrição

arn:aws:s3:::prod-region-starport-layer-bucket/*

Fornece acesso ao bucket do Amazon S3que contém as camadas de cada imagem doDocker. Representa o identificador de região paraumAWSRegião suportada pelo Amazon ECR,comous-east-2Para a região Leste dos EUA(Ohio).

Versão da API 2015-09-2199

Page 105: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVPC endpoints de interface (AWS PrivateLink)

Example

O exemplo a seguir ilustra como conceder acesso aos buckets do Amazon S3 necessários para asoperações do Amazon ECR.

{ "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::prod-region-starport-layer-bucket/*"] } ]}

Criar o endpoint do CloudWatch LogsAs tarefas do Amazon ECS que usam o tipo de execução do Fargate que usa uma VPC sem um gatewayda Internet que também usa oawslogsPara enviar informações de log ao CloudWatch Logs exigemque você crie ocom.amazonaws.região.logsVPC endpoint da interface para o CloudWatch Logs. Paraobter mais informações, consulteUsando o CloudWatch Logs com VPC endpoints de interfacenoAmazonCloudWatch Logs Guia do usuário.

Criar uma política de endpoint para os endpoints do AmazonECR VPCUma política de VPC endpoint é uma política de recursos do IAM que você anexa a um endpoint quandocria ou modifica o endpoint. Se você não associar uma política ao criar um endpoint, a AWS associará umapolítica padrão que permita o acesso total ao serviço. Uma política de endpoint não substitui políticas deusuário do IAM do ou políticas de serviço específicas. É uma política separada para controlar o acessodo endpoint ao serviço especificado. Políticas de endpoint devem ser gravadas em formato JSON. Paraobter mais informações, consulte Controlar o acesso a serviços com VPC endpoints no Guia do usuário daAmazon VPC.

Recomendamos criar uma única política de recursos do IAM e anexá-la a ambos os VPC endpoints doAmazon ECR do.

Veja a seguir um exemplo de uma política de endpoint para o Amazon ECR. Essa política permite que umafunção específica do IAM extraia imagens do Amazon ECR.

{ "Statement": [{ "Sid": "AllowPull", "Principal": { "AWS": "arn:aws:iam::1234567890:role/role_name" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Effect": "Allow", "Resource": "*" }]}

Versão da API 2015-09-21100

Page 106: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVPC endpoints de interface (AWS PrivateLink)

O exemplo de política de endpoint a seguir impede que um repositório especificado seja excluído.

{ "Statement": [{ "Sid": "AllowAll", "Principal": "*", "Action": "*", "Effect": "Allow", "Resource": "*" }, { "Sid": "PreventDelete", "Principal": "*", "Action": "ecr:DeleteRepository", "Effect": "Deny", "Resource": "arn:aws:ecr:region:1234567890:repository/repository_name" } ]}

O exemplo de política de endpoint a seguir combina os dois exemplos anteriores em uma única política.

{ "Statement": [{ "Sid": "AllowAll", "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" }, { "Sid": "PreventDelete", "Effect": "Deny", "Principal": "*", "Action": "ecr:DeleteRepository", "Resource": "arn:aws:ecr:region:1234567890:repository/repository_name" }, { "Sid": "AllowPull", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::1234567890:role/role_name" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" } ]}

Para modificar a política de VPC endpoint para o Amazon ECR

1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.2. No painel de navegação, selecione Endpoints.3. Se você ainda não tiver criado os VPC endpoints para o Amazon ECR, consulteCriar os VPC

endpoints para o Amazon ECR (p. 98).4. Selecione o endpoint da VPC do Amazon ECR ao qual deseja adicionar uma política e escolha

aPolíticaNa metade inferior da tela.5. Selecione Edit policy (Editar política) e faça as alterações na política.

Versão da API 2015-09-21101

Page 107: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVPC endpoints de interface (AWS PrivateLink)

6. Escolha Save (Salvar) para salvar a política.

Versão da API 2015-09-21102

Page 108: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioVisualizar as cotas de serviço e definir alarmes

Monitoramento do Amazon ECRVocê pode monitorar o uso da API do Amazon ECR com o Amazon CloudWatch, que coleta e processaos dados brutos do Amazon ECR em métricas legíveis, quase em tempo real. Essas estatísticas sãoregistradas por um período de duas semanas, para que você possa acessar informações históricas e obterperspectiva sobre o uso da API. Os dados de métrica do Amazon ECR são enviados automaticamentepara o CloudWatch em períodos de um minuto. Para obter mais informações sobre o CloudWatch,consulte o Guia do usuário do Amazon CloudWatch.

O Amazon ECR fornece métricas com base no uso da API para ações de autorização, envio de imagem eextração de imagem.

O monitoramento é uma parte importante da manutenção da confiabilidade, da disponibilidade e dodesempenho do Amazon ECR e doAWSSoluções do. Recomendamos que você colete dados demonitoramento dos recursos que compõem sua solução da AWS para que seja possível depurar maisfacilmente uma falha multipontos, caso ocorra. Porém, para começar a monitorar o Amazon ECR, énecessário criar um plano de monitoramento que inclua respostas às seguintes perguntas:

• Quais são seus objetivos de monitoramento?• Quais recursos você vai monitorar?• Com que frequência você vai monitorar esses recursos?• Quais ferramentas de monitoramento você usará?• Quem realizará o monitoramento das tarefas?• Quem deve ser notificado quando algo der errado?

A próxima etapa é estabelecer uma linha de base de desempenho normal do Amazon ECR no ambiente,medindo o desempenho em vários momentos e em diferentes condições de carga. À medida que vocêmonitora o Amazon ECR, armazene dados de monitoramento históricos para compará-los com os novosdados de desempenho, identificar padrões de desempenho normais e anomalias de desempenho eidealizar métodos para resolver problemas.

Tópicos• Visualizando suas cotas de serviço e definindo alarmes (p. 103)• Métricas de uso do Amazon ECR (p. 104)• Relatórios de uso do Amazon ECR (p. 105)• Eventos do Amazon ECR e EventBridge (p. 105)• Registrando ações do Amazon ECR comAWS CloudTrail (p. 107)

Visualizando suas cotas de serviço e definindoalarmes

É possível usar o console do CloudWatch para visualizar as cotas de serviço e ver como o uso atual secompara às cotas de serviço. Também é possível definir alarmes para que você seja notificado ao seaproximar de uma cota.

Como visualizar uma cota de serviço e opcionalmente definir um alarme

1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.2. No painel de navegação, selecione Metrics (Métricas).

Versão da API 2015-09-21103

Page 109: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioMétricas de uso

3. NoTodas as métricas, selecioneUsoE, depois, selecionePorAWSRecurso.

A lista das métricas de uso da cota de serviço é exibida.4. Marque a caixa de seleção ao lado de uma das métricas.

O gráfico exibe o uso atual desse recurso da AWS.5. Para adicionar a cota de serviço ao gráfico, faça o seguinte:

a. Escolha a guia Graphed metrics (Métricas em gráfico).b. Selecione Math expression (Expressão matemática), Start with an empty expression

(Começar com uma expressão vazia). Depois, na nova linha, em Details (Detalhes), insiraSERVICE_QUOTA(m1).

Uma nova linha é adicionada ao gráfico, exibindo a cota de serviço do recurso representado namétrica.

6. Para ver o uso atual como uma porcentagem da cota, adicione uma nova expressão ou altere aexpressão SERVICE_QUOTA atual. Para a nova expressão, use m1/60/SERVICE_QUOTA(m1)*100.

7. (Opcional) Para definir um alarme que notifique se você caso se aproxime da cota de serviço, faça oseguinte:

a. Na linha m1/60/SERVICE_QUOTA(m1)*100, em Actions (Ações), selecione o ícone de alarme.Ele se parece com um sino.

A página de criação de alarmes é exibida.b. Em Conditions (Condições), verifique se o Threshold type (Tipo de limite) é Static (Estático) e se

Whenever Expression1 is (Sempre que a Expression1 for) esteja definido como Greater (Maior).Em than (que), insira 80. Isso cria um alarme que entrará no estado ALARM (ALARME) quandoseu uso exceder 80% da cota.

c. Escolha Next (Próximo).d. Na próxima página, selecione um tópico do Amazon SNS ou crie um novo. Esse tópico será

notificado quando o alarme entrar no estado ALARM (ALARME). Em seguida, escolha Avançar.e. Na próxima página, insira um nome e uma descrição para o alarme e selecione Next (Próximo).f. Selecione Create alarm (Criar alarme).

Métricas de uso do Amazon ECRVocê pode usar métricas de uso do CloudWatch para fornecer visibilidade sobre o uso de recursos de suaconta. Use essas métricas para visualizar o uso do serviço atual nos gráficos e painéis do CloudWatch.

As métricas de uso do Amazon ECR correspondem aAWSCotas de serviço do Também é possívelconfigurar alarmes que alertem você quando o uso se aproximar de uma cota de serviço. Para obtermais informações sobre as cotas de serviço do Amazon ECR, consulteCotas de serviço do AmazonECR (p. 116).

O Amazon ECR publica as métricas a seguir naAWS/Usagenamespace.

Métrica Descrição

CallCount O número de chamadas de ação de API da sua conta. Os recursossão definidos pelas dimensões associadas à métrica.

A estatística mais útil para essa métrica é SUM, que representa asoma dos valores de todos os colaboradores durante o períododefinido.

Versão da API 2015-09-21104

Page 110: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioRelatórios de uso

As dimensões a seguir são usadas para refinar as métricas de uso publicadas pelo Amazon ECR.

Dimensão Descrição

Service O nome do serviço da AWS que contém o recurso. Para as métricasde uso do Amazon ECR, o valor dessa dimensão éECR.

Type O tipo de entidade que está sendo relatado. No momento, o únicovalor válido para métricas de uso do Amazon ECR éAPI.

Resource O tipo de recurso que está em execução. No momento, o AmazonECR retorna informações sobre o uso de sua API para as ações deAPI a seguir.

• GetAuthorizationToken• BatchCheckLayerAvailability• InitiateLayerUpload• UploadLayerPart• CompleteLayerUpload• PutImage• BatchGetImage• GetDownloadUrlForLayer

Class A classe do recurso que está sendo acompanhado. No momento, oAmazon ECR não usa a dimensão de classe.

Relatórios de uso do Amazon ECRAWSO fornece uma ferramenta de geração de relatório gratuita, chamada Cost Explorer, que permiteanalisar o custo e o uso dos recursos do Amazon ECR.

Use o Cost Explorer para visualizar gráficos de uso e de custos. É possível visualizar dados dos últimos13 meses e prever o valor que você provavelmente gastará nos próximos três meses. É possível usar oCost Explorer para ver padrões de gastos de recursos da AWS ao longo do tempo, identificar áreas queprecisam de uma investigação mais profunda e ver tendências que você pode usar para entender seuscustos. Também é possível especificar os períodos dos dados e visualizar os dados de tempo por dia oupor mês.

Os dados de medição nos Relatórios de uso e de custo mostram o uso em todos os repositórios doAmazon ECR. Para obter mais informações, consulte Marcar recursos para faturamento (p. 32).

Para obter mais informações sobre a criação de umaAWSRelatório de custos e uso do,consulteAWSRelatório de custos e uso danoAWS Billing and Cost ManagementGuia do usuário do.

Eventos do Amazon ECR e EventBridgeO Amazon EventBridge permite que você automatize seuAWSE responder automaticamente aos eventosdo sistema, como problemas de disponibilidade do aplicativo ou alterações de recursos. Os eventos dosprodutos da AWS são entregues ao EventBridge quase em tempo real. É possível escrever regras simplespara indicar quais eventos são do seu interesse e incluir ações automatizadas que deverão ser realizadasquando um evento corresponder à regra. As ações que podem ser automaticamente acionadas incluem asseguintes:

• Adicionar eventos a grupos de logs no CloudWatch Logs

Versão da API 2015-09-21105

Page 111: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioAmostra de eventos do Amazon ECR

• Como invocar uma função do AWS Lambda• Invocação do Run Command do Amazon EC2• Retransmissão do evento para o Amazon Kinesis Data Streams• Ativação da máquina de estado do AWS Step Functions• Notificação de um tópico do Amazon SNS ou de uma fila do Amazon SQS

Para obter mais informações, consulteConceitos básicos do Amazon EventBridgenoGuia do usuário doAmazon EventBridge.

Amostra de eventos do Amazon ECRVeja a seguir exemplos de eventos do Amazon ECR. Eventos são emitidos com base no melhor esforço.

Evento para um envio de imagem concluído

O evento a seguir é enviado quando cada envio de imagem é concluído. Para obter mais informações,consulte Enviar uma imagem de docker (p. 34).

{ "version": "0", "id": "13cde686-328b-6117-af20-0e5566167482", "detail-type": "ECR Image Action", "source": "aws.ecr", "account": "123456789012", "time": "2019-11-16T01:54:34Z", "region": "us-west-2", "resources": [], "detail": { "result": "SUCCESS", "repository-name": "my-repository-name", "image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234", "action-type": "PUSH", "image-tag": "latest" }}

Evento para uma verificação de imagem concluída

O evento a seguir é enviado quando cada verificação de imagem é concluída. O parâmetro finding-severity-counts só retornará um valor de um nível de gravidade se existir algum. Por exemplo, se aimagem não contiver descobertas no nível CRITICAL, não será retornada uma contagem crítica. Paraobter mais informações, consulte Verificação de imagens (p. 59).

{ "version": "0", "id": "85fc3613-e913-7fc4-a80c-a3753e4aa9ae", "detail-type": "ECR Image Scan", "source": "aws.ecr", "account": "123456789012", "time": "2019-10-29T02:36:48Z", "region": "us-east-1", "resources": [ "arn:aws:ecr:us-east-1:123456789012:repository/my-repository-name" ], "detail": { "scan-status": "COMPLETE", "repository-name": "my-repository-name", "finding-severity-counts": { "CRITICAL": 10,

Versão da API 2015-09-21106

Page 112: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioRegistro em log de ações com o AWS CloudTrail

"MEDIUM": 9 }, "image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234", "image-tags": [] }}

Evento para exclusão de uma imagem

O evento a seguir é enviado quando uma imagem é excluída. Para obter mais informações, consulteExcluir uma imagem (p. 40).

{ "version": "0", "id": "dd3b46cb-2c74-f49e-393b-28286b67279d", "detail-type": "ECR Image Action", "source": "aws.ecr", "account": "123456789012", "time": "2019-11-16T02:01:05Z", "region": "us-west-2", "resources": [], "detail": { "result": "SUCCESS", "repository-name": "my-repository-name", "image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234", "action-type": "DELETE", "image-tag": "latest" }}

Registrando ações do Amazon ECR comAWSCloudTrail

O Amazon ECR é integrado com oAWS CloudTrail, um serviço que fornece um registro das açõesexecutadas por um usuário, uma função ou umaAWSno Amazon ECR. O CloudTrail captura as seguintesações do Amazon ECR como eventos:

• Todas as chamadas de API, incluindo chamadas do console do Amazon ECR• Todas as ações tomadas devido às configurações de criptografia em seus repositórios• Todas as ações tomadas devido às regras de política de ciclo de vida, incluindo ações bem-sucedidas e

malsucedidas

Quando uma trilha é criada, você pode habilitar a entrega contínua de eventos do CloudTrail para umbucket do Amazon S3, incluindo eventos do Amazon ECR. Se você não configurar uma trilha, aindapoderá visualizar os eventos mais recentes no console do CloudTrail em Event history (Histórico deeventos). Com essa informação, você pode determinar a solicitação feita ao Amazon ECR, o endereço IPde origem, de onde a solicitação foi feita, quando ela foi feita e detalhes adicionais.

Para obter mais informações, consulte o Guia do usuário do AWS CloudTrail.

Informações do Amazon ECR no CloudTrailO CloudTrail é habilitado em sua conta da AWS quando ela é criada. Quando ocorre atividade no AmazonECR, essa atividade é registrada em um evento do CloudTrail junto com outrosAWSeventos de serviço

Versão da API 2015-09-21107

Page 113: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioNoções básicas sobre as entradas de arquivos de log do

emHistórico de eventos. Você pode visualizar, pesquisar e fazer download de eventos recentes em suaconta da AWS. Para obter mais informações, consulte Como visualizar eventos com o histórico de eventosdo CloudTrail.

Para obter um registro contínuo de eventos em suaAWSConta, incluindo eventos do Amazon ECR, crieuma trilha. Uma trilha permite que o CloudTrail entregue arquivos de log a um bucket do Amazon S3. Aocriar uma trilha no console, você pode aplicá-la a uma única região ou a todas as regiões. A trilha registraeventos noAWSe entrega os arquivos de log para o bucket do Amazon S3 especificado por você. Alémdisso, você pode configurar outrasAWSPara analisar e agir sobre os dados de eventos coletados nos logsdo CloudTrail. Para obter mais informações, consulte:

• Criar uma trilha para suaAWSaccount• AWS Integrações de serviços do CloudTrail logs• Configurar notificações do Amazon SNS para o CloudTrail• Receber arquivos de log do CloudTrail de várias regiões e Receber arquivos de log do CloudTrail de

várias contas

Todas as ações de API do Amazon ECR são registradas pelo CloudTrail e documentadas naAmazonElastic Container Registry API Referência. Quando você executa tarefas comuns, são geradas seçõesnos arquivos de log do CloudTrail para cada ação de API que faz parte dessa tarefa. Por exemplo, ao criarum repositório, oGetAuthorizationToken,CreateRepositoryeSetRepositoryPolicyAs seçõesdo são geradas nos arquivos de log do CloudTrail. Quando você envia uma imagem para um repositório,são geradas as seções InitiateLayerUpload, UploadLayerPart, CompleteLayerUpload ePutImage. Quando você extrai uma imagem, são geradas as seções GetDownloadUrlForLayer eBatchGetImage. Para ver exemplos dessas tarefas comuns, consulte Exemplos de entradas de log doCloud (p. 108).

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações deidentidade ajudam a determinar:

• Se a solicitação foi feita com credenciais de usuário raiz ou do IAM• Se a solicitação foi feita com credenciais de segurança temporárias de uma função ou de um usuário

federado• Se a solicitação foi feita por outro serviço da AWS

Para obter mais informações, consulte o .CloudTrailuserIdentityElemento.

Noções básicas sobre as entradas de arquivos de logdoUma trilha é uma configuração que permite a entrega de eventos como registros de log a um bucket doAmazon S3 especificado. Os arquivos de log do CloudTrail contêm uma ou mais entradas de log. Umevento representa uma única solicitação de qualquer origem e inclui informações sobre a ação solicitada,a data e a hora da ação, os parâmetros de solicitação e outras informações. Os arquivos de log doCloudTrail não são um rastreamento de pilha ordenada das chamadas de API pública. Dessa forma, elesnão são exibidos em uma ordem específica.

Exemplos de entradas de log do CloudVeja a seguir exemplos de entradas de log do CloudTrail para algumas tarefas comuns do Amazon ECR.

Note

Estes exemplos foram formatados para obter melhor legibilidade. Em um arquivo de log doCloudTrail, todas as entradas e eventos são concatenados em uma única linha. Além disso, este

Versão da API 2015-09-21108

Page 114: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioNoções básicas sobre as entradas de arquivos de log do

exemplo foi limitado a uma única entrada do Amazon ECR. Em um arquivo de log do CloudTrailreal, você vê entradas e eventos de váriosAWSServiços da .

Tópicos• Exemplo: Criar ação de repositório (p. 109)• Exemplo: AWS KMS Ação de API CreateGrant ao criar um repositório do Amazon ECR (p. 110)• Exemplo: Ação de envio de imagem (p. 111)• Exemplo: Ação de extração de imagem (p. 113)• Exemplo: Política de ciclo de vida da imagem (p. 114)

Exemplo: Criar ação de repositório

O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra a ação CreateRepository.

{ "eventVersion": "1.04", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name", "arn": "arn:aws:sts::123456789012:user/Mary_Major", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-07-11T21:54:07Z" }, "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" } } }, "eventTime": "2018-07-11T22:17:43Z", "eventSource": "ecr.amazonaws.com", "eventName": "CreateRepository", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "console.amazonaws.com", "requestParameters": { "repositoryName": "testrepo" }, "responseElements": { "repository": { "repositoryArn": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo", "repositoryName": "testrepo", "repositoryUri": "123456789012.dkr.ecr.us-east-2.amazonaws.com/testrepo", "createdAt": "Jul 11, 2018 10:17:44 PM", "registryId": "123456789012" } }, "requestID": "cb8c167e-EXAMPLE", "eventID": "e3c6f4ce-EXAMPLE", "resources": [ { "ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo", "accountId": "123456789012" }

Versão da API 2015-09-21109

Page 115: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioNoções básicas sobre as entradas de arquivos de log do

], "eventType": "AwsApiCall", "recipientAccountId": "123456789012"}

Exemplo: AWS KMS Ação de API CreateGrant ao criar um repositório do AmazonECR

O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra oAWS KMSAçãoCreateGrant ao criar um repositório do Amazon ECR com criptografia KMS ativada. Para cada repositóriocriado com criptografia KMS está habilitado, você deve ver duas entradas de log CreateGrant noCloudTrail.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAIEP6W46J43IG7LXAQ", "arn": "arn:aws:iam::123456789012:user/Mary_Major", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Mary_Major", "sessionContext": { "sessionIssuer": { }, "webIdFederationData": { }, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-06-10T19:22:10Z" } }, "invokedBy": "AWS Internal" }, "eventTime": "2020-06-10T19:22:10Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.12", "userAgent": "console.amazonaws.com", "requestParameters": { "keyId": "4b55e5bf-39c8-41ad-b589-18464af7758a", "granteePrincipal": "ecr.us-west-2.amazonaws.com", "operations": [ "GenerateDataKey", "Decrypt" ], "retiringPrincipal": "ecr.us-west-2.amazonaws.com", "constraints": { "encryptionContextSubset": { "aws:ecr:arn": "arn:aws:ecr:us-west-2:123456789012:repository/testrepo" } } }, "responseElements": { "grantId": "3636af9adfee1accb67b83941087dcd45e7fadc4e74ff0103bb338422b5055f3" }, "requestID": "047b7dea-b56b-4013-87e9-a089f0f6602b", "eventID": "af4c9573-c56a-4886-baca-a77526544469", "readOnly": false, "resources": [

Versão da API 2015-09-21110

Page 116: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioNoções básicas sobre as entradas de arquivos de log do

{ "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:123456789012:key/4b55e5bf-39c8-41ad-b589-18464af7758a" } ], "eventType": "AwsApiCall", "recipientAccountId": "123456789012"}

Exemplo: Ação de envio de imagem

O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra um envio de imagem, queusa oPutImageAção .

Note

Ao enviar uma imagem, você também veráInitiateLayerUpload,UploadLayerPart,eCompleteLayerUploadreferências nos logs do CloudTrail.

{ "eventVersion": "1.04", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name", "arn": "arn:aws:sts::123456789012:user/Mary_Major", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Mary_Major", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2019-04-15T16:42:14Z" } } }, "eventTime": "2019-04-15T16:45:00Z", "eventSource": "ecr.amazonaws.com", "eventName": "PutImage", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "console.amazonaws.com", "requestParameters": { "repositoryName": "testrepo", "imageTag": "latest", "registryId": "123456789012", "imageManifest": "{\n \"schemaVersion\": 2,\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n \"config\": {\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\n \"size\": 5543,\n \"digest\": \"sha256:000b9b805af1cdb60628898c9f411996301a1c13afd3dbef1d8a16ac6dbf503a\"\n },\n \"layers\": [\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 43252507,\n \"digest\": \"sha256:3b37166ec61459e76e33282dda08f2a9cd698ca7e3d6bc44e6a6e7580cdeff8e\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 846,\n \"digest\": \"sha256:504facff238fde83f1ca8f9f54520b4219c5b8f80be9616ddc52d31448a044bd\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 615,\n \"digest\": \"sha256:ebbcacd28e101968415b0c812b2d2dc60f969e36b0b08c073bf796e12b1bb449\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 850,\n \"digest\": \"sha256:c7fb3351ecad291a88b92b600037e2435c84a347683d540042086fe72c902b8a\"\n },\n {\n \"mediaType\": \"application/

Versão da API 2015-09-21111

Page 117: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioNoções básicas sobre as entradas de arquivos de log do

vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 168,\n \"digest\": \"sha256:2e3debadcbf7e542e2aefbce1b64a358b1931fb403b3e4aeca27cb4d809d56c2\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 37720774,\n \"digest\": \"sha256:f8c9f51ad524d8ae9bf4db69cd3e720ba92373ec265f5c390ffb21bb0c277941\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 30432107,\n \"digest\": \"sha256:813a50b13f61cf1f8d25f19fa96ad3aa5b552896c83e86ce413b48b091d7f01b\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 197,\n \"digest\": \"sha256:7ab043301a6187ea3293d80b30ba06c7bf1a0c3cd4c43d10353b31bc0cecfe7d\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 154,\n \"digest\": \"sha256:67012cca8f31dc3b8ee2305e7762fee20c250513effdedb38a1c37784a5a2e71\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 176,\n \"digest\": \"sha256:3bc892145603fffc9b1c97c94e2985b4cb19ca508750b15845a5d97becbd1a0e\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 183,\n \"digest\": \"sha256:6f1c79518f18251d35977e7e46bfa6c6b9cf50df2a79d4194941d95c54258d18\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 212,\n \"digest\": \"sha256:b7bcfbc2e2888afebede4dd1cd5eebf029bb6315feeaf0b56e425e11a50afe42\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 212,\n \"digest\": \"sha256:2b220f8b0f32b7c2ed8eaafe1c802633bbd94849b9ab73926f0ba46cdae91629\"\n }\n ]\n}" }, "responseElements": { "image": { "repositoryName": "testrepo", "imageManifest": "{\n \"schemaVersion\": 2,\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n \"config\": {\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\n \"size\": 5543,\n \"digest\": \"sha256:000b9b805af1cdb60628898c9f411996301a1c13afd3dbef1d8a16ac6dbf503a\"\n },\n \"layers\": [\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 43252507,\n \"digest\": \"sha256:3b37166ec61459e76e33282dda08f2a9cd698ca7e3d6bc44e6a6e7580cdeff8e\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 846,\n \"digest\": \"sha256:504facff238fde83f1ca8f9f54520b4219c5b8f80be9616ddc52d31448a044bd\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 615,\n \"digest\": \"sha256:ebbcacd28e101968415b0c812b2d2dc60f969e36b0b08c073bf796e12b1bb449\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 850,\n \"digest\": \"sha256:c7fb3351ecad291a88b92b600037e2435c84a347683d540042086fe72c902b8a\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 168,\n \"digest\": \"sha256:2e3debadcbf7e542e2aefbce1b64a358b1931fb403b3e4aeca27cb4d809d56c2\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 37720774,\n \"digest\": \"sha256:f8c9f51ad524d8ae9bf4db69cd3e720ba92373ec265f5c390ffb21bb0c277941\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 30432107,\n \"digest\": \"sha256:813a50b13f61cf1f8d25f19fa96ad3aa5b552896c83e86ce413b48b091d7f01b\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 197,\n \"digest\": \"sha256:7ab043301a6187ea3293d80b30ba06c7bf1a0c3cd4c43d10353b31bc0cecfe7d\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 154,\n \"digest\": \"sha256:67012cca8f31dc3b8ee2305e7762fee20c250513effdedb38a1c37784a5a2e71\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 176,\n \"digest\": \"sha256:3bc892145603fffc9b1c97c94e2985b4cb19ca508750b15845a5d97becbd1a0e\"\n },\n {\n \"mediaType\": \"application/

Versão da API 2015-09-21112

Page 118: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioNoções básicas sobre as entradas de arquivos de log do

vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 183,\n \"digest\": \"sha256:6f1c79518f18251d35977e7e46bfa6c6b9cf50df2a79d4194941d95c54258d18\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 212,\n \"digest\": \"sha256:b7bcfbc2e2888afebede4dd1cd5eebf029bb6315feeaf0b56e425e11a50afe42\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 212,\n \"digest\": \"sha256:2b220f8b0f32b7c2ed8eaafe1c802633bbd94849b9ab73926f0ba46cdae91629\"\n }\n ]\n}", "registryId": "123456789012", "imageId": { "imageDigest": "sha256:98c8b060c21d9adbb6b8c41b916e95e6307102786973ab93a41e8b86d1fc6d3e", "imageTag": "latest" } } }, "requestID": "cf044b7d-5f9d-11e9-9b2a-95983139cc57", "eventID": "2bfd4ee2-2178-4a82-a27d-b12939923f0f", "resources": [{ "ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo", "accountId": "123456789012" }], "eventType": "AwsApiCall", "recipientAccountId": "123456789012"}

Exemplo: Ação de extração de imagem

O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra uma extração de imagem,que usa oBatchGetImageAção .

Note

Ao extrair uma imagem, se você ainda não tiver a imagem localmente, você tambémveráGetDownloadUrlForLayerreferências nos logs do CloudTrail.

{ "eventVersion": "1.04", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name", "arn": "arn:aws:sts::123456789012:user/Mary_Major", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Mary_Major", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2019-04-15T16:42:14Z" } } }, "eventTime": "2019-04-15T17:23:20Z", "eventSource": "ecr.amazonaws.com", "eventName": "BatchGetImage", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "console.amazonaws.com", "requestParameters": { "imageIds": [{ "imageTag": "latest" }], "acceptedMediaTypes": [

Versão da API 2015-09-21113

Page 119: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioNoções básicas sobre as entradas de arquivos de log do

"application/json", "application/vnd.oci.image.manifest.v1+json", "application/vnd.oci.image.index.v1+json", "application/vnd.docker.distribution.manifest.v2+json", "application/vnd.docker.distribution.manifest.list.v2+json", "application/vnd.docker.distribution.manifest.v1+prettyjws" ], "repositoryName": "testrepo", "registryId": "123456789012" }, "responseElements": null, "requestID": "2a1b97ee-5fa3-11e9-a8cd-cd2391aeda93", "eventID": "c84f5880-c2f9-4585-9757-28fa5c1065df", "resources": [{ "ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo", "accountId": "123456789012" }], "eventType": "AwsApiCall", "recipientAccountId": "123456789012"}

Exemplo: Política de ciclo de vida da imagemO exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra quando uma imagemexpirou devido a uma regra de política de ciclo de vida. Esse tipo de evento pode ser localizado filtrandoPolicyExecutionEvent para o campo de nome do evento.

{ "eventVersion": "1.05", "userIdentity": { "accountId": "123456789012", "invokedBy": "AWS Internal" }, "eventTime": "2020-03-12T20:22:12Z", "eventSource": "ecr.amazonaws.com", "eventName": "PolicyExecutionEvent", "awsRegion": "us-west-2", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "eventID": "9354dd7f-9aac-4e9d-956d-12561a4923aa", "readOnly": true, "resources": [ { "ARN": "arn:aws:ecr:us-west-2:123456789012:repository/testrepo", "accountId": "123456789012", "type": "AWS::ECR::Repository" } ], "eventType": "AwsServiceEvent", "recipientAccountId": "123456789012", "serviceEventDetails": { "repositoryName": "testrepo", "lifecycleEventPolicy": { "lifecycleEventRules": [ { "rulePriority": 1, "description": "remove all images > 2", "lifecycleEventSelection": { "tagStatus": "Any", "tagPrefixList": [], "countType": "Image count more than", "countNumber": 2

Versão da API 2015-09-21114

Page 120: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioNoções básicas sobre as entradas de arquivos de log do

}, "action": "expire" } ], "lastEvaluatedAt": 0, "policyVersion": 1, "policyId": "ceb86829-58e7-9498-920c-aa042e33037b" }, "lifecycleEventImageActions": [ { "lifecycleEventImage": { "digest": "sha256:ddba4d27a7ffc3f86dd6c2f92041af252a1f23a8e742c90e6e1297bfa1bc0c45", "tagStatus": "Tagged", "tagList": [ "alpine" ], "pushedAt": 1584042813000 }, "rulePriority": 1 }, { "lifecycleEventImage": { "digest": "sha256:6ab380c5a5acf71c1b6660d645d2cd79cc8ce91b38e0352cbf9561e050427baf", "tagStatus": "Tagged", "tagList": [ "centos" ], "pushedAt": 1584042842000 }, "rulePriority": 1 } ] }}

Versão da API 2015-09-21115

Page 121: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Cotas de serviço do Amazon ECRA tabela a seguir mostra as cotas de serviço padrão do Amazon Elastic Container Registry (Amazon ECR).

Cota de serviço Descrição Valor de cota padrão Ajustável

Repositórios registrados O número máximo derepositórios que vocêpode criar por Região.

10.000 Sim

Imagem por repositório O número máximo deimagens por repositório.

10.000 Sim

A tabela a seguir mostra as cotas de taxa padrão para cada uma das ações de API do Amazon ECRenvolvidas com as ações de envio de imagem e de extração de imagem.

Amazon ECR ação Operação de API Descrição Valor de cotapadrão

Ajustável

Autenticação Taxa desolicitações deGetAuthorizationToken

A taxa desolicitações da APIGetAuthorizationTokenque podem serfeitas por segundo,por região.

500 Sim

Taxa desolicitações deBatchCheckLayerAvailability

A taxa desolicitações da APIBatchCheckLayerAvailabilityque podem serfeitas por segundo,por região.

Quando umaimagem éenviada paraum repositório,cada camadada imagem éconferida paraverificar se foifeito upload delaanteriormente.Se o upload játiver sido feito,a camada daimagem seráignorada.

200 SimEnvio de imagem

Taxa desolicitações deInitiateLayerUpload

A taxa desolicitações da APIInitiateLayerUploadque podem ser

10 Sim

Versão da API 2015-09-21116

Page 122: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Amazon ECR ação Operação de API Descrição Valor de cotapadrão

Ajustável

feitas por segundo,por região.

Quando umaimagem éenviada, a APIInitiateLayerUploadé chamada umavez por camadade imagem daqual ainda nãofoi feito upload.A ação da APIBatchCheckLayerAvailabilityé que determinase foi feito ounão upload deuma camada deimagem.

Taxa desolicitações deCompleteLayerUpload

A taxa desolicitações da APICompleteLayerUploadque podem serfeitas por segundo,por região.

Quando umaimagem éenviada, a APICompleteLayerUploadé chamada umavez por cadanova camadade imagempara verificarse o upload foiconcluído.

10 Sim

Versão da API 2015-09-21117

Page 123: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Amazon ECR ação Operação de API Descrição Valor de cotapadrão

Ajustável

Taxa desolicitações deUploadLayerPart

A taxa desolicitações da APIUploadLayerPartque podem serfeitas por segundo,por região.

Quando umaimagem é enviada,é feito upload decada nova camadada imagem empartes. O tamanhomáximo de cadaparte da camadada imagem podeser de 20.971.520bytes (ou cercade 20 MB). A APIUploadLayerParté chamada umavez por cada novaparte da camadada imagem.

260 Sim

Taxa desolicitações dePutImage

A taxa desolicitações daAPI PutImage quepodem ser feitaspor segundo, porregião.

Quando umaimagem é enviadae é feito uploadde todas asnovas camadasda imagem, aAPI PutImage échamada umavez para criarou atualizar omanifesto daimagem e as tagsassociadas àimagem.

10 Sim

Versão da API 2015-09-21118

Page 124: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Amazon ECR ação Operação de API Descrição Valor de cotapadrão

Ajustável

Taxa desolicitações deBatchGetImage

A taxa desolicitações da APIBatchGetImageque podem serfeitas por segundo,por região.

Quando umaimagem éextraída, a APIBatchGetImageé chamada umavez para recuperaro manifesto daimagem.

2.000Extração deimagem

Taxa desolicitações deGetDownloadUrlForLayer

A taxa desolicitações da APIGetDownloadUrlForLayerque podem serfeitas por segundo,por região.

Quando umaimagem éextraída, a APIGetDownloadUrlForLayeré chamada umavez por camadade imagem queainda não estáarmazenada emcache.

3.000 Sim

A tabela a seguir mostra outras cotas para o Amazon ECR e as imagens de Docker que não podem seralteradas.

Note

As informações da parte da camada mencionadas na tabela a seguir são aplicáveis somente sevocê estiver chamando as ações API do Amazon ECR diretamente para iniciar multipart uploadspara operações de envio de imagens. Essa é uma ação rara. Recomendamos usar a CLI doDocker para extrair, marcar e enviar imagens.

Cota de serviço Descrição Valor da cota Ajustável

Partes da camada O número máximo departes da camada. Issoé aplicável somente sevocê estiver usandoas ações da APIdo Amazon ECRdiretamente para iniciarmultipart uploads para

4.200 Não

Versão da API 2015-09-21119

Page 125: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioComo gerenciar suas cotas de serviço do

Amazon ECR noAWS Management Console

Cota de serviço Descrição Valor da cota Ajustáveloperações de envio deimagem.

Tamanho máximo dacamada

O tamanho máximo(MiB) de uma camada.**

42.000 Não

Tamanho mínimo daparte da camada

O tamanho mínimo(MiB) de uma parte dacamada. Isso é aplicávelsomente se você estiverusando as ações daAPI do Amazon ECRdiretamente para iniciarmultipart uploads paraoperações de envio deimagem.

5 Não

Tamanho máximo daparte da camada

O tamanho máximo(MiB) de uma parte dacamada. Isso é aplicávelsomente se você estiverusando as ações daAPI do Amazon ECRdiretamente para iniciarmultipart uploads paraoperações de envio deimagem.

10 Não

Tags por imagem O número máximo detags por imagem

1.000 Não

Duração da política deciclo de vida

O número máximo decaracteres em umapolítica de ciclo de vida.

30.720 Não

Regras por política deciclo de vida

O número máximo deregras em uma políticade ciclo de vida

50 Não

Taxa de verificações deimagens

O número máximo deverificações de imagenspor imagem, por 24horas.

1 Não

** O tamanho máximo da camada listado aqui é calculado multiplicando o tamanho máximo da parte dacamada (10 MiB) pelo número máximo das partes da camada (4.200).

Como gerenciar suas cotas de serviço do AmazonECR noAWS Management Console

O Amazon ECR se integrou ao Service Quotas, umAWSO serviço da que permite visualizar e gerenciaras cotas de um local central. Para obter mais informações, consulteO que são Service Quotas?noGuia dousuário do Service Quotas.

Versão da API 2015-09-21120

Page 126: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioComo criar um alarme do CloudWatchpara monitorar métricas de uso da API

As Service Quotas facilitam a pesquisa do valor de todas as cotas de serviço do Amazon ECR.

Para visualizar as cotas de serviço do Amazon ECR (AWS Management Console)

1. Abra o console de Service Quotas emhttps://console.aws.amazon.com/servicequotas/.2. No painel de navegação, selecione Serviços da AWS.3. DoAWSServiços doNa lista, procure e selecioneAmazon Elastic Container Registry (Amazon ECR).

Na lista Service quotas (Cotas de serviço) é possível ver o nome da cota de serviço, o valor aplicado(se estiver disponível), a cota da AWS padrão e se o valor da cota é ajustável.

4. Para visualizar informações adicionais sobre uma cota de serviço, como a descrição, escolha o nomeda cota.

Para solicitar um aumento da cota, consulteSolicitar um aumento de cotanoGuia do usuário do ServiceQuotas.

Como criar um alarme do CloudWatch para monitorarmétricas de uso da APIO Amazon ECR fornece métricas de uso do CloudWatch que correspondem aoAWSCotas de serviço paracada uma das APIs envolvidas com as ações de autenticação de registro, envio de imagem e extração deimagem. No console de Service Quotas, é possível visualizar seu uso em um gráfico e configurar alarmesque o alertarão quando o uso se aproximar de uma cota de serviço. Para obter mais informações, consulteMétricas de uso do Amazon ECR (p. 104).

Use as etapas a seguir para criar um alarme do CloudWatch com base em uma das métricas de uso daAPI do Amazon ECR.

Para criar um alarme com base nas cotas de uso do Amazon ECR (AWS Management Console)

1. Abra o console de Service Quotas emhttps://console.aws.amazon.com/servicequotas/.2. No painel de navegação, selecione Serviços da AWS.3. DoAWSServiços doNa lista, procure e selecioneAmazon Elastic Container Registry (Amazon ECR).4. NoCotas de serviçoSelecione a cota de uso do Amazon ECR para a qual você deseja criar um alarme.5. Na seção Amazon CloudWatch Events, selecioneCriar.6. Em Alarm threshold (Limitação do alarme), escolha a porcentagem do valor da cota aplicada que você

deseja definir como o valor do alarme.7. Em Alarm name (Nome do alarme), insira um nome para o alarme e selecione Create (Criar).

Versão da API 2015-09-21121

Page 127: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioComo habilitar a saída de depuração do Docker

Solução de problemas do AmazonECR

Este capítulo ajuda a encontrar informações de diagnóstico para o Amazon Elastic Container Registry(Amazon ECR) e mostra as etapas de solução de problemas e mensagens de erro comuns.

Tópicos• Como habilitar a saída de depuração do Docker (p. 122)• Habilitar o AWS CloudTrail (p. 122)• Otimização do desempenho para o Amazon ECR (p. 122)• Solução de problemas de erros com comandos do Docker ao usar o Amazon ECR (p. 124)• Solução de problemas de mensagens de erro do Amazon EC (p. 126)• Solução de problemas de varredura de imagens (p. 127)

Como habilitar a saída de depuração do DockerPara começar a depurar qualquer problema relacionado ao Docker, você deve começar ativando asaída de depuração do Docker no daemon do Docker em execução nas instâncias do host. Para obtermais informações sobre como ativar a depuração do Docker se você usa imagens extraídas do AmazonECR nas instâncias de contêiner do Amazon ECS, consulteComo habilitar a saída de depuração doDockernoAmazon Elastic Container Service Guia do desenvolvedor.

Habilitar o AWS CloudTrailInformações adicionais sobre erros retornados pelo Amazon ECR podem ser descobertas ativandoAWSCloudTrail, que é um serviço que registraAWSAs chamadas feitas para oAWSconta. O CloudTrail fornecearquivos de log para um bucket do Amazon S3. Ao usar informações coletadas pelo CloudTrail, você podedeterminar quais solicitações foram feitas para oAWSServiços, que fez o pedido, quando ele foi feito, eassim por diante. Para saber mais sobre o CloudTrail, incluindo como ativá-lo e encontrar seus arquivos delog, consulte oAWS CloudTrailGuia do usuário. Para obter mais informações sobre como usar o CloudTrailcom o Amazon ECR, consulteRegistrando ações do Amazon ECR comAWS CloudTrail (p. 107).

Otimização do desempenho para o Amazon ECRA seção a seguir fornece recomendações sobre configurações e estratégias que podem ser usadas paraotimizar o desempenho ao usar o Amazon ECR.

Use o Docker 1.10 e versões posteriores para utilizar os uploads simultâneos da camada

As imagens de Docker são compostas por camadas, que são estágios de compilação intermediáriosda imagem. Cada linha em um Dockerfile resulta na criação de uma nova camada. Quando você usa

Versão da API 2015-09-21122

Page 128: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioOtimização do desempenho para o Amazon ECR

o Docker 1.10 e versões posteriores, o Docker envia por padrão o maior número possível de camadascomo uploads simultâneos ao Amazon ECR, o que resulta em tempos de upload mais rápidos.

Use uma imagem de base menor

As imagens padrão disponíveis por meio do Docker Hub podem conter muitas dependências dasquais seu aplicativo não precisa. Considere o uso de uma imagem menor criada e mantida por outraspessoas da comunidade do Docker ou compile sua própria imagem de base usando a imagemmínima de rascunho do Docker. Para obter mais informações, consulte Criar uma imagem de base nadocumentação do Docker.

Coloque as dependências que mudam menos no início do Dockerfile

O Docker armazena as camadas em cache, o que acelera os tempos de compilação. Se nada tiversido alterado na camada desde a última compilação, o Docker usará a versão armazenada em cache,em vez de compilar a camada novamente. No entanto, cada camada depende das camadas quevieram antes dela. Se uma camada mudar, o Docker a compilará novamente, bem como todas ascamadas que vierem depois dela.

Para minimizar o tempo necessário para compilar um arquivo de Dockerfile e fazer upload dascamadas novamente, considere colocar as dependências que mudam com menos frequência no iníciodo Dockerfile. E, aquelas que mudam rapidamente, (como o código-fonte do seu aplicativo) mais àfrente na pilha.

Encadeie os comandos para evitar o armazenamento desnecessário de arquivos

Os arquivos intermediários criados em uma camada continuarão fazendo parte dela, mesmo quesejam excluídos em uma camada subsequente. Considere o seguinte exemplo:

WORKDIR /tmpRUN wget http://example.com/software.tar.gz RUN wget tar -xvf software.tar.gz RUN mv software/binary /opt/bin/myappRUN rm software.tar.gz

Neste exemplo, as camadas criadas pelo primeiro e pelo segundo comando EXECUTAR contêm oarquivo original .tar.gz e todos os seus conteúdos descompactados. Embora o arquivo .tar.gz sejaexcluído pelo quarto comando EXECUTAR. Esses comandos podem ser encadeados em uma únicainstrução EXECUTAR para garantir que esses arquivos desnecessários não façam parte da imagemde Docker final:

WORKDIR /tmpRUN wget http://example.com/software.tar.gz &&\ wget tar -xvf software.tar.gz &&\ mv software/binary /opt/bin/myapp &&\ rm software.tar.gz

Use o endpoint regional mais próximo

Você pode reduzir a latência ao extrair imagens do Amazon ECR ao usar o endpoint regional maispróximo de onde seu aplicativo está sendo executado. Se seu aplicativo estiver sendo executado emuma instância do Amazon EC2, você poderá usar o seguinte código de shell para obter a região dazona de disponibilidade da instância:

REGION=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone |\ sed -n 's/\(\d*\)[a-zA-Z]*$/\1/p')

A região pode ser transmitida aos comandos da AWS CLI com o parâmetro --region ou definida comoa região padrão de um perfil com o comando aws configure. Você também pode definir a região ao

Versão da API 2015-09-21123

Page 129: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioSolução de problemas de erros com

comandos do Docker ao usar o Amazon ECR

fazer chamadas usando oAWSSDK. Para obter mais informações, consulte a documentação do SDKpara a sua linguagem de programação específica.

Solução de problemas de erros com comandos doDocker ao usar o Amazon ECR

Tópicos• Erro: “Falha na verificação do sistema de arquivos” ou “404: Imagem não encontrada” ao extrair uma

imagem de um repositório do Amazon ECR (p. 124)• Erro: “Falha na verificação da camada do sistema de arquivos” ao extrair imagens do Amazon

ECR (p. 125)• HTTP 403 Erros ou o erro “Não há credenciais de autenticação básica” ao enviar ao

repositório (p. 125)

Em alguns casos, a execução de um comando do Docker no Amazon ECR pode resultar em umamensagem de erro. Algumas mensagens de erro comuns e possíveis soluções são explicadas abaixo.

Erro: “Falha na verificação do sistema de arquivos” ou“404: Imagem não encontrada” ao extrair uma imagemde um repositório do Amazon ECRVocê pode receber o erroFilesystem verification failedAo usar odocker pullpara extrair umaimagem de um repositório do Amazon ECR com o Docker 1.9 ou versões posteriores Ou o erro 404:Image not found ao utilizar versões do Docker anteriores à 1.9.

Alguns motivos possíveis e suas explicações são mostrados abaixo.

O disco local está cheio

Se o disco local no qual você está executandodocker pullestiver cheio, o hash SHA-1 calculado noarquivo local poderá ser diferente do calculado pelo Amazon ECR. Verifique se o disco local temespaço livre suficiente para armazenar a imagem de Docker que você está extraindo. Você tambémpode excluir imagens antigas para dar espaço às novas. Use o comando docker images para veruma lista com todas as imagens de Docker obtidas por download localmente, bem como os tamanhosdelas.

O cliente não consegue se conectar ao repositório remoto devido a um erro de rede

As chamadas feitas para um repositório do Amazon ECR exigem uma conexão à Internet. Verifiquesuas configurações de rede e se outros aplicativos e ferramentas podem acessar recursos na Internet.Se você estiver executando odocker pullEm uma instância do Amazon EC2 em uma sub-rede privada,verifique se a sub-rede tem uma rota para a Internet. Use um servidor de tradução de endereço derede (NAT) ou um gateway NAT gerenciado.

Atualmente, as chamadas feitas para um repositório do Amazon ECR também exigem acesso àrede por meio do seu firewall corporativo ao Amazon Simple Storage Service (Amazon S3). Se suaorganização usa o software de firewall ou um dispositivo NAT que permite endpoints de serviço do,verifique se os endpoints de serviço do Amazon S3 para a sua região atual são permitidos.

Se você usa o Docker atrás de um proxy HTTP, pode configurá-lo com as configurações de proxyapropriadas. Para obter mais informações, consulte proxy HTTP na documentação do Docker.

Versão da API 2015-09-21124

Page 130: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioErro: “Falha na verificação da camada do sistemade arquivos” ao extrair imagens do Amazon ECR

Erro: “Falha na verificação da camada do sistema dearquivos” ao extrair imagens do Amazon ECRVocê pode receber o erro image image-name not found ao extrair imagens com o comando dockerpull. Se você inspecionar os logs do Docker, poderá ver um erro como este:

filesystem layer verification failed for digest sha256:2b96f...

Esse erro indica que uma ou mais das camadas da sua imagem não foram baixadas. Alguns motivospossíveis e suas explicações são mostrados abaixo.

Você está usando uma versão antiga do Docker

Esse erro pode ocorrer em alguns casos, quando uma versão do Docker anterior à 1.10 é usada.Atualize o cliente do Docker para a versão 1.10 ou posterior.

O cliente encontrou um erro de rede ou de disco

Um disco cheio ou um problema de rede pode impedir que uma ou mais camadas sejam baixadas,como já falamos sobre a mensagem Filesystem verification failed. Siga as recomendaçõesacima para que seu sistema de arquivos não fique cheio e para verificar se você habilitou o acesso aoAmazon S3 de dentro da sua rede.

HTTP 403 Erros ou o erro “Não há credenciais deautenticação básica” ao enviar ao repositórioAlgumas vezes, você poderá receber um erro HTTP 403 (Forbidden) ou a mensagem de erro nobasic auth credentials dos comandos docker push ou docker pull, mesmo que tenha feito aautenticação no Docker com o comando aws ecr get-login-password. Veja a seguir algumas causasconhecidas desse problema:

Você fez a autenticação em outra região

As solicitações de autenticação são vinculadas a regiões específicas e não podem ser usadas entreregiões. Por exemplo, se você obtiver um token de autorização do Oeste dos EUA (Oregon), nãopoderá usá-lo para autenticação nos seus repositórios no Leste dos EUA (Norte da Virgínia). Pararesolver o problema, verifique se você recuperou um token de autenticação da mesma região naqual o repositório existe. Para obter mais informações, consulte the section called “A autenticação deregistro privado” (p. 13).

Você realizou uma autenticação para enviar por push para um repositório ao qual não tem permissões

Você não tem as permissões necessárias para realizar o envio por push para o repositório. Para obtermais informações, consulte Políticas de repositório do (p. 24).

Seu token expirou

O período de expiração padrão para tokens de autorização obtidos usando a operaçãoGetAuthorizationToken é de 12 horas.

Erro no gerenciador de credenciaiswincred

Algumas versões do Docker para Windows usam um gerenciador de credenciais chamado wincred,que não gerencia corretamente o comando de login do Docker produzido por aws ecr get-login-password (para obter mais informações, consulte https://github.com/docker/docker/issues/22910).Você pode executar o comando de login do Docker gerado. No entanto, quando você tenta enviar ouextrair imagens, esses comandos falham. Para resolver esse erro, remova o esquema https:// do

Versão da API 2015-09-21125

Page 131: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioSolução de problemas de

mensagens de erro do Amazon EC

argumento de registro no comando de login do Docker gerado a partir de aws ecr get-login-password.Um exemplo de comando de login do Docker sem o esquema HTTPS é mostrado abaixo.

docker login -u AWS -p <password> <aws_account_id>.dkr.ecr.<region>.amazonaws.com

Solução de problemas de mensagens de erro doAmazon EC

Em alguns casos, uma chamada de API que você acionou por meio do console do Amazon ECS oudoAWS CLISai com uma mensagem de erro. Algumas mensagens de erro comuns e possíveis soluçõessão explicadas abaixo.

Erro: “Resposta de erro do daemon: Ponto final deregistro inválido”Você pode encontrar o seguinte erro ao executar oaws ecr get-loginPara obter as credenciais delogin do seu repositório do Amazon ECR:

Error response from daemon: invalid registry endpoint https://xxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/v0/: unable to ping registry endpoint https://xxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/v0/v2 ping attempt failed with error: Get https://xxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/v2/: dial tcp: lookup xxxxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com on 172.20.10.1:53: read udp 172.20.10.1:53: i/o timeout

Esse erro pode ocorrer em sistemas macOS e Windows que executam a caixa de ferramentas doDocker, o Docker para Windows ou o Docker para Mac. Frequentemente, isso é causado quando outrosaplicativos alteram as rotas por meio do gateway local (192.168.0.1) pelo qual a máquina virtual deve fazera chamada para acessar o serviço Amazon ECR. Se o erro ocorrer durante o uso da caixa ferramentasdo Docker, isso poderá ser resolvido com frequência com a reinicialização do ambiente de máquina doDocker ou do sistema operacional local do cliente. Se isso não solucionar o problema, use o comandodocker-machine ssh para entrar em sua instância de contêiner. Realize uma busca do DNS em um hostexterno para verificar se vê os mesmos resultados que aparecem em seu host local. Se os resultadosforem diferentes, consulte a documentação da caixa ferramentas do Docker para verificar se seu ambientede máquina do Docker está configurado corretamente.

HTTP 429: Solicitações em excesso ouThrottleExceptionVocê pode receber um429: Too Many Requestsou um erroThrottleExceptionde um oumais comandos do Amazon ECR ou chamadas de API. Se você usa ferramentas do Docker com oAmazon ECR, para as versões 1.12.0 e posteriores do Docker, você poderá encontrar a mensagem deerroTOOMANYREQUESTS: Rate exceeded. Para versões do Docker abaixo de 1.12.0, você poderá ver oerro Unknown: Rate exceeded.

Isso indica que você está chamando um único endpoint no Amazon ECR repetidamente em um curtointervalo e que suas solicitações estão sendo suspensas. A suspensão ocorre quando as chamadas paraum único endpoint de um único usuário ultrapassam um determinado limite em um período.

Versão da API 2015-09-21126

Page 132: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioHTTP 403: “O usuário [arn] não estáautorizado a realizar a [operação]”

Várias operações de API no Amazon ECR têm suspensões diferentes.

Por exemplo, a suspensão da ação GetAuthorizationToken é de 20 transações por segundo (TPS),com permissão para uma intermitência de até 200 TPS. Em cada região, cada conta recebe um bucketque pode armazenar até 200 créditos GetAuthorizationToken. Esses créditos são reabastecidos auma taxa de 20 por segundo. Se seu bucket tem 200 créditos, você pode alcançar 200 transações de APIGetAuthorizationToken por segundo e sustentar 20 transações por segundo indefinidamente.

Para gerenciar os erros de suspensão, implemente uma função de novas tentativas com backoffadicional no código. Para obter mais informações, consulteRepetições de erro e recuo exponencialnaAWSnoReferência geral do Amazon Web Services.

HTTP 403: “O usuário [arn] não está autorizado arealizar a [operação]”Você pode receber o seguinte erro ao tentar realizar uma ação com o Amazon ECR:

$ aws ecr get-login A client error (AccessDeniedException) occurred when calling the GetAuthorizationToken operation: User: arn:aws:iam::account-number:user/username is not authorized to perform: ecr:GetAuthorizationToken on resource: *

Isso indica que seu usuário não tem permissões concedidas para usar o Amazon ECR ou que essaspermissões não estão configuradas corretamente. Especificamente, se você estiver executando ações emum repositório do Amazon ECR, verifique se o usuário recebeu permissões para acessar esse repositório.Para obter mais informações sobre como criar e verificar permissões para o Amazon ECR, consulteIdentityand Access Management para Amazon Elastic Container Registry (p. 69).

HTTP 404: Erro “O repositório não existe”Se você especificar um repositório do Docker Hub que não existe atualmente, o Docker Hub o criaráautomaticamente. Com o Amazon ECR, novos repositórios devem ser criados explicitamente para quepossam ser usados. Isso impede que novos repositórios sejam criados de maneira acidental (por exemplo,devido a erros de digitação) e também garante que uma política de acesso de segurança apropriada sejaatribuída explicitamente a todos os novos repositórios. Para obter mais informações sobre como criarrepositórios, consulte Repositórios privados do Amazon ECR (p. 21).

Solução de problemas de varredura de imagensVeja a seguir falhas comuns de verificação de imagem. Você pode visualizar erros como esse noconsole do Amazon ECR exibindo os detalhes da imagem ou por meio da API ouAWS CLIAo usaroDescribeImageScanFindingsAPI DA.

UnsupportedImageError

Você pode receber umUnsupportedImageErrorao tentar digitalizar uma imagem que foi criadausando um sistema operacional para o qual o Amazon ECR não oferece suporte à digitalização deimagens. O Amazon ECR oferece suporte à verificação de vulnerabilidade de pacotes para as versõesprincipais de distribuições do Amazon Linux, Amazon Linux 2, Debian, Ubuntu, CentOS, OracleLinux, Alpine e RHEL Linux. Uma vez que uma distribuição perde o suporte de seu fornecedor, oAmazon ECR pode não oferecer mais suporte à verificação de vulnerabilidades. O Amazon ECR nãoé compatível com digitalização de imagens criadas a partir doArranhão do Dockerimagem.

Versão da API 2015-09-21127

Page 133: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuárioSolução de problemas de varredura de imagens

Um nível de severidade UNDEFINED é retornado

Você poderá receber uma descoberta de verificação que tenha um nível de severidade UNDEFINED.As causas comuns para isso são as seguintes:• A origem do CVE não atribuiu uma prioridade à vulnerabilidade.• A vulnerabilidade recebeu uma prioridade que o Amazon ECR não reconhecia.

Para determinar a gravidade e a descrição de uma vulnerabilidade, você pode exibir o CVEdiretamente da origem.

Versão da API 2015-09-21128

Page 134: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Histórico do documentoA tabela a seguir descreve as alterações importantes na documentação desde a última versão do AmazonECR. Também atualizamos a documentação com frequência para abordar os comentários enviados porvocê.

Alteração Descrição Data

AWSPolíticas gerenciadaspara o Amazon ECR

O Amazon ECR adicionou documentação deAWSPolíticasgerenciadas do. Para obter mais informações, consulteAWSpolíticas gerenciadas pelo Amazon Elastic ContainerRegist (p. 77).

24 de junhode 2021

Replicação entre regiões eentre contas

O Amazon ECR adicionou suporte para configurarconfigurações de replicação para seu registro privado.Para obter mais informações, consulte Configurações doregistro privado (p. 15).

8 dedezembro de2020

Suporte a artefatos de OCI O Amazon ECR adicionou suporte para envio e extraçãode artefatos da Open Container Initiative (OCI). Umnovo parâmetroartifactMediaTypefoi adicionadoaoDescribeImagesResposta da API para indicar o tipode artefato.

Para obter mais informações, consulte Empurrar umgráfico de leme (p. 36).

24 de agostode 2020

Criptografia em repouso O Amazon ECR adicionou suporte para configurar acriptografia para seus repositórios usando criptografiano lado do servidor com chaves gerenciadas pelo clientearmazenadas noAWS Key Management Service(AWSKMS).

Para obter mais informações, consulte Criptografia emrepouso (p. 90).

29 de julhode 2020

Imagens multiarquitetura O Amazon ECR adicionou suporte à criação e ao enviode listas de manifestos do Docker usadas para imagensmultiarquitetura.

Para obter mais informações, consulte Enviar uma imagemmultiarquitetura (p. 35).

28 de abrilde 2020

Métricas de uso do AmazonECR

O Amazon ECR adicionou métricas de uso do CloudWatcho que fornece visibilidade quanto ao uso de recursos daconta. Você também tem a capacidade de criar alarmesdo CloudWatch do usando os consoles do CloudWatche do Service Quotas para obter alertas quando o uso seaproximar da cota de serviço aplicada.

Para obter mais informações, consulte Métricas de uso doAmazon ECR (p. 104).

28 defevereiro de2020

Cotas de serviço doAmazon ECR atualizadas

Atualização das cotas de serviço do Amazon ECR paraincluir cotas por API.

19 defevereiro de2020

Versão da API 2015-09-21129

Page 135: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Alteração Descrição DataPara obter mais informações, consulte Cotas de serviço doAmazon ECR (p. 116).

Adição do comando get-login-password

Adição de suporte para get-login-password, que ofereceum método simples e seguro para recuperar um token deautorização.

Para obter mais informações, consulte Usar um token deautorização (p. 14).

4 defevereiro de2020

Verificação de imagens Adição de suporte à verificação de imagens, o que ajudana identificação de vulnerabilidades de software em suasimagens de contêiner. O Amazon ECR usa o banco dedados de vulnerabilidades e exposições comuns (CVEs)do projeto CoreOS Clair de código aberto e fornece umalista de descobertas da verificação.

Para obter mais informações, consulte Verificação deimagens (p. 59).

24 deoutubro de2019

Política de VPC endpoint Adição de suporte à configuração de uma política do IAMnos VPC endpoints de interface do Amazon ECR.

Para obter mais informações, consulte Criar umapolítica de endpoint para os endpoints do Amazon ECRVPC (p. 100).

26 desetembro de2019

Mutabilidade de tag deimagem

Adição de suporte à configuração de um repositório paraser imutável a fim de impedir que as tags de imagemsejam substituídas.

Para obter mais informações, consulte Mutabilidade de tagde imagem (p. 58).

25 de julhode 2019

VPC endpoints de interface(AWS PrivateLink)

Adição de suporte à configuração de VPC endpoints deinterface desenvolvidos peloAWSPrivateLink. Isso permitecriar uma conexão privada entre sua VPC e o AmazonECR sem exigir acesso pela Internet por meio de umainstância NAT, de uma conexão VPN ou doAWS DirectConnect.

Para obter mais informações, consulte Amazon ECR VPCendpoints de interface (AWSPrivateLink) (p. 96).

25 de janeirode 2019

Marcação de recursos O Amazon ECR adicionou suporte à adição de tags demetadados aos seus repositórios.

Para obter mais informações, consulte Marcar umrepositório do Amazon ECR (p. 30).

18 dedezembro de2018

Alteração de nome doAmazon ECR

Amazon Elastic Container Registry foi renomeado(anteriormente: Amazon EC2 Container Registry)

21 denovembro de2017

Versão da API 2015-09-21130

Page 136: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

Alteração Descrição Data

Políticas de ciclo de vida As políticas de ciclo de vida do Amazon ECR permitemque você especifique o gerenciamento do ciclo de vida dasimagens em um repositório.

Para obter mais informações, consulte Políticas de ciclo devida (p. 46).

11 deoutubro de2017

Suporte a Amazon ECRpara imagem de dockermanifesto 2, esquema 2

O Amazon ECR agora oferece suporte a esquema 2 demanifesto V2 de imagem de docker (usado com o Dockerversão 1.10 e posteriores).

Para obter mais informações, consulte Formatos demanifesto de imagem de contêiner (p. 63).

27 de janeirode 2017

Disponibilidade geral doAmazon ECR

O Amazon Elastic Container Registry (Amazon ECR)é um gerenciado doAWSServiço de registro seguro,dimensionável e confiável do Docker do.

21 dedezembro de2015

Versão da API 2015-09-21131

Page 137: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

AWSGlossárioPara a mais recenteAWSterminologia, consulte aAWSGlossárionoAWSReferência geral.

Versão da API 2015-09-21132

Page 138: Amazon ECR - Guia do usuárioParte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de verificação usando o teclado do telefone. Anote o

Amazon ECR Guia do usuário

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e daversão original em inglês, a versão em inglês prevalecerá.

Versão da API 2015-09-21cxxxiii