Assinar uma imagem armazenada em um repositório privado do Amazon ECR - Amazon ECR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Assinar uma imagem armazenada em um repositório privado do Amazon ECR

O Amazon ECR se integra AWS Signer para fornecer uma maneira de você assinar suas imagens de contêiner. Você pode armazenar as imagens do contêiner e as assinaturas em seus repositórios privados.

Considerações

As seguintes informações devem ser consideradas ao usar a assinatura de imagens do Amazon ECR.

  • As assinaturas armazenadas em seu repositório contam para a cota do serviço do número máximo de imagens por repositório. Para obter mais informações, consulte Cotas de serviço do Amazon ECR.

  • Quando artefatos de referência estão presentes em um repositório, as políticas de ciclo de vida do Amazon ECR limparão automaticamente esses artefatos em até 24 horas após a exclusão da imagem em questão.

Pré-requisitos

Antes de começar, certifique-se de que os seguintes pré-requisitos sejam atendidos.

Configurar autenticação para o cliente do Notary

Antes de criar uma assinatura usando a CLI do Notation, você deve configurar o cliente para que ele possa realizar autenticação no Amazon ECR. Se o Docker estiver instalado no mesmo host em que você instalou o cliente do Notation, o Notation reutilizará o mesmo método de autenticação usado para o cliente do Docker. Os comandos login e logout permitirão que os comandos sign e verify do Notation usem essas mesmas credenciais, e você não precisará autenticar o Notation separadamente. Para obter mais informações sobre como configurar o cliente do Notation para autenticação, consulte Authenticate with OCI-compliant registries na documentação do projeto Notary.

Se você não estiver usando o Docker ou outra ferramenta que use as credenciais do Docker, recomendamos que use o auxiliar de credenciais do Docker doo Amazon ECR como repositório de credenciais. Para obter mais informações sobre como instalar e configurar o auxiliar de credenciais do Amazon ECR, consulte Amazon ECR Docker Credential Helper.

Assinar uma imagem

As etapas a seguir podem ser usadas para criar os recursos necessários para assinar uma imagem de contêiner e armazenar a assinatura em um repositório privado do Amazon ECR. O Notation assina imagens usando o resumo.

Para assinar uma imagem
  1. Crie um perfil de AWS Signer assinatura usando a plataforma de Notation-OCI-SHA384-ECDSA assinatura. Você também pode especificar um período de validade de assinatura usando o parâmetro --signature-validity-period. Esse valor pode ser especificado usando DAYS, MONTHS ou YEARS. Se nenhum período de validade for especificado, será usado o valor padrão de 135 meses.

    aws signer put-signing-profile --profile-name ecr_signing_profile --platform-id Notation-OCI-SHA384-ECDSA
    nota

    O nome do perfil de assinatura só aceita caracteres alfanuméricos e  sublinhado (_).

  2. Autentique o cliente do Notation em seu registro padrão. O exemplo a seguir usa o AWS CLI para autenticar o Notation CLI em um registro privado do Amazon ECR.

    aws ecr get-login-password --region region | notation login --username AWS --password-stdin 111122223333.dkr.ecr.region.amazonaws.com
  3. Use o Notation CLI para assinar a imagem, especificando a imagem usando o nome do repositório e o resumo SHA. Isso cria a assinatura e a envia para o mesmo repositório privado do Amazon ECR onde está a imagem que está sendo assinada.

    No exemplo a seguir, assinaremos uma imagem no repositório curl usando o resumo SHA sha256:ca78e5f730f9a789ef8c63bb55275ac12dfb9e8099e6EXAMPLE.

    notation sign 111122223333.dkr.ecr.region.amazonaws.com/curl@sha256:ca78e5f730f9a789ef8c63bb55275ac12dfb9e8099e6EXAMPLE --plugin "com.amazonaws.signer.notation.plugin" --id "arn:aws:signer:region:111122223333:/signing-profiles/ecrSigningProfileName"

Próximas etapas

Depois de assinar a imagem do contêiner, você pode verificar a assinatura localmente. Para obter instruções sobre como verificar uma imagem, consulte Verify an image locally after signing no Guia do desenvolvedor do AWS Signer .