Monitore ECR os repositórios da Amazon para obter permissões curinga usando AWS CloudFormation e Config AWS - Recomendações da AWS

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

Monitore ECR os repositórios da Amazon para obter permissões curinga usando AWS CloudFormation e Config AWS

Criado por Vikrant Telkar (AWS), Sajid Momin () e Wassim Benhallam (AWS) AWS

Ambiente: produção

Tecnologias: DevOps; Contêineres e microsserviços

AWSserviços: AWS CloudFormation; AWS Config; Amazon; ECR AmazonSNS; Lambda AWS

Resumo

Na nuvem Amazon Web Services (AWS), o Amazon Elastic Container Registry (AmazonECR) é um serviço gerenciado de registro de imagens de contêineres que oferece suporte a repositórios privados com permissões baseadas em recursos usando AWS Identity and Access Management (). IAM

IAMsuporta o caractere curinga “*” nos atributos de recurso e ação, o que facilita a escolha automática de vários itens correspondentes. Em seu ambiente de teste, você pode permitir que todos os AWS usuários autenticados acessem um ECR repositório da Amazon usando a permissão ecr:* curinga em um elemento principal da declaração de política do seu repositório. A permissão curinga ecr:* pode ser útil ao desenvolver e testar em contas de desenvolvimento que não conseguem acessar seus dados de produção.

No entanto, você deve garantir que a permissão curinga ecr:* não seja usada em seus ambientes de produção, pois ela pode causar sérias vulnerabilidades de segurança. A abordagem desse padrão ajuda você a identificar ECR repositórios da Amazon que contêm a permissão ecr:* curinga nas declarações de política do repositório.   O padrão fornece etapas e um AWS CloudFormation modelo para criar uma regra personalizada no AWS Config. Em seguida, uma função AWS Lambda monitora suas declarações de política de ECR repositório da Amazon em busca ecr:* de permissões curinga. Se encontrar declarações de política de repositório não compatíveis, o Lambda notifica o AWS Config para enviar um evento para a Amazon EventBridge e, em EventBridge seguida, inicia um tópico do Amazon Simple Notification Service (Amazon). SNS O SNS tópico notifica você por e-mail sobre as declarações de política de repositório não compatíveis.

Pré-requisitos e limitações

Pré-requisitos

 

Limitações

  • A solução desse padrão é regional e seus recursos devem ser criados na mesma região. 

Arquitetura

O diagrama a seguir mostra como o AWS Config avalia as declarações de política de repositórios ECR da Amazon. 

Nuvem AWS architecture diagram showing interaction between services for event processing and notification.

O diagrama mostra o seguinte fluxo de trabalho:

  1. AWSConfig inicia uma regra personalizada. 

  2. A regra personalizada invoca uma função Lambda para avaliar a conformidade das declarações de política do repositório da AmazonECR. A função do Lambda então identifica declarações de política de repositório não compatíveis.

  3. A função Lambda envia o status de não conformidade para o Config. AWS

  4. AWSConfig envia um evento para. EventBridge

  5. EventBridge publica as notificações de não conformidade em um SNS tópico.

  6. SNSA Amazon envia um alerta por e-mail para você ou para um usuário autorizado.

Automação e escala

A solução desse padrão pode monitorar qualquer número de declarações de política de ECR repositórios da Amazon, mas todos os recursos que você deseja avaliar devem ser criados na mesma região.

Ferramentas

  • AWS CloudFormation— AWS CloudFormation ajuda você a modelar e configurar seus AWS recursos, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida. Você pode usar um modelo para descrever seus recursos e as dependências deles, além de inicializá-los e configurá-los juntos como uma pilha, em vez de gerenciar recursos individualmente. Você pode gerenciar e provisionar pilhas em várias AWS contas e AWS regiões.

  • AWSConfig — O AWS Config fornece uma visão detalhada da configuração dos AWS recursos em sua conta. AWS Isso inclui como os recursos estão relacionados um com o outro e como eles foram configurados no passado, de modo que você possa ver como os relacionamentos e as configurações foram alterados ao longo do tempo.

  • Amazon ECR O Amazon Elastic Container Registry (AmazonECR) é um serviço AWS gerenciado de registro de imagens de contêineres que é seguro, escalável e confiável. A Amazon ECR oferece suporte a repositórios privados com permissões baseadas em recursos usando. IAM                                 

  • Amazon EventBridge — EventBridge A Amazon é um serviço de ônibus de eventos sem servidor que você pode usar para conectar seus aplicativos a dados de várias fontes. EventBridge fornece um fluxo de dados em tempo real de seus aplicativos, aplicativos de software como serviço (SaaS) e AWS serviços para alvos como funções AWS Lambda, endpoints de HTTP invocação usando API destinos ou barramentos de eventos em outras contas.

  • AWSLambda — O AWS Lambda é um serviço de computação que oferece suporte à execução de código sem provisionar ou gerenciar servidores. O Lambda executa o código somente quando necessário e dimensiona automaticamente, desde algumas solicitações por dia até milhares por segundo. Você paga apenas pelo tempo de computação consumido. Não haverá cobranças quando o código não estiver em execução.

  • Amazon SNS — O Amazon Simple Notification Service (AmazonSNS) coordena e gerencia a entrega ou o envio de mensagens entre editores e clientes, incluindo servidores web e endereços de e-mail. Os assinantes recebem todas as mensagens publicadas nos tópicos para os quais eles se inscrevem, e todos os assinantes em um tópico recebem as mesmas mensagens. 

Código

O código desse padrão está disponível no arquivo aws-config-cloudformation.template (anexado).

Épicos

TarefaDescriçãoHabilidades necessárias
Crie a AWS CloudFormation pilha.

Crie uma AWS CloudFormation pilha executando o seguinte comando em AWSCLI:

$ aws cloudformation create-stack --stack-name=AWSConfigECR \ --template-body file://aws-config-cloudformation.template \ --parameters ParameterKey=<email>,ParameterValue=<myemail@example.com> \ --capabilities CAPABILITY_NAMED_IAM
AWS DevOps
TarefaDescriçãoHabilidades necessárias
Teste a AWS regra personalizada Config.
  1. Faça login no AWS Management Console, abra o AWS Config console e escolha Resources.

  2. Na página Inventário de recursos, você pode filtrar por categoria de recurso, tipo de recurso e status de conformidade.

  3. Um ECR repositório da Amazon que contém ecr:* is NON-COMPLIANT? e um ECR repositório da Amazon que não contém ecr:* is. COMPLIANT

  4. O endereço de e-mail inscrito no SNS tópico recebe notificações se um ECR repositório da Amazon contiver declarações de política não compatíveis.

AWS DevOps

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip