

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

# Adicionando AWS Config regras
<a name="evaluate-config_add-rules"></a>

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

**Topics**
+ [Utilizar o console](#evaluate-config_add-rules-console)
+ [Usando o AWS SDKs](#evaluate-config_add-rules-cli)

## Adição de regras (console)
<a name="evaluate-config_add-rules-console"></a>

A página **Regras** mostra as regras e os resultados atuais de conformidade na tabela. O resultado de cada regra é **Avaliar**... até AWS Config terminar de avaliar seus recursos de acordo com a regra. Você pode atualizar os resultados com o botão de atualizar. Ao AWS Config concluir as avaliações, você poderá ver as regras e os tipos de recursos que estão em conformidade ou não. Para obter mais informações, consulte [Visualizando informações de conformidade e resultados de avaliação de seus AWS recursos com AWS Config](evaluate-config_view-compliance.md).

**nota**  
Quando você adiciona uma nova regra, AWS Config avalia os recursos aplicáveis em seu inventário de recursos, incluindo os recursos registrados anteriormente. Por exemplo, se você registrou `AWS::IoT::Policy` recursos, mas depois os excluiu do registro, AWS Config retém os itens de configuração inicial (CIs) em seu inventário. Embora AWS Config não os atualize mais CIs quando os tipos de recursos associados são excluídos do registro, ele retém o último estado registrado e os avalia quando você adiciona regras aplicáveis.  
AWS Config não avalia recursos que não estão no inventário de recursos. Por exemplo, se você adicionar a [amplify-branch-tagged](amplify-branch-tagged.md) regra, mas não registrar e nunca tiver registrado `AWS::Amplify::Branch` recursos, não AWS Config poderá avaliar se as AWS Amplify filiais da sua conta estão em conformidade ou não.  
Para obter mais informações, consulte [AWS Recursos de gravação com AWS ConfigConsiderações](select-resources.md).

### Adicionar regras
<a name="add-rules-console"></a>

**Para adicionar uma regra**

1. Faça login no Console de gerenciamento da AWS e abra o AWS Config console em [https://console.aws.amazon.com/config/casa](https://console.aws.amazon.com/config/home).

1. No Console de gerenciamento da AWS menu, verifique se o seletor de região está definido como uma região que suporte AWS Config regras. Para obter a lista das regiões compatíveis, consulte [Regiões e endpoints do AWS Config](https://docs.aws.amazon.com/general/latest/gr/awsconfig.html) no *Referência geral da Amazon Web Services*. 

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

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

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

   1. 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 personalizadas do AWS Config Lambda ou [AWS Config Criação](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules_cfn-guard.html) de regras](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules_lambda-functions.html) de política personalizadas. 

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

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

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

   1. No **Modo de avaliação**, escolha quando, no processo de criação e gerenciamento de recursos, você AWS Config deseja avaliar seus recursos. Dependendo da regra, 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 [StartResourceEvaluation](https://docs.aws.amazon.com/config/latest/APIReference/API_StartResourceEvaluation.html)API e a [GetResourceEvaluationSummary](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceEvaluationSummary.html)API para verificar se os recursos especificados nesses comandos seriam sinalizados como NÃO COMPATÍVEIS pelas regras proativas da sua conta na sua região.

          Para obter mais informações sobre como usar esses comandos, consulte [Avaliando seus recursos com AWS Config regras](https://docs.aws.amazon.com/config/latest/developerguide/evaluating-your-resources.html#evaluating-your-resources-proactive). Para obter uma lista de regras gerenciadas que oferecem suporte à avaliação proativa, consulte [Lista de regras AWS Config gerenciadas por modo de avaliação](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-evaluation-mode.html).

      1. 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 gatilho da sua regra incluírem **alterações de configuração**, especifique uma das seguintes opções para **Escopo de alterações** com o qual AWS Config invoca sua função 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 por AWS Config é criado, alterado ou excluído.

            AWS Config executa a avaliação quando detecta uma alteração em um recurso que corresponde ao escopo da regra. Você pode usar o escopo para restringir quais recursos iniciam as avaliações.

         1. Se os tipos de gatilho da sua regra incluírem **Periódico**, especifique a **frequência** com a qual AWS Config invoca sua função Lambda.

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

1. 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**: 
   +  **Nenhum resultado relatado** - AWS Config avaliou seus recursos de acordo com a regra. A regra não se aplicava aos AWS recursos 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.
   +  **Sem recursos no escopo** - AWS Config não é possível avaliar seus AWS recursos registrados em relação a essa regra porque nenhum de seus recursos está dentro do escopo da regra. Para obter os resultados da avaliação, edite a regra e altere seu escopo ou adicione recursos AWS Config para registrar usando a página **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.

## Adicionando regras (AWS SDKs)
<a name="evaluate-config_add-rules-cli"></a>

### Adicionar regras
<a name="add-rules-cli"></a>

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

------
#### [ CLI ]

**AWS CLI**  
**Para adicionar uma regra de Config AWS gerenciada**  
O comando a seguir fornece código JSON para adicionar uma regra Config AWS gerenciada:  

```
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\"}"
}
```
Para o `ComplianceResourceTypes` atributo, esse código JSON limita o escopo a recursos do `AWS::EC2::Instance` tipo, então 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 describe-config-rules comando 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\"}"
}
```
Para o `ComplianceResourceTypes` atributo, esse código JSON limita o escopo a recursos do `AWS::EC2::Instance` tipo, então o AWS Config avaliará somente instâncias do EC2 em relação à regra. Como essa regra é uma regra gerenciada pelo cliente, o `Owner` atributo é definido como`CUSTOM_LAMBDA`, e o `SourceIdentifier` atributo é definido como o ARN da função Lambda AWS . O `SourceDetails` objeto é obrigatório. Os parâmetros especificados para o `InputParameters` atributo são passados para a função AWS Lambda quando o AWS Config a 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 describe-config-rules comando e especifique o nome da regra.  
+  Para obter detalhes da API, consulte [PutConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-config-rule.html)na *Referência de AWS CLI Comandos*. 

------
#### [ Python ]

**SDK para Python (Boto3)**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/config#code-examples). 

```
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 a [PutConfigRule](https://docs.aws.amazon.com/goto/boto3/config-2014-11-12/PutConfigRule)Referência da API *AWS SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**SDK para SAP ABAP**  
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/cfs#code-examples). 

```
    " Create a config rule for S3 bucket public read prohibition
    lo_cfs->putconfigrule(
      io_configrule = NEW /aws1/cl_cfsconfigrule(
        iv_configrulename = iv_rule_name
        iv_description = |S3 Public Read Prohibited Bucket Rule|
        io_scope = NEW /aws1/cl_cfsscope(
          it_complianceresourcetypes = VALUE /aws1/cl_cfscplncresrctypes_w=>tt_complianceresourcetypes(
            ( NEW /aws1/cl_cfscplncresrctypes_w( |AWS::S3::Bucket| ) )
          )
        )
        io_source = NEW /aws1/cl_cfssource(
          iv_owner = |AWS|
          iv_sourceidentifier = |S3_BUCKET_PUBLIC_READ_PROHIBITED|
        )
        iv_inputparameters = '{}'
        iv_configrulestate = |ACTIVE|
      )
    ).
    MESSAGE 'Created AWS Config rule.' TYPE 'I'.
```
+  Para obter detalhes da API, consulte a [PutConfigRule](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)referência da *API AWS SDK for SAP ABAP*. 

------