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.
-
Instale e configure a versão mais recente do AWS CLI. Para obter mais informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI no Guia do usuário do AWS Command Line Interface .
-
Instale a CLI do Notation e o plug-in para AWS Signer o Notation. Para obter mais informações, consulte Pré-requisitos para assinar imagens de contêiner no Guia do desenvolvedor do AWS Signer .
-
Tenha uma imagem de contêiner armazenada em um repositório privado do Amazon ECR para assinar. Para obter mais informações, consulte Enviar por push uma imagem para um repositório privado do Amazon ECR.
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
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
-
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 usandoDAYS
,MONTHS
ouYEARS
. 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-ECDSAnota
O nome do perfil de assinatura só aceita caracteres alfanuméricos e sublinhado (
_
). -
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-stdin111122223333
.dkr.ecr.region
.amazonaws.com -
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 SHAsha256: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 .