

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Integração com outros produtos e serviços
<a name="integrations-partners"></a>

AWS Systems ManagerO tem integração interna para os produtos e serviços mostrados na tabela abaixo.


|  |  | 
| --- |--- |
|  Ansible  |  O [https://www.ansible.com/](https://www.ansible.com/) é uma plataforma de automação de TI que torna aplicações e sistemas mais fáceis de implantar. O Systems Manager fornece o documento do Systems Manager (documento SSM) `AWS-ApplyAnsiblePlaybooks` que permite a você criar associações do State Manager que executam manuais do Ansible.  Saiba mais [Criar associações que executam manuais do Ansible](systems-manager-state-manager-ansible.md)   | 
|  Chef  |  O [https://www.chef.io/](https://www.chef.io/) é uma ferramenta de automação de TI que facilita a implantação de seus sistemas e aplicações. O Systems Manager fornece o documento do SSM `AWS-ApplyChefRecipes` que permite criar associações no State Manager, uma ferramenta do AWS Systems Manager que executa receitas do Chef.  Saiba mais [Criar associações que executam receitas do Chef](systems-manager-state-manager-chef.md)  O Systems Manager também se integra aos perfis do [https://www.chef.io/products/chef-inspec/](https://www.chef.io/products/chef-inspec/), permitindo que você execute verificações de conformidade e visualize nós compatíveis e não compatíveis.  Saiba mais [Usar os perfis do Chef InSpec com o Systems Manager Compliance](integration-chef-inspec.md)   | 
|  GitHub  |  O [https://github.com/](https://github.com/) fornece hospedagem para o controle de versão de desenvolvimento de software e colaboração. O Systems Manager fornece o documento do SSM `AWS-RunDocument`, que permite a você executar outros documentos do SSM armazenados no GitHub, e o documento do SSM `AWS-RunRemoteScript`, que permite executar scripts armazenados no GitHub. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/integrations-partners.html)  | 
|  Jenkins  |  O [https://www.jenkins.io/](https://www.jenkins.io/) é um servidor de automação de código aberto que permite que os desenvolvedores criem, testem e implantem software de forma confiável. O Automation, uma ferramenta do Systems Manager, pode ser usado como uma etapa pós-compilação para pré-instalar as versões da aplicação nas Amazon Machine Images (AMIs).  Saiba mais [Atualizar AMIs usando o Automation e Jenkins](automation-tutorial-update-patch-ami-jenkins-integration.md)   | 
|  ServiceNow  |  O [https://www.servicenow.com/](https://www.servicenow.com/) é um sistema de gerenciamento de serviços corporativos que permite gerenciar seus serviços e operações de TI. Automation, Change Manager, Incident Manager e OpsCenter, todos ferramentas do Systems Manager, são integrados ao ServiceNow por meio do AWS Service Management Connector. Com essa integração, você pode visualizar, criar, atualizar, adicionar correspondência e resolver casos do AWS Support diretamente no ServiceNow.  Saiba mais [Integração com o ServiceNow](integrations-partners-servicenow.md)    | 
| Terraform |  O HashiCorp [Terraform](https://registry.terraform.io/) é uma ferramenta de software de *infraestrutura como código* (IaC) de código aberto que fornece um fluxo de trabalho de interface de linha de comandos (CLI) para gerenciar vários serviços em nuvem. No Systems Manager, você pode usar o Terraform para gerenciar ou provisionar o seguinte: **Recursos do** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/integrations-partners.html) **Fontes de dados** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/integrations-partners.html)  | 

**Topics**
+ [Executar scripts do GitHub](integration-remote-scripts.md)
+ [Usar os perfis do Chef InSpec com o Systems Manager Compliance](integration-chef-inspec.md)
+ [Integração com o ServiceNow](integrations-partners-servicenow.md)

# Executar scripts do GitHub
<a name="integration-remote-scripts"></a>

Esta seção descreve como usar o documento do Systems Manager (documento SSM) predefinido `AWS-RunRemoteScript` para baixar scripts do GitHub, inclusive manuais do Ansible e scripts Python, Ruby e PowerShell. Usando esse documento do SSM, você não precisa mais modificar scripts manualmente no Amazon Elastic Compute Cloud (Amazon EC2) ou encapsulá-los em documentos do SSM. A integração do AWS Systems Manager com o GitHub promove a *infraestrutura como código*, o que reduz o tempo necessário para gerenciar nós ao padronizar configurações em toda a frota. 

Você pode também criar documentos SSM personalizados que permitem baixar e executar scripts ou outros documentos SSM de locais remotos. Para obter mais informações, consulte [Criar documentos compostos](documents-creating-content.md#documents-creating-composite).

Você pode também fazer download de um diretório que inclua vários scripts. Ao executar o script principal no diretório, o Systems Manager executa também qualquer script referenciado que estiver incluído no diretório. 

Observe os detalhes essenciais a seguir sobre a execução de scripts do GitHub.
+ O Systems Manager não verifica se o script pode ser executado em um nó. Antes de baixar e executar o script, verifique se o software necessário está instalado em seu nó. Ou você pode criar um documento composto que instala o software usando o Run Command ou o State Manager, ambos ferramentas do AWS Systems Manager, e, em seguida, baixa e executa o script.
+ Você é responsável por garantir que todos os requisitos do GitHub sejam atendidos. Isso inclui a atualização de seu token de acesso, conforme necessário. Tome cuidado para não ultrapassar o número de solicitações autenticadas ou não autenticadas. Para obter mais informações, consulte a documentação do GitHub.
+ Não há suporte a repositórios do GitHub Enterprise.

**Topics**
+ [Executar manuais do Ansible via GitHub](integration-github-ansible.md)
+ [Executar scripts Python no GitHub](integration-github-python.md)

# Executar manuais do Ansible via GitHub
<a name="integration-github-ansible"></a>

Esta seção inclui procedimentos para ajudar você a executar manuais do Ansible via GitHub usando o console ou a AWS Command Line Interface (AWS CLI).

**Antes de começar**  
Se você planeja executar um script armazenado em um repositório privado do GitHub, crie um parâmetro `SecureString` do AWS Systems Manager para o token de acesso de segurança do GitHub. Você não pode acessar um script em um repositório privado do GitHub transmitindo manualmente o token via SSH. O token de acesso deve ser passado como um parâmetro `SecureString` do Systems Manager. Para obter mais informações sobre como criar um parâmetro `SecureString`, consulte [Criar parâmetros do Parameter Store no Systems Manager](sysman-paramstore-su-create.md).

## Executar um manual do Ansible via GitHub (console)
<a name="integration-github-ansible-console"></a>

**Executar um manual do Ansible via GitHub**

1. Abra o console AWS Systems Manager em [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. No painel de navegação, escolha **Run Command**.

1. Selecione **Run command**.

1. Na lista **Command document** (Documento do comando), escolha **`AWS-RunRemoteScript`**.

1. Em **Command parameters**, faça o seguinte:
   + Em **Tipo de origem**, selecione **GitHub**. 
   + Na caixa de texto **Source Info** (Informações da origem) insira as informações necessárias para acessar a origem no seguinte formato:

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

     Este exemplo faz download de um arquivo chamado `webserver.yml`. 

     ```
     {
         "owner": "TestUser1",
         "repository": "GitHubPrivateTest",
         "getOptions": "branch:myBranch",
         "path": "scripts/webserver.yml",
         "tokenInfo": "{{ssm-secure:mySecureStringParameter}}"
     }
     ```
**nota**  
`"branch"` é necessário somente se o documento do SSM estiver armazenado em uma ramificação diferente de `master`.  
Para usar a versão de seus scripts que estão em uma *confirmação* específica no repositório, use `commitID` com `getOptions` em vez de `branch`. Por exemplo:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + No campo **Command Line** (Linha de comando), digite os parâmetros para a execução do script. Aqui está um exemplo.

     **ansible-playbook -i “localhost,” --check -c local webserver.yml**
   + (Opcional) No campo **Working Directory** (Diretório de trabalho), insira o nome de um diretório do nó em que você deseja baixar e executar o script.
   + (Opcional) Em **Execution Timeout**, especifique o número de segundos para o sistema aguardar antes de a execução do comando de script falhar. 

1. Na seção **Targets** (Destinos), escolha os nós gerenciados nos quais você quer executar essa operação, especificando as etiquetas, selecionando as instâncias ou dispositivos de borda manualmente ou especificando um grupo de recursos.
**dica**  
Se um nó gerenciado que você espera ver não estiver listado, consulte [Solução de problemas de disponibilidade do nó gerenciado](fleet-manager-troubleshooting-managed-nodes.md) para obter dicas de solução de problemas.

1. Para **Other parameters (Outros parâmetros)**:
   + Em **Comment** (Comentário), digite as informações sobre esse comando.
   + Em **Timeout (seconds) (Tempo limite [segundos])**, especifique o número de segundos para o sistema aguardar até a falha de execução do comando total. 

1. Para **Rate control** (Controle de taxa):
   + Em **Concurrency** (Concorrência), especifique um número ou uma porcentagem de nós gerenciados nos quais executar o comando ao mesmo tempo.
**nota**  
Se você selecionou destinos especificando tags aplicadas a instâncias a nós gerenciados ou especificando grupos de recursos da AWS, e não tiver certeza de quantas instâncias são direcionadas, restrinja o número de instâncias que poderão executar o documento ao mesmo tempo, especificando uma porcentagem.
   + Em **Error threshold** (Limite de erro), especifique quando parar de executar o comando em outros nós depois de falhar em alguns ou em uma porcentagem de nós. Por exemplo, se você especificar três erros, o Systems Manager deixará de enviar o comando quando o 4° erro for recebido. Os nós gerenciados que continuam processando o comando também podem enviar erros.

1. (Opcional) Em **Output options (Opções de saída)**, para salvar a saída do comando em um arquivo, selecione a caixa **Write command output to an S3 bucket (Gravar saída do comando em um bucket do S3)**. Digite os nomes de bucket e prefixo (pastas) nas caixas de texto.
**nota**  
As permissões do S3 que concedem a possibilidade de gravar os dados em um bucket do S3 são as do perfil de instância (para instâncias do EC2) ou perfil de serviço do IAM (máquinas ativadas para ambientes híbridos) atribuído à instância, e não as do usuário do IAM que realiza essa tarefa. Para obter mais informações, consulte [Configurar permissões de instância obrigatórias para o Systems Manager](setup-instance-permissions.md) ou [Criar um perfil de serviço do IAM para um ambiente híbrido](hybrid-multicloud-service-role.md). Além disso, se o bucket do S3 especificado estiver em uma conta da Conta da AWS diferente, verifique se o perfil da instância ou a função de serviço do IAM associado ao nó gerenciado tenha as permissões necessárias para gravar nesse bucket.

1. Na seção **SNS notifications** (Notificações do SNS), se quiser enviar notificações sobre o status da execução do comando, marque a caixa de seleção **Enable SNS notifications** (Habilitar notificações do SNS).

   Para obter mais informações sobre a configuração de notificações do Amazon SNS para o Run Command, consulte [Monitorar alterações de status do Systems Manager usando as notificações do Amazon SNS](monitoring-sns-notifications.md).

1. Escolha **Executar**.

## Executar um manual do Ansible no GitHub usando a AWS CLI
<a name="integration-github-ansible-cli"></a>

1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

   Para obter informações, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Execute o comando a seguir para baixar e executar um script do 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"]}'
   ```

   Veja a seguir um comando de exemplo a ser executado em uma máquina Linux local.

   ```
   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"]}'
   ```

# Executar scripts Python no GitHub
<a name="integration-github-python"></a>

Esta seção inclui procedimentos para ajudar você a executar scripts do Python no GitHub usando o console do AWS Systems Manager ou a AWS Command Line Interface (AWS CLI). 

## Executar um script do Python no GitHub (console)
<a name="integration-github-python-console"></a>

**Executar um script do Python no GitHub**

1. Abra o console AWS Systems Manager em [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. No painel de navegação, escolha **Run Command**.

1. Selecione **Run command**.

1. Na lista **Command document** (Documento do comando), escolha **`AWS-RunRemoteScript`**.

1. Em **Command parameters (Parâmetros do comando)**, faça o seguinte:
   + Em **Tipo de origem**, selecione **GitHub**. 
   + Na caixa de texto **Source Info** (Informações da origem) insira as informações necessárias para acessar a origem no seguinte formato:

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

     O exemplo a seguir baixa um diretório de scripts chamado *complex-script*.

     ```
     {
         "owner": "TestUser1",
         "repository": "SSMTestDocsRepo",
         "getOptions": "branch:myBranch",
         "path": "scripts/python/complex-script",
         "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
     }
     ```
**nota**  
`"branch"` é necessário somente se seus scripts estiverem armazenados em uma ramificação diferente de `master`.  
Para usar a versão de seus scripts que estão em uma *confirmação* específica no repositório, use `commitID` com `getOptions` em vez de `branch`. Por exemplo:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + No campo **Command Line** (Linha de comando), digite os parâmetros para a execução do script. Aqui está um exemplo.

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

     Este exemplo executa o `mainFile.py` que, por sua vez, pode executar outros scripts no diretório `complex-script`.
   + (Opcional) Em **Working Directory** (Diretório de trabalho), digite o nome de um diretório do nó em que deseja baixar e executar o script.
   + (Opcional) Em **Execution Timeout (Tempo limite de execução)**, especifique o número de segundos para o sistema aguardar antes de a execução do comando de script falhar. 

1. Na seção **Targets** (Destinos), escolha os nós gerenciados nos quais você quer executar essa operação, especificando as etiquetas, selecionando as instâncias ou dispositivos de borda manualmente ou especificando um grupo de recursos.
**dica**  
Se um nó gerenciado que você espera ver não estiver listado, consulte [Solução de problemas de disponibilidade do nó gerenciado](fleet-manager-troubleshooting-managed-nodes.md) para obter dicas de solução de problemas.

1. Para **Other parameters (Outros parâmetros)**:
   + Em **Comment** (Comentário), digite as informações sobre esse comando.
   + Em **Timeout (seconds) (Tempo limite [segundos])**, especifique o número de segundos para o sistema aguardar até a falha de execução do comando total. 

1. Para **Rate control** (Controle de taxa):
   + Em **Concurrency** (Concorrência), especifique um número ou uma porcentagem de nós gerenciados nos quais executar o comando ao mesmo tempo.
**nota**  
Se você selecionou destinos especificando tags aplicadas a instâncias a nós gerenciados ou especificando grupos de recursos da AWS, e não tiver certeza de quantas instâncias são direcionadas, restrinja o número de instâncias que poderão executar o documento ao mesmo tempo, especificando uma porcentagem.
   + Em **Error threshold** (Limite de erro), especifique quando parar de executar o comando em outros nós depois de falhar em alguns ou em uma porcentagem de nós. Por exemplo, se você especificar três erros, o Systems Manager deixará de enviar o comando quando o 4° erro for recebido. Os nós gerenciados que continuam processando o comando também podem enviar erros.

1. (Opcional) Em **Output options (Opções de saída)**, para salvar a saída do comando em um arquivo, selecione a caixa **Write command output to an S3 bucket (Gravar saída do comando em um bucket do S3)**. Digite os nomes de bucket e prefixo (pastas) nas caixas de texto.
**nota**  
As permissões do S3 que concedem a possibilidade de gravar os dados em um bucket do S3 são as do perfil de instância (para instâncias do EC2) ou perfil de serviço do IAM (máquinas ativadas para ambientes híbridos) atribuído à instância, e não as do usuário do IAM que realiza essa tarefa. Para obter mais informações, consulte [Configurar permissões de instância obrigatórias para o Systems Manager](setup-instance-permissions.md) ou [Criar um perfil de serviço do IAM para um ambiente híbrido](hybrid-multicloud-service-role.md). Além disso, se o bucket do S3 especificado estiver em uma conta da Conta da AWS diferente, verifique se o perfil da instância ou a função de serviço do IAM associado ao nó gerenciado tenha as permissões necessárias para gravar nesse bucket.

1. Na seção **SNS notifications** (Notificações do SNS), se quiser enviar notificações sobre o status da execução do comando, marque a caixa de seleção **Enable SNS notifications** (Habilitar notificações do SNS).

   Para obter mais informações sobre a configuração de notificações do Amazon SNS para o Run Command, consulte [Monitorar alterações de status do Systems Manager usando as notificações do Amazon SNS](monitoring-sns-notifications.md).

1. Escolha **Executar**.

## Executar um script do Python no GitHub usando a AWS CLI
<a name="integration-github-python-cli"></a>

1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

   Para obter informações, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Execute o comando a seguir para baixar e executar um script do 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"]}'
   ```

   Aqui está um exemplo.

   ```
   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 "]}'
   ```

   Este exemplo baixa um diretório de scripts denominado `complex-script`. A entrada `commandLine` executa o `mainFile.py` que, por sua vez, pode executar outros scripts no diretório `complex-script`.

# Usar os perfis do Chef InSpec com o Systems Manager Compliance
<a name="integration-chef-inspec"></a>

O AWS Systems Manager é integrado ao [https://www.chef.io/products/chef-inspec](https://www.chef.io/products/chef-inspec). O Chef InSpec é uma estrutura de teste de código aberto que permite criar perfis legíveis para armazenamento no GitHub ou no Amazon Simple Storage Service (Amazon S3). Em seguida, você pode usar o Systems Manager para executar verificações de compatibilidade e visualizar nós compatíveis e não compatíveis. Um *perfil* é um requisito de segurança, compatibilidade ou política de seu ambiente de computação. Por exemplo, é possível criar perfis que executam as seguintes verificações ao verificar os nós com o Compliance, uma ferramenta do AWS Systems Manager:
+ Verificar se portas específicas estão abertas ou fechadas.
+ Verificar se aplicativos específicos estão em execução.
+ Verificar se determinados pacotes estão instalados.
+ Verificar propriedades específicas em chaves do Registro do Windows.

Você pode criar perfis do InSpec *apenas* para instâncias do Amazon Elastic Compute Cloud (Amazon EC2) que você gerencia com o Systems Manager. Os servidores on-premises ou as máquinas virtuais (VMs) não são compatíveis. O seguinte exemplo do perfil do Chef InSpec verifica se a porta 22 está aberta.

```
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
```

O InSpec inclui um conjunto de recursos que ajudam você a escrever rapidamente verificações e controles de auditoria. O InSpec usa a [Domain-specific Language (DSL) do InSpec](https://docs.chef.io/inspec/7.0/reference/glossary/#dsl) para escrever esses controles no Ruby. Você também pode usar perfis criados por uma grande comunidade de usuários do InSpec. Por exemplo, o projeto [DevSec chef-os-hardening](https://github.com/dev-sec/chef-os-hardening) no GitHub inclui dezenas de perfis para ajudar você a proteger seus nós. Você pode criar e armazenar perfis no GitHub ou no Amazon S3. 

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

Veja a seguir a forma como o processo de usar perfis do InSpec com o Compliance funciona:

1. Identifique perfis do InSpec predefinidos que você deseja usar ou crie seus próprios. Você pode usar [perfis predefinidos](https://github.com/search?p=1&q=topic%3Ainspec+org%3Adev-sec&type=Repositories) no GitHub para começar. Para obter informações sobre como criar seus próprios perfis do InSpec, consulte [Perfis do Chef InSpec](https://www.inspec.io/docs/reference/profiles/)

1. Armazene perfis em um repositório GitHub público ou privado ou em um bucket do S3.

1. Execute o Compliance com seus perfis do InSpec usando o documento do Systems Manager (documento do SSM) `AWS-RunInspecChecks`. Você pode iniciar uma verificação do Compliance usando o Run Command, uma ferramenta do AWS Systems Manager, para verificações sob demanda ou programar verificações regulares do Compliance usando o State Manager, uma ferramenta do AWS Systems Manager.

1. Identifique os nós incompatíveis usando a API Compliance ou o console do Compliance.

**nota**  
Observe as seguintes informações:  
O Chef usa um cliente em seus nós gerenciados para processar o perfil. Você não precisa instalar o cliente. Quando o Systems Manager executa o documento `AWS-RunInspecChecks`, o sistema verifica se o cliente está instalado. Caso contrário, o Systems Manager instala o cliente do Chef durante a verificação e, em seguida, desinstala o cliente após a verificação ser concluída.
A execução do documento do SSM `AWS-RunInspecChecks`, conforme descrito neste tópico, atribui uma entrada de conformidade do tipo `Custom:Inspec` para cada nó de destino. Para atribuir esse tipo de conformidade, o documento chama a operação de API [PutComplianceItems](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutComplianceItems.html).

## Executar uma verificação de conformidade no InSpec
<a name="integration-chef-inspec-running"></a>

Esta seção inclui informações sobre como executar uma verificação de conformidade do InSpec usando o console do Systems Manager e a AWS Command Line Interface (AWS CLI). O procedimento do console mostra como configurar o State Manager para executar a verificação. O procedimento da AWS CLI mostra como configurar o Run Command para executar a verificação.

### Executar uma verificação de conformidade no InSpec com State Manager (console)
<a name="integration-chef-inspec-running-console"></a>

**Como executar uma verificação de conformidade no InSpec com o State Manager usando o console do AWS Systems Manager**

1. Abra o console AWS Systems Manager em [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. No painel de navegação, escolha **State Manager**.

1. Selecione **Criar associação**.

1. Na seção **Provide association details** (Fornecer detalhes da associação), digite um nome.

1. Na lista **Document** (Documento), escolha **`AWS-RunInspecChecks`**.

1. Na lista **Document version** (Versão do documento), escolha **Latest at runtime** (Mais recente em runtime).

1. Na seção **Parâmetros**, na lista **Tipo de origem**, escolha **GitHub** ou **S3**.

   Se você escolher **GitHub**, digite o caminho para um perfil do InSpec em um repositório do GitHub público ou privado no campo **Informações da origem**. Este é um caminho de exemplo para um perfil público fornecido pela equipe do Systems Manager no seguinte local: [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"}
   ```

   Se você escolher **S3**, insira um URL válido para um perfil do InSpec em um bucket do S3, no campo **Source Info (Informações de origem)**. 

   Para obter mais informações sobre como o Systems Manager se integra com o GitHub e com o Amazon S3, consulte [Executar scripts do GitHub](integration-remote-scripts.md). 

1. Na seção **Targets** (Destinos), escolha os nós gerenciados nos quais você quer executar essa operação, especificando as tags, selecionando as instâncias ou dispositivos de borda manualmente ou especificando um grupo de recursos.
**dica**  
Se um nó gerenciado que você espera ver não estiver listado, consulte [Solução de problemas de disponibilidade do nó gerenciado](fleet-manager-troubleshooting-managed-nodes.md) para obter dicas de solução de problemas.

1. Na seção **Specify schedule** (Especificar programação), use as opções do construtor de programação para criar uma programação que especifica quando você deseja que a verificação do Compliance seja executada.

1. Para **Rate control** (Controle de taxa):
   + Em **Concurrency** (Concorrência), especifique um número ou uma porcentagem de nós gerenciados nos quais executar o comando ao mesmo tempo.
**nota**  
Se você selecionou destinos especificando tags aplicadas a instâncias a nós gerenciados ou especificando grupos de recursos da AWS, e não tiver certeza de quantas instâncias são direcionadas, restrinja o número de instâncias que poderão executar o documento ao mesmo tempo, especificando uma porcentagem.
   + Em **Error threshold** (Limite de erro), especifique quando parar de executar o comando em outros nós depois de falhar em alguns ou em uma porcentagem de nós. Por exemplo, se você especificar três erros, o Systems Manager deixará de enviar o comando quando o 4° erro for recebido. Os nós gerenciados que continuam processando o comando também podem enviar erros.

1. (Opcional) Em **Output options (Opções de saída)**, para salvar a saída do comando em um arquivo, selecione a caixa **Write command output to an S3 bucket (Gravar saída do comando em um bucket do S3)**. Digite os nomes de bucket e prefixo (pastas) nas caixas de texto.
**nota**  
As permissões do S3 que concedem a possibilidade de gravar os dados em um bucket do S3 são as do perfil de instância (para instâncias do EC2) ou perfil de serviço do IAM (máquinas ativadas para ambientes híbridos) atribuído à instância, e não as do usuário do IAM que realiza essa tarefa. Para obter mais informações, consulte [Configurar permissões de instância obrigatórias para o Systems Manager](setup-instance-permissions.md) ou [Criar um perfil de serviço do IAM para um ambiente híbrido](hybrid-multicloud-service-role.md). Além disso, se o bucket do S3 especificado estiver em uma conta da Conta da AWS diferente, verifique se o perfil da instância ou a função de serviço do IAM associado ao nó gerenciado tenha as permissões necessárias para gravar nesse bucket.

1. Escolha **Create Association (Criar associação)**. O sistema cria a associação e executa automaticamente a verificação do Compliance.

1. Aguarde vários minutos até que a verificação seja concluída e, em seguida, escolha **Compliance** no painel de navegação.

1. Em **Corresponding managed instances** (Instâncias gerenciadas correspondentes), localize os nós em que a coluna **Compliance Type** (Tipo de compatibilidade) seja **Custom:Inspec**.

1. Escolha o ID de um nó para visualizar os detalhes dos status de incompatibilidade.

### Executar uma verificação de conformidade no InSpec com Run Command (AWS CLI)
<a name="integration-chef-inspec-running-cli"></a>

1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

   Para obter informações, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Execute um dos seguintes comandos para executar um perfil do InSpec no GitHub ou no Amazon S3.

   O comando usa os seguintes parâmetros:
   + **sourceType**: GitHub ou Amazon S3
   + **sourceInfo**: URL para a pasta de perfil do InSpec no GitHub ou em um bucket do S3. A pasta base deve conter o arquivo base do InSpec (\$1.yml) e todos os 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"}"]}'
   ```

   Aqui está um exemplo.

   ```
   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\"}"]}'
   ```

   Aqui está um exemplo.

   ```
   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. Execute o comando a seguir para visualizar um resumo da verificação do Compliance.

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

1. Execute o comando a seguir para ver detalhes de um nó que não é compatível.

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

# Integração com o ServiceNow
<a name="integrations-partners-servicenow"></a>

O ServiceNow fornece um sistema de gerenciamento de serviços baseado na nuvem para criar e gerenciar fluxos de trabalho em nível organizacional, como serviços de TI, sistemas de chamados e suporte. O AWS Service Management Connector integra o ServiceNow ao Systems Manager para provisionar, gerenciar e operar recursos da AWS diretamente no ServiceNow. É possível usar o AWS Service Management Connector para integrar o ServiceNow ao Automation, Change Manager, Incident Manager e OpsCenter, todos eles ferramentas do AWS Systems Manager. 

Ao usar o ServiceNow, é possível executar as seguintes tarefas: 
+ Executar playbooks de automação do Systems Manager. 
+ Visualizar, atualizar e resolver incidentes de OpsItems do Systems Manager. 
+ Visualizar e gerenciar itens operacionais, como incidentes, por meio do OpsCenter do Systems Manager. 
+ Visualizar e executar solicitações de alteração do Systems Manager com base em uma lista selecionada de modelos pré-aprovados de alteração. 
+ Gerenciar e resolver incidentes envolvendo aplicativos hospedados na AWS por meio de integração com o Incident Manager. 

**nota**  
Para obter informações sobre como fazer a integração com o ServiceNow, consulte [Configurar integrações ao serviço da AWS](https://docs.aws.amazon.com/smc/latest/ag/sn-config-integ.html) no *Guia do administrador do AWS Service Manager Connector*.