

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Añadir AWS Config reglas
<a name="evaluate-config_add-rules"></a>

Puede utilizar la AWS Config consola o la AWS SDKs para añadir reglas.

**Topics**
+ [Uso de la consola](#evaluate-config_add-rules-console)
+ [Uso del AWS SDKs](#evaluate-config_add-rules-cli)

## Adición de reglas (consola)
<a name="evaluate-config_add-rules-console"></a>

La página **Reglas** muestra las reglas y los resultados de conformidad actuales en una tabla. El resultado de cada regla es **Evaluando...** hasta que AWS Config termine de evaluar sus recursos con respecto a la regla. Puede actualizar los resultados con el botón de actualizar. Cuando AWS Config finalicen las evaluaciones, podrá ver las reglas y los tipos de recursos que cumplen o no. Para obtener más información, consulte [Visualización de la información de cumplimiento y los resultados de la evaluación de sus AWS recursos con AWS Config](evaluate-config_view-compliance.md).

**nota**  
Cuando agrega una nueva regla, AWS Config evalúa los recursos aplicables en su inventario de recursos, incluidos los recursos registrados anteriormente. Por ejemplo, si ha registrado `AWS::IoT::Policy` los recursos pero luego los ha excluido del registro, AWS Config conserva los elementos de configuración iniciales (CIs) de su inventario. Aunque ya AWS Config no los actualiza CIs cuando los tipos de recursos asociados no se registran, conserva su último estado registrado y los evalúa al añadir las reglas aplicables.  
AWS Config no evalúa los recursos que no estén en el inventario de recursos. Por ejemplo, si agregas la [amplify-branch-tagged](amplify-branch-tagged.md) regla pero no registras ni has registrado nunca `AWS::Amplify::Branch` los recursos, no AWS Config podrás evaluar si las AWS Amplify sucursales de tu cuenta cumplen con las normas o no.  
Para obtener más información, consulte [Grabación de AWS recursos con AWS ConfigConsideraciones](select-resources.md).

### Adición de reglas
<a name="add-rules-console"></a>

**Para añadir una regla**

1. Inicia sesión en la AWS Config consola de [https://console.aws.amazon.com/config/tu casa Consola de administración de AWS](https://console.aws.amazon.com/config/home) y ábrela.

1. En el Consola de administración de AWS menú, compruebe que el selector de región esté configurado en una región que admita AWS Config reglas. Para ver una lista de las regiones admitidas, consulte [Regiones y puntos de enlace de AWS Config](https://docs.aws.amazon.com/general/latest/gr/awsconfig.html) en la *Referencia general de Amazon Web Services*. 

1. En el panel de navegación izquierdo, seleccione **Rules (Reglas)**. 

1. En la página **Rules (Reglas)**, seleccione **Add rule (Añadir regla)**. 

1. En la página **Especificar tipo de regla**, especifique el tipo de regla siguiendo estos pasos:

   1. En el campo de búsqueda para filtrar escriba la lista de las reglas administradas por nombre de regla, descripción y etiqueta. Por ejemplo, escriba **EC2** para que devuelva las reglas que evalúan tipos de recursos de EC2 o escriba **periodic** para que devuelva reglas que se activen periódicamente.

   1. También puede crear sus propia regla personalizada. Elija **Crear regla personalizada con Lambda** o **Crear regla personalizada con Guard** y siga el procedimiento descrito en [Creación de reglas AWS Config Lambda personalizadas o [Creación AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules_cfn-guard.html) de reglas](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules_lambda-functions.html) de políticas personalizadas. 

1. En la página **Configurar regla**, configure la regla siguiendo estos pasos:

   1. En **Name (Nombre)**, escriba un nombre único para la regla.

   1. En **Descripción**, escriba una descripción para la regla.

   1. Para el **modo de evaluación**, elija en qué momento del proceso de creación y administración de recursos desea AWS Config evaluar sus recursos. Según la regla, AWS Config puede evaluar las configuraciones de sus recursos antes de que se haya desplegado un recurso, después de que se haya desplegado un recurso, o ambas cosas.

      1. Elija **Active la evaluación proactiva** para ejecutar evaluaciones de los valores de configuración de sus recursos antes de que se implementen.

         Una vez que hayas activado la evaluación proactiva, puedes usar la [StartResourceEvaluation](https://docs.aws.amazon.com/config/latest/APIReference/API_StartResourceEvaluation.html)API y la [GetResourceEvaluationSummary](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceEvaluationSummary.html)API para comprobar si los recursos que especificas en estos comandos se marcarán como NO CONFORMES según las reglas proactivas de tu cuenta de tu región.

          Para obtener más información sobre el uso de estos comandos, consulta Cómo [evaluar tus recursos con reglas](https://docs.aws.amazon.com/config/latest/developerguide/evaluating-your-resources.html#evaluating-your-resources-proactive). AWS Config Para obtener una lista de reglas administradas que admiten una evaluación proactiva, consulte [la Lista de reglas AWS Config administradas por modo de evaluación](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-evaluation-mode.html).

      1. Seleccione **Active la evaluación de detectives** para evaluar los ajustes de la configuración de los recursos existentes.

         Para la evaluación de detectives, existen dos tipos de desencadenadores: **Cuando cambia la configuración** y **Periódico**.

         1.  Si los tipos de desencadenadores de la regla incluyen **cambios de configuración**, especifique una de las siguientes opciones para el **alcance de los cambios** con la que se AWS Config invoca la función Lambda:
            +  **Recursos**: cuando se crea, cambia o elimina un recurso específico que coincide con un tipo de recurso específico o con un tipo más el identificador.
            +  **Etiquetas**: cuando se crea, cambia o elimina un recurso con la etiqueta especificada.
            +  **Todos los cambios**: cuando AWS Config se crea, modifica o elimina un recurso registrado por.

            AWS Config ejecuta la evaluación cuando detecta un cambio en un recurso que coincide con el alcance de la regla. Puede utilizar el ámbito para definir los recursos que activan evaluaciones.

         1. Si los tipos de desencadenadores de la regla incluyen **Periódico**, especifique la **frecuencia** con la que se AWS Config invoca la función Lambda.

   1. Si su regla incluye **Parámetros**, puede personalizar los valores de las claves proporcionadas. Un parámetro es un atributo que deben cumplir los recursos para que se considere que cumplen la regla.

1. En la página **Revisar y crear**, revise todas las selecciones antes de añadir la regla a la Cuenta de AWS. Si la regla no funciona según lo previsto, puede que vea una de las siguientes opciones para **Conformidad**: 
   +  **No se informó de ningún resultado**: AWS Config evaluó sus recursos según la regla. La regla no se aplicaba a los AWS recursos incluidos en su ámbito, se eliminaron los recursos especificados o se eliminaron los resultados de la evaluación. Para obtener los resultados de la evaluación, actualice la regla, cambie su ámbito o bien seleccione **Re-evaluate (Volver a evaluar)**. 

     Este mensaje también puede aparecer si la regla no informa de resultados de evaluación.
   +  **No hay recursos dentro del alcance**: AWS Config no puede evaluar AWS los recursos registrados según esta regla porque ninguno de sus recursos está dentro del alcance de la regla. Para obtener los resultados de la evaluación, edite la regla y cambie su alcance, o añada recursos AWS Config para registrarlos mediante la página de **configuración**.
   +  **Evaluations failed (Error en las evaluaciones)**: para obtener información que le ayude a determinar el problema, elija el nombre de la regla para abrir la página de detalles y ver el mensaje de error.

## Añadir reglas (AWS SDKs)
<a name="evaluate-config_add-rules-cli"></a>

### Adición de reglas
<a name="add-rules-cli"></a>

Los siguientes ejemplos de código muestran cómo utilizar `PutConfigRule`.

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

**AWS CLI**  
**Para añadir una regla de Config AWS gestionada**  
El siguiente comando proporciona código JSON para añadir una regla de Config AWS gestionada:  

```
aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json
```
`RequiredTagsForEC2Instances.json` es un archivo JSON que contiene la configuración de la regla:  

```
{
  "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 el `ComplianceResourceTypes` atributo, este código JSON limita el alcance a los recursos de este `AWS::EC2::Instance` tipo, por lo que AWS Config evaluará solo las instancias de EC2 según la regla. Puesto que la regla es una regla administrada, el atributo `Owner` se establece en `AWS` y el atributo `SourceIdentifier` en el identificador de la regla, `REQUIRED_TAGS`. Para el atributo `InputParameters`, se especifican las claves de etiqueta que requiere la regla, `CostCenter` y `Owner`.  
Si el comando se ejecuta correctamente, AWS Config no devuelve ningún resultado. Para verificar la configuración de la regla, ejecute el describe-config-rules comando y especifique el nombre de la regla.  
**Adición de una regla de configuración administrada por el cliente**  
En el siguiente comando se proporciona un código JSON para añadir una regla de configuración administrada por el cliente:  

```
aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json
```
`InstanceTypesAreT2micro.json` es un archivo JSON que contiene la configuración de la regla:  

```
{
  "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 el `ComplianceResourceTypes` atributo, este código JSON limita el alcance a los recursos de este `AWS::EC2::Instance` tipo, por lo que AWS Config evaluará solo las instancias de EC2 según la regla. Como esta regla es una regla administrada por el cliente, el `Owner` atributo se establece en y el `SourceIdentifier` atributo se establece en el ARN de la función Lambda AWS . `CUSTOM_LAMBDA` El objeto `SourceDetails` es obligatorio. Los parámetros que se especifican para el `InputParameters` atributo se pasan a la función AWS Lambda cuando AWS Config la invoca para evaluar los recursos en función de la regla.  
Si el comando se ejecuta correctamente, AWS Config no devuelve ningún resultado. Para verificar la configuración de la regla, ejecute el describe-config-rules comando y especifique el nombre de la regla.  
+  Para obtener más información sobre la API, consulte [PutConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-config-rule.html)la *Referencia de AWS CLI comandos*. 

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

**SDK para Python (Boto3)**  
 Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de AWS](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 obtener más información sobre la API, consulta [PutConfigRule](https://docs.aws.amazon.com/goto/boto3/config-2014-11-12/PutConfigRule)la *AWS Referencia de API de SDK for Python (Boto3*). 

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

**SDK para SAP ABAP**  
 Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de AWS](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 obtener más información sobre la API, consulte [PutConfigRule](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la *referencia sobre la API ABAP del AWS SDK para SAP*. 

------