Adicionar regras do AWS Config - AWS Config

Adicionar regras do AWS Config

Você pode usar o console do AWS Config ou os SDKs da AWS para adicionar regras.

Adição de regras (console)

A página Regras mostra as regras e os resultados atuais de conformidade na tabela. O resultado para cada regra é Em avaliação até que o AWS Config termine a avaliação dos recursos em relação à regra. Você pode atualizar os resultados com o botão de atualizar. Quando o AWS Config termina as avaliações, você pode ver as regras e tipos de recursos que são compatíveis ou não compatíveis. Para obter mais informações, consulte Visualizar informações de conformidade e resultados de avaliação de seus recursos da AWS com o AWS Config.

nota

Quando você adiciona uma nova regra, o AWS Config avalia os recursos aplicáveis em seu inventário de recursos, inclusive os recursos registrados anteriormente. Por exemplo, se você registrou recursos AWS::IoT::Policy, mas depois os excluiu do registro, o AWS Config reterá os itens de configuração (CIs) iniciais em seu inventário. Embora o AWS Config não atualize mais esses CIs quando os tipos de recurso correspondentes são excluídos do registro, ele retém o último estado registrado e os avalia quando você adiciona regras aplicáveis.

O AWS Config não avalia recursos que não estão no inventário de recursos. Por exemplo, se você adicionar a regra amplify-branch-tagged, mas não registrar e nunca registrar recursos AWS::Amplify::Branch, o AWS Config não poderá avaliar se as ramificações do AWS Amplify em sua conta são compatíveis ou não.

Para obter mais informações, consulte Gravar recursos da AWS com o AWS Config.

Para adicionar uma regra
  1. Faça login no Console de gerenciamento da AWS e abra o console do AWS Config em https://console.aws.amazon.com/config/home.

  2. No menu do Console de gerenciamento da AWS, verifique se o seletor de região está definido para uma região que tem suporte a regras do AWS Config. Para obter a lista das regiões compatíveis, consulte Regiões e endpoints do AWS Config no Referência geral da Amazon Web Services.

  3. Na barra de navegação à esquerda, selecione Rules (Regras).

  4. Na página Rules (Regras), selecione Add rule (Adicionar regra).

  5. Na página Especificar tipo de regra, especifique o tipo de regra concluindo as seguintes etapas:

    1. Digitar no campo de pesquisa para filtrar a lista de regras gerenciadas por nome, descrição e rótulo da regra. Por exemplo, digite EC2 para retornar regras que avaliam tipos de recursos do EC2, ou digite periodic (periódico) para retornar regras que possuam gatilho periódico.

    2. Você também pode criar sua própria regra. Escolha Criar regra personalizada usando Lambda ou Criar regra personalizada usando o Guard e siga o procedimento em Criação de regras do Lambda do AWS Config ou Criação de regras de política personalizadas do AWS Config.

  6. Na página Configurar regra, configure a regra através das seguintes etapas:

    1. Para Name (Nome), digite um nome exclusivo para a regra.

    2. Em Descrição, digite uma descrição para a regra.

    3. No Modo de avaliação, escolha quando, no processo de criação e gerenciamento de recursos, você quer que AWS Config avalie seus recursos. Dependendo da regra, o AWS Config pode avaliar suas configurações de recursos antes de um recurso ser implantado, depois de um recurso ter sido implantado ou ambos.

      1. Escolha Ativar a avaliação proativa para permitir que você execute avaliações nas configurações de seus recursos antes de serem implantados.

        Depois de ativar a avaliação proativa, você pode usar a API StartResourceEvaluation e a API GetResourceEvaluationSummary para verificar se os recursos especificados nesses comandos seriam marcados como NON_COMPLIANT pelas regras proativas da sua conta na sua região.

        Para obter mais informações sobre como usar esses comandos, consulte Como avaliar seus recursos com regras do AWS Config. Para obter uma lista de regras gerenciadas que oferecem suporte à avaliação proativa, consulte Lista de regras gerenciadas do AWS Config por modo de avaliação.

      2. Escolha Ativar a avaliação de detecção para avaliar as definições de configuração de seus recursos existentes.

        Para avaliação de detecção, existem dois tipos de gatilhos: Quando a configuração muda e Periódico.

        1. Se os tipos de gatilhos de sua regra incluem Alterações da configuração, especifique uma das seguintes opções para Escopo das alterações com o qual o AWS Config invoca a função do Lambda:

          • Recursos: quando um recurso que corresponde ao tipo de recurso especificado, ou ao tipo mais identificador, é criado, alterado ou excluído.

          • Tags: quando um recurso com a tag especificada é criado, alterado ou excluído.

          • Todas as alterações quando um recurso registrado pelo AWS Config é criado, alterado ou excluído.

          AWS ConfigO executa a avaliação ao detectar uma alteração em um recurso, que corresponda ao escopo da regra. Você pode usar o escopo para restringir quais recursos iniciam as avaliações.

        2. Se os tipos de gatilho de sua regra incluem Periódico, especifique a Frequência com a qual o AWS Config invoca a função do Lambda.

    4. Para Parâmetros, você poderá personalizar os valores das chaves fornecidas, se sua regra incluir parâmetros. Um parâmetro é um atributo que seus recursos devem ter antes de serem considerados compatíveis com a regra.

  7. Na página Revisar e criar, revise todas as suas seleções antes de adicionar a regra à sua Conta da AWS. Se a regra ou a função não funcionar como esperado, você pode consultar uma das opções abaixo para Compatibilidade:

    • No results reported (Nenhum resultado relatado) – o AWS Config avaliou seus recursos em relação à regra. A regra não se aplicou aos recursos da AWS em seu escopo, os recursos especificados foram excluídos, ou os resultados da avaliação foram excluídos. Para obter resultados de avaliação, atualize a regra, mude seu escopo ou selecione Re-evaluate (Reavaliar).

      Essa mensagem também podem aparecer se a regra não relatar resultados de avaliação.

    • No resources in scope (Nenhum recursos no escopo) – o AWS Config não pôde avaliar seus recursos da AWS registrados em relação à regra porque nenhum dos recursos estão dentro do escopo da regra. Para obter resultados de avaliação, edite a regra e mude seu escopo, ou adicione recursos para registro do AWS Config, por meio da página Settings (Configurações).

    • Evaluations failed (Falha nas avaliações) – para obter informações que possam ajudar a determinar o problema, selecione o nome da regra para abrir sua página de detalhes e ver a mensagem de erro.

