

• El panel de AWS Systems Manager CloudWatch dejará de estar disponible después del 30 de abril de 2026. Los clientes pueden seguir utilizando la consola de Amazon CloudWatch para ver, crear y administrar sus paneles de Amazon CloudWatch, tal y como lo hacen actualmente. Para obtener más información, consulte la [documentación del panel de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Integración a otros productos y servicios
<a name="integrations-partners"></a>

AWS Systems Manager incluye capacidad de integración a los productos y los servicios que se indican en la siguiente tabla.


|  |  | 
| --- |--- |
|  Ansible  |  [https://www.ansible.com/](https://www.ansible.com/) es una plataforma de automatización de TI que facilita la implementación de las aplicaciones y los sistemas. Systems Manager incluye `AWS-ApplyAnsiblePlaybooks`, un documento de Systems Manager (documento de SSM) que permite la creación de asociaciones de State Manager que ejecuten cuadernos de trabajo de Ansible.  Más información [Creación de asociaciones que ejecuten manuales de estrategia de Ansible](systems-manager-state-manager-ansible.md)   | 
|  Chef  |  [https://www.chef.io/](https://www.chef.io/) es una herramienta de automatización de TI que facilita la implementación de las aplicaciones y los sistemas. Systems Manager proporciona el documento de SSM `AWS-ApplyChefRecipes`, que permite la creación de asociaciones en State Manager, una herramienta de AWS Systems Manager, que ejecuten recetas de Chef.  Más información [Creación de asociaciones que ejecuten recetas de Chef](systems-manager-state-manager-chef.md)  Systems Manager también se integra con los perfiles [https://www.chef.io/products/chef-inspec/](https://www.chef.io/products/chef-inspec/), lo que permite la ejecución de análisis de conformidad y el control de los nodos conformes y no conformes.  Más información [Utilización de perfiles de Chef InSpec con la conformidad de Systems Manager](integration-chef-inspec.md)   | 
|  GitHub  |  [https://github.com/](https://github.com/) ofrece alojamiento para el control de versiones de desarrollo de software y la colaboración. Systems Manager incluye `AWS-RunDocument`, un documento de SSM que permite la ejecución de otros documentos de SSM almacenados en GitHub; también incluye el documento `AWS-RunRemoteScript`, el cual permite la ejecución de scripts almacenados en GitHub. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/integrations-partners.html)  | 
|  Jenkins  |  [https://www.jenkins.io/](https://www.jenkins.io/) es un servidor de automatización de código abierto que le permite a los desarrolladores crear, probar e implementar software de manera fiable. Automatización, una herramienta de Systems Manager, puede utilizarse como un paso posterior a la creación para preinstalar versiones de las aplicaciones en Amazon Machine Images (AMIs).  Más información [Actualización de las AMIs mediante Automatización y Jenkins](automation-tutorial-update-patch-ami-jenkins-integration.md)   | 
|  ServiceNow  |  [https://www.servicenow.com/](https://www.servicenow.com/) es un sistema de administración de servicios empresariales que permite la administración de los servicios y las operaciones de TI. Automatización, Change Manager, Administrador de incidentes y OpsCenter son herramientas de Systems Manager que se integran con ServiceNow a través del Conector de administración de servicios de AWS. Con esta integración, se puede ver, crear, actualizar, agregar correspondencia y solucionar casos de AWS Support de ServiceNow.  Más información [Integración de con ServiceNow](integrations-partners-servicenow.md)    | 
| Terraform |  HashiCorp [Terraform](https://registry.terraform.io/) es una herramienta de software de *infraestructura como código* (IaC) de código abierto que proporciona un flujo de trabajo de interfaz de la línea de comandos (CLI) para administrar varios servicios en la nube. En el caso de Systems Manager, puede utilizar Terraform para administrar o aprovisionar lo siguiente: **Recursos** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/integrations-partners.html) **Orígenes de datos** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/integrations-partners.html)  | 

**Topics**
+ [Ejecución de scripts desde GitHub](integration-remote-scripts.md)
+ [Utilización de perfiles de Chef InSpec con la conformidad de Systems Manager](integration-chef-inspec.md)
+ [Integración de con ServiceNow](integrations-partners-servicenow.md)

# Ejecución de scripts desde GitHub
<a name="integration-remote-scripts"></a>

En este tema, se describe cómo usar `AWS-RunRemoteScript`, un documento predefinido de Systems Manager (documento de SSM) para descargar scripts desde GitHub, incluidos los cuadernos de trabajo de Ansible y los scripts de Python, Ruby y PowerShell. Al utilizar este documento de SSM, ya no es necesario transferir scripts de forma manual a Amazon Elastic Compute Cloud (Amazon EC2) ni empaquetarlos en documentos de SSM. La integración de AWS Systems Manager a GitHub promueve la *infraestructura como código*, lo que reduce el tiempo que requiere la administración de nodos mientras se estandarizan las configuraciones en la flota. 

También puede crear documentos de SSM personalizados que le permitan descargar y ejecutar scripts u otros documentos de SSM desde ubicaciones remotas. Para obtener más información, consulte [Creación de documentos compuestos](documents-creating-content.md#documents-creating-composite).

También puede descargar un directorio en el que se incluyen varios scripts. Cuando se ejecuta el script principal en el directorio, Systems Manager también ejecuta los scripts a los que se hace referencia y se incluyen en el directorio. 

Tenga en cuenta los siguientes detalles importantes acerca de la ejecución de scripts desde GitHub.
+ Systems Manager no comprueba que el script pueda ejecutarse en un nodo. Antes de descargar y ejecutar el script, verifique que el software necesario esté instalado en el nodo. O bien, puede crear un documento compuesto que instale el software mediante Run Command o State Manager, herramientas de AWS Systems Manager, y, a continuación, descargue y ejecute el script.
+ Usted es responsable de garantizar el cumplimiento de todos los requisitos de GitHub. Esto incluye la actualización de su token de acceso, según sea necesario. Asegúrese de no superar el número de solicitudes autenticadas o sin autenticar. Para obtener más información, consulte la documentación de GitHub.
+ Los repositorios GitHub Enterprise no son compatibles.

**Topics**
+ [Ejecute cuadernos de trabajo de Ansible desde GitHub](integration-github-ansible.md)
+ [Ejecute scripts de Python desde GitHub](integration-github-python.md)

# Ejecute cuadernos de trabajo de Ansible desde GitHub
<a name="integration-github-ansible"></a>

En esta sección, se incluyen los procedimientos que lo ayudarán a ejecutar cuadernos de trabajo de Ansible desde GitHub a través de la consola o de AWS Command Line Interface (AWS CLI).

**Antes de empezar**  
Si tiene previsto ejecutar un script almacenado en un repositorio privado de GitHub, cree un parámetro AWS Systems Manager `SecureString` para el token de acceso de seguridad de GitHub. No puede obtener acceso a un script en un repositorio privado de GitHub al pasar manualmente el token por SSH. El token de acceso debe pasarse como parámetro `SecureString` de Systems Manager. Para obtener más información acerca de cómo crear un parámetro `SecureString`, consulte [Creación de parámetros de Parameter Store en Systems Manager](sysman-paramstore-su-create.md).

## Ejecute un cuaderno de trabajo de Ansible desde GitHub (consola)
<a name="integration-github-ansible-console"></a>

**Ejecute un cuaderno de trabajo de Ansible desde GitHub**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Run Command**.

1. Elija **Run command (Ejecutar comando)**.

1. En la lista **Command document** (Documento de Command), elija **`AWS-RunRemoteScript`**.

1. En **Command parameters** haga lo siguiente:
   + En **Tipo de origen**, seleccione **GitHub**. 
   + En el cuadro **Source Info** (Información de la fuente), ingrese la información requerida para acceder a la fuente, con el siguiente formato.

     ```
     {
       "owner": "owner_name",
       "repository": "repository_name", 
       "getOptions": "branch:branch_name",
       "path": "path_to_scripts_or_directory",
       "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}" 
     }
     ```

     En este ejemplo, se descarga un archivo llamado `webserver.yml`. 

     ```
     {
         "owner": "TestUser1",
         "repository": "GitHubPrivateTest",
         "getOptions": "branch:myBranch",
         "path": "scripts/webserver.yml",
         "tokenInfo": "{{ssm-secure:mySecureStringParameter}}"
     }
     ```
**nota**  
`"branch"` Solo se requiere si el documento SSM se almacena en una sucursal que no sea `master`.  
Para usar la versión de los scripts que están en una *confirmación* determinada en su repositorio, use `commitID` con `getOptions` en lugar de `branch`. Por ejemplo:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + En el campo **Command Line** (Línea de comandos), ingrese los parámetros para la ejecución de scripts. A continuación se muestra un ejemplo.

     **ansible-playbook -i “localhost,” --check -c local webserver.yml**
   + (Opcional) En el campo **Working Directory** (Directorio de trabajo), ingrese el nombre de un directorio del nodo en el que desee descargar y ejecutar el script.
   + (Opcional) En **Execution Timeout**, especifique el número de segundos que esperará el sistema antes de fallar en la ejecución del comando de script. 

1. En la sección **Targets** (Destinos), para elegir los nodos administrados en los que desea ejecutar esta operación, especifique las etiquetas, seleccione las instancias o los dispositivos de borde manualmente o especifique un grupo de recursos.
**sugerencia**  
Si un nodo administrado que espera ver no aparece en la lista, consulte [Solución de problemas de disponibilidad de nodos administrados](fleet-manager-troubleshooting-managed-nodes.md) para obtener consejos de solución de problemas.

1. En **Otros parámetros**:
   + En **Comentario**, ingrese la información acerca de este comando.
   + En **Tiempo de espera (segundos)**, especifique el número de segundos que tiene que esperar el sistema antes de indicar que se ha producido un error en la ejecución del comando general. 

1. En **Rate control** (Control de velocidad):
   + En **Concurrency** (Simultaneidad), especifique un número o un porcentaje de los nodos administrados en los que desea ejecutar el comando al mismo tiempo.
**nota**  
Si seleccionó los destinos mediante la especificación de etiquetas aplicadas a nodos administrados o de grupos de recursos de AWS y no está seguro de cuántos nodos administrados tienen destino, limite el número de destinos que puede ejecutar el documento al mismo tiempo. Para ello, especifique un porcentaje.
   + En **Error threshold** (Umbral de errores), especifique cuándo desea parar la ejecución del comando en los demás nodos administrados después de que haya fallado en un número o un porcentaje de los nodos. Por ejemplo, si especifica tres errores, Systems Manager dejará de enviar el comando cuando se reciba el cuarto error. Los nodos administrados que estén procesando el comando todavía pueden enviar errores.

1. (Opcional) En **Opciones de salida**, para guardar la salida del comando en un archivo, seleccione el cuadro **Write command output to an S3 bucket**. Ingrese los nombres del bucket y del prefijo (carpeta) en los cuadros.
**nota**  
Los permisos de S3 que conceden la capacidad de escribir datos en un bucket de S3 son los del perfil de instancia (para instancias de EC2) o rol de servicio de IAM (máquinas activadas de manera híbrida) asignados a la instancia, no los del usuario de IAM que realiza esta tarea. Para obtener más información, consulte [Configuración de permisos de instancia requeridos para Systems Manager](setup-instance-permissions.md) o [Creación de un rol de servicio de IAM para un entorno híbrido](hybrid-multicloud-service-role.md). Además, si el bucket de S3 especificado se encuentra en una Cuenta de AWS diferente, asegúrese de que el perfil de instancias o el rol de servicio de IAM asociado al nodo administrado tenga los permisos necesarios para escribir en ese bucket.

1. En la sección **Notificaciones de SNS**, seleccione la casilla de verificación **Habilitar notificaciones de SNS** si desea recibir notificaciones sobre el estado de ejecución de los comandos.

   Para obtener más información acerca de la configuración de las notificaciones de Amazon SNS para Run Command, consulte [Cómo monitorear los cambios de estado de Systems Manager mediante las notificaciones de Amazon SNS](monitoring-sns-notifications.md).

1. Seleccione **Ejecutar**.

## Ejecute un cuaderno de trabajo de Ansible desde GitHub con AWS CLI
<a name="integration-github-ansible-cli"></a>

1. Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

   Para obtener más información, consulte [Instalación o actualización de la última versión de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Ejecute el siguiente comando para descargar y ejecutar un script de GitHub.

   ```
   aws ssm send-command \
       --document-name "AWS-RunRemoteScript" \
       --instance-ids "instance-IDs"\
       --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\": \"repository_name\", \"path\": \"path_to_file_or_directory\", \"tokenInfo\":\"{{ssm-secure:name_of_your_SecureString_parameter}}\" }"],"commandLine":["commands_to_run"]}'
   ```

   A continuación, se presenta un ejemplo de comando que se puede ejecutar en un equipo local Linux.

   ```
   aws ssm send-command \    
       --document-name "AWS-RunRemoteScript" \
       --instance-ids "i-02573cafcfEXAMPLE" \
       --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\": \"GitHubPrivateTest\", \"path\": \"scripts/webserver.yml\", \"tokenInfo\":\"{{ssm-secure:mySecureStringParameter}}\" }"],"commandLine":["ansible-playbook -i “localhost,” --check -c local webserver.yml"]}'
   ```

# Ejecute scripts de Python desde GitHub
<a name="integration-github-python"></a>

En esta sección, se incluyen procedimientos que lo ayudarán a ejecutar scripts de Python desde GitHub con la consola de AWS Systems Manager o la AWS Command Line Interface (AWS CLI). 

## Ejecute un script de Python desde GitHub (consola)
<a name="integration-github-python-console"></a>

**Ejecute un script de Python desde GitHub**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Run Command**.

1. Elija **Run command (Ejecutar comando)**.

1. En la lista **Command document** (Documento de Command), elija **`AWS-RunRemoteScript`**.

1. En **Parámetros de comando** haga lo siguiente:
   + En **Tipo de origen**, seleccione **GitHub**. 
   + En el cuadro **Source Info** (Información de la fuente), ingrese la información requerida para acceder a la fuente, con el siguiente formato:

     ```
     {
         "owner": "owner_name",
         "repository": "repository_name",
         "getOptions": "branch:branch_name",
         "path": "path_to_document",
         "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}"
     }
     ```

     En el ejemplo siguiente, se descarga un directorio de scripts denominado *complex-script*.

     ```
     {
         "owner": "TestUser1",
         "repository": "SSMTestDocsRepo",
         "getOptions": "branch:myBranch",
         "path": "scripts/python/complex-script",
         "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
     }
     ```
**nota**  
`"branch"` Solo se requiere si sus scripts están almacenados en una rama distinta de `master`.  
Para usar la versión de los scripts que están en una *confirmación* determinada en su repositorio, use `commitID` con `getOptions` en lugar de `branch`. Por ejemplo:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + En **Command Line** (Línea de comandos), ingrese parámetros para la ejecución de scripts. A continuación se muestra un ejemplo.

     ```
     mainFile.py argument-1 argument-2
     ```

     En este ejemplo, se ejecuta `mainFile.py`, que posteriormente puede ejecutar otros scripts en el directorio `complex-script`.
   + (Opcional) En **Working Directory** (Directorio de trabajo), ingrese el nombre de un directorio del nodo en el que desee descargar y ejecutar el script.
   + (Opcional) En **Execution Timeout (Tiempo de espera de ejecución)**, especifique el número de segundos que esperará el sistema antes de fallar en la ejecución del comando de script. 

1. En la sección **Targets** (Destinos), para elegir los nodos administrados en los que desea ejecutar esta operación, especifique las etiquetas, seleccione las instancias o los dispositivos de borde manualmente o especifique un grupo de recursos.
**sugerencia**  
Si un nodo administrado que espera ver no aparece en la lista, consulte [Solución de problemas de disponibilidad de nodos administrados](fleet-manager-troubleshooting-managed-nodes.md) para obtener consejos de solución de problemas.

1. En **Otros parámetros**:
   + En **Comentario**, ingrese la información acerca de este comando.
   + En **Tiempo de espera (segundos)**, especifique el número de segundos que tiene que esperar el sistema antes de indicar que se ha producido un error en la ejecución del comando general. 

1. En **Rate control** (Control de velocidad):
   + En **Concurrency** (Simultaneidad), especifique un número o un porcentaje de los nodos administrados en los que desea ejecutar el comando al mismo tiempo.
**nota**  
Si seleccionó los destinos mediante la especificación de etiquetas aplicadas a nodos administrados o de grupos de recursos de AWS y no está seguro de cuántos nodos administrados tienen destino, limite el número de destinos que puede ejecutar el documento al mismo tiempo. Para ello, especifique un porcentaje.
   + En **Error threshold** (Umbral de errores), especifique cuándo desea parar la ejecución del comando en los demás nodos administrados después de que haya fallado en un número o un porcentaje de los nodos. Por ejemplo, si especifica tres errores, Systems Manager dejará de enviar el comando cuando se reciba el cuarto error. Los nodos administrados que estén procesando el comando todavía pueden enviar errores.

1. (Opcional) En **Opciones de salida**, para guardar la salida del comando en un archivo, seleccione el cuadro **Write command output to an S3 bucket**. Ingrese los nombres del bucket y del prefijo (carpeta) en los cuadros.
**nota**  
Los permisos de S3 que conceden la capacidad de escribir datos en un bucket de S3 son los del perfil de instancia (para instancias de EC2) o rol de servicio de IAM (máquinas activadas de manera híbrida) asignados a la instancia, no los del usuario de IAM que realiza esta tarea. Para obtener más información, consulte [Configuración de permisos de instancia requeridos para Systems Manager](setup-instance-permissions.md) o [Creación de un rol de servicio de IAM para un entorno híbrido](hybrid-multicloud-service-role.md). Además, si el bucket de S3 especificado se encuentra en una Cuenta de AWS diferente, asegúrese de que el perfil de instancias o el rol de servicio de IAM asociado al nodo administrado tenga los permisos necesarios para escribir en ese bucket.

1. En la sección **Notificaciones de SNS**, seleccione la casilla de verificación **Habilitar notificaciones de SNS** si desea recibir notificaciones sobre el estado de ejecución de los comandos.

   Para obtener más información acerca de la configuración de las notificaciones de Amazon SNS para Run Command, consulte [Cómo monitorear los cambios de estado de Systems Manager mediante las notificaciones de Amazon SNS](monitoring-sns-notifications.md).

1. Seleccione **Ejecutar**.

## Ejecute un script de Python desde GitHub con AWS CLI
<a name="integration-github-python-cli"></a>

1. Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

   Para obtener más información, consulte [Instalación o actualización de la última versión de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Ejecute el siguiente comando para descargar y ejecutar un script de GitHub.

   ```
   aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "instance-IDs" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"path_to_script_or_directory"}"],"commandLine":["commands_to_run"]}'
   ```

   A continuación se muestra un ejemplo.

   ```
   aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-02573cafcfEXAMPLE" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\":\"GitHubTestPublic\", \"path\": \"scripts/python/complex-script\"}"],"commandLine":["mainFile.py argument-1 argument-2 "]}'
   ```

   En este ejemplo, se descarga un directorio de scripts llamado `complex-script`. La entrada `commandLine` ejecuta `mainFile.py`, que luego puede ejecutar otros scripts en el directorio `complex-script`.

# Utilización de perfiles de Chef InSpec con la conformidad de Systems Manager
<a name="integration-chef-inspec"></a>

AWS Systems Manager se integra con [https://www.chef.io/products/chef-inspec](https://www.chef.io/products/chef-inspec). Chef InSpec es un marco de pruebas de código abierto que le permite crear perfiles de lenguaje natural para almacenarlos en GitHub o Amazon Simple Storage Service (Amazon S3). A continuación, puede utilizar Systems Manager para ejecutar análisis de conformidad y ver cuáles nodos son conformes y cuáles no. Un *perfil* es un requisito de seguridad, conformidad o política de un entorno informático. Por ejemplo, puede crear perfiles que lleven a cabo las siguientes comprobaciones cuando se analicen los nodos con Cumplimiento, una herramienta de AWS Systems Manager:
+ Comprobar si determinados puertos están abiertos o cerrados.
+ Comprobar si determinadas aplicaciones se están ejecutando.
+ Comprobar si determinados paquetes están instalados.
+ Comprobar las claves de registro de Windows de determinadas propiedades.

Puede crear perfiles de InSpec *solo* para las instancias de Amazon Elastic Compute Cloud (Amazon EC2) que administre con Systems Manager. No se admiten servidores en las instalaciones ni máquinas virtuales (VM). El siguiente ejemplo de perfil de Chef InSpec verifica si el puerto 22 está abierto.

```
control 'Scan Port' do
impact 10.0
title 'Server: Configure the service port'
desc 'Always specify which port the SSH server should listen to.
Prevent unexpected settings.'
describe sshd_config do
its('Port') { should eq('22') }
end
end
```

InSpec incluye una colección de recursos que le ayudan a escribir rápidamente comprobaciones y controles de auditoría. InSpec utiliza [el lenguaje específico de dominio (DSL) de InSpec](https://docs.chef.io/inspec/7.0/reference/glossary/#dsl) para escribir estos controles en Ruby. También puede utilizar perfiles creados por una gran comunidad de usuarios de InSpec. Por ejemplo, el proyecto [DevSec chef-os-hardening](https://github.com/dev-sec/chef-os-hardening) que se encuentra en GitHub incluye decenas de perfiles que lo pueden ayudar a proteger los nodos. Puede crear y almacenar perfiles en GitHub o en Amazon S3. 

## Funcionamiento
<a name="integration-chef-inspec-how"></a>

El proceso de utilización de perfiles de InSpec con Compliance funciona de la siguiente manera:

1. Identifique los perfiles predefinidos de InSpec que quiera utilizar o créelos. Puede utilizar [perfiles predefinidos](https://github.com/search?p=1&q=topic%3Ainspec+org%3Adev-sec&type=Repositories) de GitHub para comenzar. Para obtener información sobre cómo crear perfiles de InSpec propios, consulte [Perfiles de Chef InSpec](https://www.inspec.io/docs/reference/profiles/).

1. Almacene perfiles en un repositorio público o privado de GitHub o en un bucket de S3.

1. Ejecute Compliance con los perfiles de InSpec mediante el documento de Systems Manager (documento de SSM) `AWS-RunInspecChecks`. Puede comenzar un análisis de Cumplimiento con Run Command, una herramienta de AWS Systems Manager, para efectuar análisis bajo demanda, o bien, puede programar análisis regulares de Cumplimiento a través de State Manager, otra herramienta de AWS Systems Manager.

1. Utilice la API de Compliance o la consola de Compliance para identificar nodos no conformes.

**nota**  
Observe la siguiente información.  
Chef utiliza un cliente en los nodos para procesar el perfil. No es necesario instalar el cliente. Cuando Systems Manager ejecuta el documento de SSM `AWS-RunInspecChecks`, el sistema verifica si el cliente está instalado. Si no lo está, Systems Manager instala el cliente de Chef durante el análisis y lo desinstala al terminar.
Como se describe en este tema, cuando se ejecuta el documento de SSM `AWS-RunInspecChecks`, se asigna una entrada de conformidad de tipo `Custom:Inspec` a cada nodo de destino. Para asignar este tipo de conformidad, el documento llama a la operación [PutComplianceItems](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutComplianceItems.html) de la API.

## Ejecutar un análisis de InSpec Compliance
<a name="integration-chef-inspec-running"></a>

Esta sección contiene información acerca de cómo ejecutar un análisis de conformidad de InSpec con la consola de Systems Manager y la AWS Command Line Interface (AWS CLI). En el procedimiento con la consola, se muestra cómo configurar State Manager para que ejecute el análisis. En el procedimiento con la AWS CLI, se muestra cómo configurar Run Command para que ejecute el análisis.

### Ejecución de un análisis de conformidad de InSpec con State Manager (consola)
<a name="integration-chef-inspec-running-console"></a>

**Para ejecutar un análisis de InSpec Compliance con State Manager mediante la consola de AWS Systems Manager**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **State Manager**.

1. Elija **Crear asociación**.

1. En la sección **Provide association details** (Proporcionar detalles de la asociación), escriba un nombre.

1. En la lista **Document** (Documento), elija **`AWS-RunInspecChecks`**.

1. En la lista **Document version** (Versión del documento), elija **Latest at runtime** (El último durante el tiempo de ejecución).

1. En la sección **Parámetros**, en la lista **Tipo de origen**, seleccione **GitHub** o **S3**.

   Si selecciona **GitHub**, introduzca a continuación la ruta hacia un perfil InSpec en un repositorio público o privado de GitHub en el campo **Información del origen**. A continuación, se muestra un ejemplo de ruta hacia un perfil público proporcionado por el equipo de Systems Manager desde la siguiente ubicación: [https://github.com/awslabs/amazon-ssm/tree/master/Compliance/InSpec/PortCheck](https://github.com/awslabs/amazon-ssm/tree/master/Compliance/InSpec/PortCheck).

   ```
   {"owner":"awslabs","repository":"amazon-ssm","path":"Compliance/InSpec/PortCheck","getOptions":"branch:master"}
   ```

   Si elige **S3**, escriba a continuación una URL válida hacia un perfil de InSpec en un bucket de S3 en el campo **Source Info (Información del origen)**. 

   Para obtener más información sobre cómo se integra Systems Manager en GitHub y Amazon S3, consulte [Ejecución de scripts desde GitHub](integration-remote-scripts.md). 

1. En la sección **Targets** (Destinos), para elegir los nodos administrados en los que desea ejecutar esta operación, especifique las etiquetas, seleccione las instancias o los dispositivos de borde manualmente o especifique un grupo de recursos.
**sugerencia**  
Si un nodo administrado que espera ver no aparece en la lista, consulte [Solución de problemas de disponibilidad de nodos administrados](fleet-manager-troubleshooting-managed-nodes.md) para obtener consejos de solución de problemas.

1. En la sección **Specify schedule** (Especificar programación), utilice las opciones del generador de programaciones para crear una que especifique cuándo desea que se ejecute el análisis de Compliance.

1. En **Rate control** (Control de velocidad):
   + En **Concurrency** (Simultaneidad), especifique un número o un porcentaje de los nodos administrados en los que desea ejecutar el comando al mismo tiempo.
**nota**  
Si seleccionó los destinos mediante la especificación de etiquetas aplicadas a nodos administrados o de grupos de recursos de AWS y no está seguro de cuántos nodos administrados tienen destino, limite el número de destinos que puede ejecutar el documento al mismo tiempo. Para ello, especifique un porcentaje.
   + En **Error threshold** (Umbral de errores), especifique cuándo desea parar la ejecución del comando en los demás nodos administrados después de que haya fallado en un número o un porcentaje de los nodos. Por ejemplo, si especifica tres errores, Systems Manager dejará de enviar el comando cuando se reciba el cuarto error. Los nodos administrados que estén procesando el comando todavía pueden enviar errores.

1. (Opcional) En **Opciones de salida**, para guardar la salida del comando en un archivo, seleccione el cuadro **Write command output to an S3 bucket**. Ingrese los nombres del bucket y del prefijo (carpeta) en los cuadros.
**nota**  
Los permisos de S3 que conceden la capacidad de escribir datos en un bucket de S3 son los del perfil de instancia (para instancias de EC2) o rol de servicio de IAM (máquinas activadas de manera híbrida) asignados a la instancia, no los del usuario de IAM que realiza esta tarea. Para obtener más información, consulte [Configuración de permisos de instancia requeridos para Systems Manager](setup-instance-permissions.md) o [Creación de un rol de servicio de IAM para un entorno híbrido](hybrid-multicloud-service-role.md). Además, si el bucket de S3 especificado se encuentra en una Cuenta de AWS diferente, asegúrese de que el perfil de instancias o el rol de servicio de IAM asociado al nodo administrado tenga los permisos necesarios para escribir en ese bucket.

1. Elija **Crear asociación**. El sistema crea la asociación y ejecuta el análisis de Compliance automáticamente.

1. Espere unos minutos para hasta que finalice el análisis y, a continuación, elija **Compliance** (Conformidad) en el panel de navegación.

1. En **Corresponding managed instances** (Instancias administradas correspondientes), localice los nodos en los que la columna **Compliance Type** (Tipo de conformidad) sea **Custom:Inspec**.

1. Elija un ID de nodo para ver los detalles de los estados no conformes.

### Ejecución de un análisis de conformidad de InSpec con Run Command (AWS CLI)
<a name="integration-chef-inspec-running-cli"></a>

1. Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

   Para obtener información, consulte [Instalación o actualización de la última versión de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Ejecute uno de los siguientes comandos para ejecutar un perfil de InSpec desde GitHub o Amazon S3.

   El comando usa los siguientes parámetros:
   + **sourceType**: GitHub o Amazon S3
   + **sourceInfo**: URL de la carpeta del perfil InSpec en GitHub o en un bucket de S3. La carpeta debe contener el archivo base InSpec (\$1.yml) y todos los controles relacionados (\$1.rb).

   **GitHub**

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"Inspec.yml_file"}"]}'
   ```

   A continuación se muestra un ejemplo.

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters '{"sourceType":["GitHub"],"getOptions":"branch:master","sourceInfo":["{\"owner\":\"awslabs\", \"repository\":\"amazon-ssm\", \"path\": \"Compliance/InSpec/PortCheck\"}"]}'
   ```

   **Amazon S3**

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/Inspec.yml_file\"}"]}'
   ```

   A continuación se muestra un ejemplo.

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/InSpec/PortCheck.yml\"}"]}' 
   ```

1. Ejecute el siguiente comando para ver un resumen del análisis de Compliance.

   ```
   aws ssm list-resource-compliance-summaries --filters Key=ComplianceType,Values=Custom:Inspec
   ```

1. Ejecute el siguiente comando para ver los detalles de un nodo no conforme.

   ```
   aws ssm list-compliance-items --resource-ids node_ID --resource-type ManagedInstance --filters Key=DocumentName,Values=AWS-RunInspecChecks
   ```

# Integración de con ServiceNow
<a name="integrations-partners-servicenow"></a>

ServiceNow ofrece un sistema de administración de servicios basado en la nube para crear y administrar flujos de trabajo en la organización, como para los servicios de TI, los sistemas de tickets y la asistencia. El Conector de administración de servicios de AWS integra ServiceNow con Systems Manager para aprovisionar, administrar y operar recursos de AWS desde ServiceNow. Puede utilizar el Conector de Administración de Servicios AWS para integrar ServiceNow con Automatización, Change Manager, Administración de incidentes y OpsCenter, que son herramientas de AWS Systems Manager. 

Con ServiceNow, puede realizar las tareas siguientes: 
+ Ejecutar manuales de automatización desde Systems Manager. 
+ Ver, actualizar y resolver incidentes desde OpsItems de Systems Manager. 
+ Ver y administrar los elementos operativos, como los incidentes, a través de OpsCenter de Systems Manager. 
+ Ver y ejecutar las solicitudes de cambio de Systems Manager a partir de una lista seleccionada de plantillas de cambios aprobadas previamente. 
+ Administrar y resolver los incidentes relacionados las aplicaciones alojadas en AWS mediante la integración con Administrador de incidentes. 

**nota**  
Para obtener más información sobre la integración con ServiceNow, consulte [Configuración de las integraciones de servicios de AWS](https://docs.aws.amazon.com/smc/latest/ag/sn-config-integ.html) en la *Guía del administrador del Conector de administración de servicios de AWS*.