Assinatura gerenciada - 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á.

Assinatura gerenciada

A assinatura gerenciada do Amazon ECR assina automaticamente suas imagens de contêiner gerando assinaturas criptográficas usando o AWS Signer quando as imagens são enviadas para o Amazon ECR. Isso elimina a necessidade de instalar e configurar ferramentas do lado do cliente e permite que você controle centralmente a assinatura como uma configuração de registro.

Pré-requisitos

Para configurar a assinatura gerenciada, você cria uma configuração de assinatura com o Amazon ECR que faz referência a um ou mais perfis de assinatura de signatários e, opcionalmente, filtros de repositório que restringem quais repositórios devem ter suas imagens assinadas. Depois de configurada, a assinatura gerenciada do Amazon ECR assina automaticamente as imagens à medida que elas são enviadas usando a identidade da entidade que está enviando a imagem.

Antes de configurar a assinatura gerenciada, você deve ter o seguinte:

  • Um perfil de assinatura de signatário — Crie pelo menos um perfil de assinatura de signatário. Um perfil de assinatura é um recurso exclusivo do AWS signatário que você pode usar para realizar operações de assinatura no Amazon ECR. Os perfis de assinatura permitem que você assine e verifique artefatos de código, como imagens de contêineres e pacotes de AWS Lambda implantação. Cada perfil de assinatura designa a plataforma de assinatura a ser assinada, um ID da plataforma e outras informações específicas da plataforma. Por exemplo, um ARN de perfil de assinatura se parece com isso:. arn:partition:signer:region:account-id:/signing-profiles/profile-name

  • Permissões do IAM — O diretor do IAM que envia a imagem deve ter as permissões do IAM necessárias para acessar o perfil de assinatura relevante do Signer e o repositório ECR relevante. Você precisa modificar a política baseada em identidade do IAM principal para incluir permissões tanto para as operações do repositório ECR quanto para as operações de assinatura do Signer. O exemplo de política a seguir mostra as permissões necessárias:

{ "Version": "2012-10-17", "Statement": [ { "Sid":"UploadSignaturePermissions", "Effect":"Allow", "Action":[ "ecr:CompleteLayerUpload", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:PutImage" ], "Resource":"arn:aws:ecr:region:account-id:repository/repository-name" }, { "Sid": "SignPermissions", "Effect": "Allow", "Action": [ "signer:SignPayload" ], "Resource": "arn:aws:signer:region:account-id:/signing-profiles/signing-profile-name" } ] }

Com a assinatura gerenciada do Amazon ECR, você pode criar várias regras de assinatura (até 10 por registro) para criar limites de segurança mais fortes. Por exemplo, você pode executar vários pipelines de compilação e querer limitar quais repositórios cada pipeline pode assinar. Em cada regra, você configura um perfil de assinatura e especifica filtros de nome de repositório. Quando uma nova imagem é enviada, o Amazon ECR corresponde à regra de assinatura e ao perfil de assinatura que podem assinar a imagem. Se houver várias correspondências, o Amazon ECR gera várias assinaturas.

nota

Se você verificar as assinaturas manualmente, ainda precisará instalar a CLI do Notation.

nota

A assinatura gerenciada do Amazon ECR está disponível em todas as AWS regiões onde a assinatura de imagens de contêineres com o AWS Signer está disponível.

Introdução

Siga estas etapas para configurar a assinatura gerenciada. Você fornece ao Amazon ECR uma referência a um perfil de assinatura do signatário e, opcionalmente, filtros que restringem quais repositórios devem ter suas imagens assinadas.

Console de gerenciamento da AWS

Use as etapas a seguir para configurar a assinatura gerenciada usando Console de gerenciamento da AWS o.

  1. Abra o console do Amazon ECR. No painel de navegação esquerdo, selecione Registro privado, Recursos e configurações, Assinatura gerenciada.

  2. Na página Regras de assinatura, selecione Criar regra.

  3. Na página Perfil de assinatura, em Selecionar um perfil de AWS signatário, escolha Criar novo perfil de AWS signatário, insira um nome de perfil e, opcionalmente, altere o período de validade da assinatura. Depois, selecione Próximo.

  4. Na página Filtros, em Selecionar repositórios, insira um filtro de nome de repositório. Depois, selecione Próximo.

  5. Na página Revisar e criar, verifique o perfil do AWS signatário e os filtros de nome do repositório que você inseriu. Se tudo estiver correto, selecione Salvar.

AWS CLI

Use os AWS CLI comandos a seguir para configurar a assinatura gerenciada.

  • Crie uma regra de assinatura

    Crie uma configuração de assinatura com o ARN do seu perfil de assinatura. Crie um arquivo JSON com o seguinte conteúdo:

    { "rules": [ { "signingProfileArn": "arn:aws:signer:region:account-id:/signing-profiles/profile-name", "repositoryFilters": [ { "filter": "test*", "filterType": "WILDCARD_MATCH" } ] } ] }

    Em seguida, execute o seguinte comando:

    aws ecr --region region \ put-signing-configuration \ --signing-configuration file://signing-config.json

    Você deve ver a resposta da API contendo a configuração de assinatura.

  • Veja sua configuração de assinatura

    Recupere sua configuração de assinatura:

    aws ecr --region region \ get-signing-configuration

    Você deve ver a resposta da API contendo a configuração de assinatura.

  • Verifique o status de assinatura da imagem

    Envie uma imagem para o seu repositório. Por exemplo:

    docker pull ubuntu IMAGE_NAME="account-id.dkr.ecr.region.amazonaws.com/repository-name" IMAGE_TAG="${IMAGE_NAME}:test-1" docker tag ubuntu $IMAGE_TAG docker push $IMAGE_TAG

    Depois de pressionar, use sua tag de imagem para verificar o status da assinatura:

    aws ecr --region region \ describe-image-signing-status \ --repository-name repository-name \ --image-id imageTag=test-1

    Se o nome do repositório corresponder ao filtro do repositório definido na configuração de assinatura, você deverá ver o status da assinatura na resposta da API. Se o status for bem-sucedido, você deverá ver uma assinatura enviada ao seu repositório.

  • Exclua sua configuração de assinatura

    Exclua sua configuração de assinatura:

    aws ecr --region region \ delete-signing-configuration

    Você deve ver a resposta da API contendo a configuração de assinatura excluída.

Considerações

As seguintes limitações e recursos se aplicam à assinatura gerenciada:

  • A assinatura entre regiões não é suportada — os perfis de assinatura devem estar na mesma região do seu registro do Amazon ECR. Você não pode usar um perfil de assinatura de uma região para assinar imagens em um registro localizado em uma região diferente.

  • A assinatura entre contas é suportada — Os perfis de assinatura podem estar em contas diferentes das do seu registro do Amazon ECR. Isso permite que as organizações gerenciem centralmente os perfis de assinatura e, ao mesmo tempo, permite que desenvolvedores de outras contas os usem. Para obter mais informações, consulte Configurar a assinatura entre contas para o Signer no Guia do AWS Signer desenvolvedor.

  • As assinaturas não podem ser assinadas — Você não pode assinar as assinaturas por si só. Somente imagens de contêiner podem ser assinadas.