

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.

# Genere una CloudFormation plantilla de AWS que contenga las reglas administradas por AWS Config mediante Troposphere
<a name="generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere"></a>

*Lucas Nation y Freddie Wilson, Amazon Web Services*

## Resumen
<a name="generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere-summary"></a>

Muchas organizaciones utilizan las reglas [administradas de AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) para evaluar la conformidad de sus recursos de Amazon Web Services (AWS) con respecto a las prácticas recomendadas habituales. Sin embargo, el mantenimiento de estas reglas puede llevar mucho tiempo y este patrón le ayuda a aprovechar [Troposphere](https://troposphere.readthedocs.io/en/latest/quick_start.html), una biblioteca de Python, para generar y administrar reglas administradas por AWS Config.

El patrón le ayuda a administrar las reglas administradas por AWS Config mediante un script de Python para convertir una hoja de cálculo de Microsoft Excel que contiene reglas administradas por AWS en una CloudFormation plantilla de AWS. Troposphere actúa como infraestructura como código (IaC), lo que significa que puede actualizar la hoja de cálculo de Excel con reglas administradas en lugar de utilizar un archivo con formato JSON o YAML. A continuación, utilice la plantilla para lanzar una CloudFormation pila de AWS que cree y actualice las reglas administradas en su cuenta de AWS.

La CloudFormation plantilla de AWS define cada regla gestionada por AWS Config mediante la hoja de cálculo de Excel y le ayuda a evitar la creación manual de reglas individuales en la consola de administración de AWS. *El script establece de forma predeterminada los parámetros de cada regla administrada en un diccionario vacío y los `ComplianceResourceTypes` valores predeterminados del ámbito son. `THE_RULE_IDENTIFIER.template file`* Para obtener más información sobre el identificador de la regla, consulte [Creación de reglas administradas de AWS Config con CloudFormation plantillas de AWS](https://docs.aws.amazon.com/config/latest/developerguide/aws-config-managed-rules-cloudformation-templates.html) en la documentación de AWS Config.

## Requisitos previos y limitaciones
<a name="generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Familiaridad con el uso de CloudFormation plantillas de AWS para crear reglas administradas de AWS Config. Para obtener más información al respecto, consulte [Creación de reglas administradas de AWS Config con CloudFormation plantillas de AWS](https://docs.aws.amazon.com/config/latest/developerguide/aws-config-managed-rules-cloudformation-templates.html) en la documentación de AWS Config.  
+ Python 3, instalado y configurado. Para obtener más información, consulte la [Documentación de Python](https://www.python.org/).
+ Un entorno de desarrollo integrado (IDE) existente.  
+ Identifique sus unidades organizativas (OUs) en una columna de la hoja de cálculo de `excel_config_rules.xlsx` Excel de muestra (adjunta).

## Epics
<a name="generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere-epics"></a>

### Personalice y configure las reglas administradas de AWS Config
<a name="customize-and-configure-the-aws-config-managed-rules"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualice la hoja de cálculo de Excel de muestra. | Descargue la hoja de cálculo de Excel de muestra `excel_config_rules.xlsx` (adjunta) y etiquétela como `Implemented` con las reglas administradas de AWS Config que desee usar. <br />Las reglas marcadas como se `Implemented` añadirán a la CloudFormation plantilla de AWS. | Desarrollador | 
| (Opcional) Actualice el archivo config\_rules\_params.json con los parámetros de las reglas de AWS Config. | Algunas reglas administradas por AWS Config requieren parámetros y deben pasarse al script de Python como un archivo JSON mediante la opción `--param-file`. Por ejemplo, la regla administrada `access-keys-rotated` usa el siguiente parámetro `maxAccessKeyAge`:<pre>{<br />         "access-keys-rotated": {<br />             "InputParameters": {<br />                 "maxAccessKeyAge": 90<br />             }<br />         }<br />     }</pre><br />En este parámetro de ejemplo, `maxAccessKeyAge` se establece en 90 días. El script lee el archivo de parámetros y añade cualquier `InputParameters` que encuentra. | Desarrollador | 
| (Opcional) Actualice el archivo config\_rules\_params.json con AWS Config. ComplianceResourceTypes | De forma predeterminada, el script de Python recupera `ComplianceResourceTypes` de las plantillas definidas por AWS. Si desea anular el ámbito de una regla gestionada por AWS Config específica, debe pasarla al script de Python como un archivo JSON mediante la opción `--param-file`.<br />Por ejemplo, el siguiente código de ejemplo muestra cómo el `ComplianceResourceTypes` para `ec2-volume-inuse-check` se establece en la lista `["AWS::EC2::Volume"]`:<pre>{<br />         "ec2-volume-inuse-check": {<br />             "Scope": {<br />                 "ComplianceResourceTypes": [<br />                     "AWS::EC2::Volume"<br />                 ]<br />             }<br />         }<br />     }</pre> | Desarrollador | 

### Ejecute el script de Python
<a name="run-the-python-script"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instalar los paquetes pip desde el archivo requirements.txt.  | Descargue el archivo `requirements.txt` (adjunto) y ejecute el siguiente comando en su IDE para instalar los paquetes de Python:<br />`pip3 install -r requirements.txt` | Desarrollador | 
| Ejecutar el script de Python .  | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere.html)También puede incluir los siguientes parámetros opcionales:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere.html) | Desarrollador | 

### Implemente las reglas administradas en AWS Config
<a name="deploy-the-aws-config-managed-rules"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Lance la CloudFormation pila de AWS. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere.html) | Desarrollador | 

## Conexiones
<a name="attachments-07c1cfff-fc9e-4a1f-bd36-48f025808bd8"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/07c1cfff-fc9e-4a1f-bd36-48f025808bd8/attachments/attachment.zip)