Adicionar regras (SDKs da AWS)

Os exemplos de código a seguir mostram como usar o PutConfigRule.

CLI
AWS CLI

Como adicionar uma regra gerenciada do AWS Config

O seguinte comando fornece o código JSON para adicionar uma regra gerenciada do AWS Config:

aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json

RequiredTagsForEC2Instances.json é um arquivo JSON que contém a configuração da regra:

{ "ConfigRuleName": "RequiredTagsForEC2Instances", "Description": "Checks whether the CostCenter and Owner tags are applied to EC2 instances.", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "Source": { "Owner": "AWS", "SourceIdentifier": "REQUIRED_TAGS" }, "InputParameters": "{\"tag1Key\":\"CostCenter\",\"tag2Key\":\"Owner\"}" }

Esse código JSON limita o escopo do atributo ComplianceResourceTypes aos recursos do tipo AWS::EC2::Instance. Desta forma, o AWS Config avaliará somente instâncias do EC2 em relação à regra. Como a regra é uma regra gerenciada, o atributo Owner é definido como AWS e o atributo SourceIdentifier é definido como o identificador da regra, REQUIRED_TAGS. Para o atributo InputParameters, as chaves de tag exigidas pela regra, CostCenter e Owner são especificados.

Se o comando for bem-sucedido, o AWS Config não retornará nenhuma saída. Para verificar a configuração da regra, execute o comando describe-config-rules e especifique o nome da regra.

Como adicionar uma regra do Config gerenciada pelo cliente

O seguinte comando fornece o código JSON para adicionar uma regra do Config gerenciada pelo cliente:

aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json

InstanceTypesAreT2micro.json é um arquivo JSON que contém a configuração da regra:

{ "ConfigRuleName": "InstanceTypesAreT2micro", "Description": "Evaluates whether EC2 instances are the t2.micro type.", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "Source": { "Owner": "CUSTOM_LAMBDA", "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck", "SourceDetails": [ { "EventSource": "aws.config", "MessageType": "ConfigurationItemChangeNotification" } ] }, "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}" }

Esse código JSON limita o escopo do atributo ComplianceResourceTypes aos recursos do tipo AWS::EC2::Instance. Desta forma, o AWS Config avaliará somente instâncias do EC2 em relação à regra. Como essa é uma regra gerenciada pelo cliente, o atributo Owner é definido como CUSTOM_LAMBDA e o atributo SourceIdentifier é definido como o ARN da função do AWS Lambda. O SourceDetails objeto é obrigatório. Os parâmetros especificados para o atributo InputParameters são passados para a função do AWS Lambda quando o AWS Config o invoca para avaliar os recursos em relação à regra.

Se o comando for bem-sucedido, o AWS Config não retornará nenhuma saída. Para verificar a configuração da regra, execute o comando describe-config-rules e especifique o nome da regra.

  • Para obter detalhes da API, consulte PutConfigRule na Referência de comandos da AWS CLI.

Python
SDK para Python (Boto3).
nota

Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWSCode Examples Repository.

class ConfigWrapper: """ Encapsulates AWS Config functions. """ def __init__(self, config_client): """ :param config_client: A Boto3 AWS Config client. """ self.config_client = config_client def put_config_rule(self, rule_name): """ Sets a configuration rule that prohibits making Amazon S3 buckets publicly readable. :param rule_name: The name to give the rule. """ try: self.config_client.put_config_rule( ConfigRule={ "ConfigRuleName": rule_name, "Description": "S3 Public Read Prohibited Bucket Rule", "Scope": { "ComplianceResourceTypes": [ "AWS::S3::Bucket", ], }, "Source": { "Owner": "AWS", "SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED", }, "InputParameters": "{}", "ConfigRuleState": "ACTIVE", } ) logger.info("Created configuration rule %s.", rule_name) except ClientError: logger.exception("Couldn't create configuration rule %s.", rule_name) raise
  • Para obter detalhes da API, consulte PutConfigRule na Referência de APIs do AWS SDK para Python (Boto3).