Atualizar regras do AWS Config - AWS Config

Atualizar regras do AWS Config

Use o console do AWS Config ou os SDKs da AWS para atualizar suas regras.

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

Para atualizar 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. Escolha o ícone Editar regra para a regra que você deseja atualizar.

  5. Modifique as configurações na página Editar regra para alterar a regra, conforme necessário.

  6. Escolha Salvar.

Atualizar regras (SDKs da AWS)

Se estiver atualizando uma regra que você adicionou anteriormente, não será possível especificar a regra pelo ConfigRuleName, ConfigRuleId ou pelo ConfigRuleArn no tipo de dados ConfigRule que você usa nessa solicitação. Use o mesmo comando PutConfigRule utilizado ao adicionar uma regra.

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