Gere um CloudFormation modelo da AWS contendo regras gerenciadas do AWS Config usando o Troposphere - 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á.

Gere um CloudFormation modelo da AWS contendo regras gerenciadas do AWS Config usando o Troposphere

Criado por Lucas Nation (AWS) e Freddie Wilson (AWS)

Ambiente: produção

Tecnologias: DevOps; Gestão e governança; Segurança, identidade, conformidade

Workload: Microsoft; código aberto

Serviços da AWS: AWS Config; AWS CloudFormation

Resumo

Muitas organizações usam regras gerenciadas do AWS Config para avaliar a conformidade de seus recursos da Amazon Web Services (AWS) em relação às melhores práticas em geral. No entanto, a manutenção dessas regras pode ser demorada e esse padrão ajuda você a aproveitar a Troposphere, uma biblioteca Python, para gerar e gerenciar regras gerenciadas do AWS Config.

O padrão ajuda você a gerenciar suas regras gerenciadas do AWS Config usando um script Python para converter uma planilha do Microsoft Excel contendo regras gerenciadas da AWS em um modelo da AWS. CloudFormation O Troposphere atua como infraestrutura como código (IaC) e isso significa que você pode atualizar a planilha do Excel com regras gerenciadas, em vez de usar um arquivo no formato JSON ou YAML. Em seguida, você usa o modelo para iniciar uma CloudFormation pilha da AWS que cria e atualiza as regras gerenciadas na sua conta da AWS.

O CloudFormation modelo da AWS define cada regra gerenciada do AWS Config usando a planilha do Excel e ajuda você a evitar a criação manual de regras individuais no AWS Management Console. O script padroniza os parâmetros de cada regra gerenciada para um dicionário vazio e os ComplianceResourceTypes padrões do escopo são de. THE_RULE_IDENTIFIER.template file Para obter mais informações sobre o identificador da regra, consulte Criação de regras gerenciadas do AWS Config com CloudFormation modelos da AWS na documentação do AWS Config.

Pré-requisitos e limitações

Pré-requisitos

Épicos

TarefaDescriçãoHabilidades necessárias
Atualize o exemplo da planilha do Excel.

Faça o download do exemplo da planilha excel_config_rules.xlsx do Excel (anexada) e identifique como as regras gerenciadas Implemented do AWS Config que você deseja usar. 

As regras marcadas como Implemented serão adicionadas ao CloudFormation modelo da AWS.

Desenvolvedor
(Opcional) Atualize o arquivo config_rules_params.json com os parâmetros de regra do AWS Config.

Algumas regras gerenciadas do AWS Config exigem parâmetros e devem ser passadas para o script Python como um arquivo JSON usando a opção --param-file. Por exemplo, a regra access-keys-rotated gerenciada usa o seguinte parâmetro maxAccessKeyAge:

{ "access-keys-rotated": { "InputParameters": { "maxAccessKeyAge": 90 } } }

Neste parâmetro de exemplo, o maxAccessKeyAge é definido para 90 dias. O script lê o arquivo de parâmetros e adiciona qualquer InputParameters encontrado.

Desenvolvedor
(Opcional) Atualize o arquivo config_rules_params.json com o AWS Config. ComplianceResourceTypes

Por padrão, o script Python recupera ComplianceResourceTypes a partir dos modelos definidos pela AWS. Se você quiser substituir o escopo de uma regra gerenciada específica do AWS Config, precisará passá-la para o script Python como um arquivo JSON usando a opção --param-file.

Por exemplo, o código de exemplo a seguir mostra como o ComplianceResourceTypes para ec2-volume-inuse-check é definido na lista ["AWS::EC2::Volume"]:

{ "ec2-volume-inuse-check": { "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Volume" ] } } }
Desenvolvedor
TarefaDescriçãoHabilidades necessárias
Instale os pacotes pip do arquivo requirements.txt.

Baixe o arquivo requirements.txt (anexado) e execute o seguinte comando em seu IDE para instalar os pacotes Python:

pip3 install -r requirements.txt

Desenvolvedor
Execute o script do Python.
  1. Faça download do aws_config_rules.py arquivo (anexado) na sua máquina local.

  2. Execute o comando - python3 aws_config_rules.py --ou <OU_NAME>. Observação: --ou define qual coluna OU escolher na planilha do Excel.

Você também pode adicionar os seguintes parâmetros opcionais:

  • --config-rule-option:  define as regras para escolher na planilha do Excel. O padrão é o parâmetro Implemented.

  • --excel-file:  o caminho para a planilha do Excel. O padrão é aws_config_rules.xlsx.

  • --param-file:  o caminho do arquivo JSON do parâmetro. O padrão é config_rules_params.json.

  • --max-execution-frequency:  define com que frequência as regras gerenciadas do AWS Config são avaliadas. As opções são One_Hour, Three_Hours, Six_Hours, Twelve_Hours, ou TwentyFour_Hours. O padrão é TwentyFour_Hours.

Desenvolvedor
TarefaDescriçãoHabilidades necessárias
Inicie o AWS CloudFormation stack.
  1. Faça login no AWS Management Console, abra o CloudFormation console da AWS e escolha Create stack.

  2. Na página Especificar modelo, escolha Carregar um arquivo de modelo e, em seguida, carregue seu CloudFormation modelo da AWS. 

  3. Especifique o nome da pilha e escolha Próximo.

  4. Especifique as tags e escolha Avançar.

  5. Selecione Criar pilha.

Desenvolvedor

Anexos

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