

• 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). 

# AWS Systems Manager Session Manager
<a name="session-manager"></a>

O Session Manager é uma ferramenta do AWS Systems Manager totalmente gerenciada. Com o Session Manager, é possível gerenciar as instâncias, os dispositivos de borda, os servidores on-premises e as máquinas virtuais (VMs) do Amazon Elastic Compute Cloud (Amazon EC2). Use um shell interativo baseado em navegador acionado com um clique ou o AWS Command Line Interface (AWS CLI). O Session Manager fornece gerenciamento de nós seguro sem a necessidade de abrir portas de entrada, manter bastion hosts ou gerenciar chaves SSH. O Session Manager também facilita a conformidade com políticas corporativas que exigem acesso controlado aos nós gerenciados, práticas rígidas de segurança e logs com detalhes do acesso aos nós, sem deixar de fornecer aos usuários finais acesso com um clique aos nós gerenciados em várias plataformas. Para começar a usar o Session Manager, abra o [Systems Manager console](https://console.aws.amazon.com/systems-manager/session-manager) (Console do gerenciador de sistemas). No painel de navegação, escolha **Session Manager**.

## Como o Session Manager beneficia minha organização?
<a name="session-manager-benefits"></a>

Session Manager oferece estes benefícios:
+  **Controle de acesso centralizado aos nós gerenciados usando as políticas do IAM** 

  Os administradores têm um único lugar para conceder e revogar o acesso a nós gerenciados. Usando somente políticas do AWS Identity and Access Management (IAM), você pode controlar quais usuários individuais ou grupos na sua organização podem usar o Session Manager e quais nós gerenciados eles podem acessar. 
+  **Sem a necessidade de abrir portas de entrada e de gerenciar bastion hosts ou chaves SSH** 

  Deixar portas SSH de entrada e portas do PowerShell remotas abertas em seus nós gerenciados aumenta muito o risco de entidades executarem comandos não autorizados ou mal-intencionados nesses nós. O Session Manager ajuda a melhorar o procedimento de segurança, permitindo que você feche essas portas de entrada, eliminando o gerenciamento de chaves e certificados SSH, bastion hosts e caixas de diálogo.
+  **Acesso com um clique aos nós gerenciados do console e da CLI** 

  Usando o console do AWS Systems Manager ou do Amazon EC2, é possível iniciar uma sessão com um único clique. Usando a AWS CLI, você também pode iniciar uma sessão que executa um único comando ou uma sequência de comandos. Como as permissões para os nós gerenciados são fornecidas por meio de políticas do IAM em vez de chaves SSH ou outros mecanismos, o tempo de conexão é significativamente reduzido.
+  **Estabelecer conexão com instâncias do Amazon EC2 e nós gerenciados que não são do EC2 em ambientes [híbridos e multinuvem](operating-systems-and-machine-types.md#supported-machine-types)** 

  É possível estabelecer conexão com instâncias do Amazon Elastic Compute Cloud (Amazon EC2) e nós que não são do EC2 em seu ambiente [híbrido e multinuvem](operating-systems-and-machine-types.md#supported-machine-types). 

  Para estabelecer conexão com nós que não pertençam ao EC2 usando o Session Manager, primeiramente é necessário ativar o nível de instâncias avançadas. **Há uma cobrança para o uso do nível de instâncias avançadas.** No entanto, não há custo adicional para se conectar às instâncias do EC2 usando o Session Manager. Para mais informações, consulte [Configurar níveis de instâncias](fleet-manager-configure-instance-tiers.md).
+  **Encaminhamento de portas** 

  Redirecione todas as portas dentro do nó gerenciado para uma porta local em um cliente. Depois disso, conecte-se à porta local e acesse a aplicação do servidor que está sendo executado dentro do nó.
+  **Suporte entre plataformas para Windows, Linux e macOS** 

  O Session Manager fornece suporte para Windows, Linux e macOS em uma única ferramenta. Por exemplo, você não precisa usar um cliente SSH para nós gerenciados do Linux e do macOS ou uma conexão RDP para nós gerenciados do Windows Server.
+  **Registrar a atividade de sessão de registro em log** 

  Para satisfazer os requisitos de segurança ou operacionais em sua organização, pode ser necessário fornecer um registro das conexões feitas para seus nós gerenciados e os comandos que foram executados nelas. Você também pode receber notificações quando um usuário na sua organização começar ou terminar a atividade da sessão. 

  Os recursos de registro em log são fornecidos por meio de integração com os seguintes Serviços da AWS:
  + **AWS CloudTrail** – o AWS CloudTrail captura informações sobre chamadas de API do Session Manager feitas na conta da Conta da AWS e grava-as em arquivos de log armazenados em um bucket do Amazon Simple Storage Service (Amazon S3) especificado. Um bucket é usado em todos os logs do CloudTrail para sua conta. Para obter mais informações, consulte [Registrar em log chamadas de API do AWS Systems Manager com o AWS CloudTrail](monitoring-cloudtrail-logs.md). 
  + **Amazon Simple Storage Service** – Você pode optar por armazenar os dados de log da sessão em um bucket do Amazon S3 de sua escolha para fins de depuração e solução de problemas. Os dados de log podem ser enviados ao seu bucket do Amazon S3 com ou sem criptografia usando sua AWS KMS key. Para obter mais informações, consulte [Registrar dados da sessão em log usando o Amazon S3 (console)](session-manager-logging-s3.md).
  + **Amazon CloudWatch Logs**: o CloudWatch Logs permite monitorar, armazenar e acessar os arquivos de log de vários Serviços da AWS. Você pode enviar dados de log da sessão a um grupo de logs do CloudWatch Logs para fins de depuração e solução de problemas. Os dados de log podem ser enviados ao seu grupo de logs com ou sem criptografia do AWS KMS usando sua chave do KMS. Para obter mais informações, consulte [Registrar dados da sessão em log usando o Amazon CloudWatch Logs (console)](session-manager-logging-cloudwatch-logs.md).
  + **Amazon EventBridge** e **Amazon Simple Notification Service** – O EventBridge permite configurar regras para detectar quando ocorrem alterações nos recursos da AWS que você especificar. Você pode criar uma regra para detectar quando um usuário na sua organização inicia ou interrompe uma sessão e, em seguida, receber uma notificação por meio do Amazon SNS (por exemplo, uma mensagem texto ou e-mail) sobre o evento. Você também pode configurar um evento do CloudWatch para iniciar outras respostas. Para obter mais informações, consulte [Monitorar as atividades da sessão usando o Amazon EventBridge (console)](session-manager-auditing.md#session-manager-auditing-eventbridge-events).
**nota**  
O registro em log não está disponível para sessões do Session Manager que se conectam por meio de encaminhamento de portas ou SSH. Isso ocorre porque o SSH criptografa todos os dados da sessão na conexão TLS segura estabelecida entre os endpoints AWS CLI e Session Manager e o Session Manager serve apenas como um túnel para conexões SSH.

## Quem deve usar o Session Manager?
<a name="session-manager-who"></a>
+ Qualquer cliente da AWS que quiser melhorar sua postura de segurança, reduzir despesas operacionais centralizando o controle de acesso nos nós gerenciados e reduzir o acesso à entrada dos nós. 
+ Especialistas em segurança da informação que quiserem monitorar e acompanhar o acesso e a atividade de nós gerenciados, fechar portas de entrada em nós gerenciados ou permitir conexões a esses nós sem um endereço IP público. 
+ Administradores que desejam conceder e revogar acesso de um único lugar e querem fornecer uma solução aos usuários para nós gerenciados do Linux, macOS e Windows Server.
+ Os usuários que desejam se conectar a um nó gerenciado com apenas um clique no navegador ou na AWS CLI, sem a necessidade de fornecer chaves SSH.

## Quais são os principais recursos do Session Manager?
<a name="session-manager-features"></a>
+ **Suporte para nós gerenciados do Windows Server, do Linux e do macOS**

  O Session Manager permite que você estabeleça conexões seguras com as instâncias, os dispositivos de borda, os servidores on-premises e as máquinas virtuais (VMs) do Amazon Elastic Compute Cloud (EC2). Para obter uma lista dos tipos de sistema operacional compatíveis, consulte [Configurar o Session Manager](session-manager-getting-started.md).
**nota**  
Session ManagerO suporte do para máquinas on-premises é fornecido somente para o nível de instâncias avançadas. Para mais informações, consulte [Ativar o nível de instâncias avançadas](fleet-manager-enable-advanced-instances-tier.md).
+  **Acesso do Console, CLI e SDK aos recursos do Session Manager** 

  Você pode trabalhar com Session Manager das seguintes formas:

  O **console do AWS Systems Manager** inclui acesso a todos os recursos do Session Manager para ambos os administradores e usuários finais. Você pode executar qualquer tarefa relacionada às suas sessões usando o console do Systems Manager. 

  O console do Amazon EC2 fornece o recurso de os usuários finais se conectarem às instâncias do EC2 para as quais receberam permissões de sessão.

  A **AWS CLI** inclui acesso a recursos do Session Manager para usuários finais. Você pode iniciar uma sessão, visualizar uma lista de sessões e encerrar permanentemente uma sessão usando a AWS CLI. 
**nota**  
Para usar a AWS CLI para executar comandos da sessão, você deve estar usando a versão 1.16.12 da CLI (ou posterior) e deve ter instalado o plugin do Session Manager em sua máquina local. Para mais informações, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md). Para visualizar o plug-in no GitHub, consulte [session-manager-plugin](https://github.com/aws/session-manager-plugin).
+  **Controle de acesso do IAM** 

  Com o uso de políticas do IAM, você pode controlar quais membros da organização podem iniciar sessões para nós gerenciados e quais nós eles podem acessar. Você também pode fornecer acesso temporário aos nós gerenciados. Por exemplo, você pode fornecer um acesso a um engenheiro de plantão (ou um grupo de engenheiros de plantão) aos servidores de produção somente durante todo o período de rotação.
+  **Suporte a log** 

  O Session Manager fornece opções de histórico de sessões de log na sua Conta da AWS por meio da integração com uma série de outros Serviços da AWS. Para obter mais informações, consulte [Registrar a atividade de sessão em log](session-manager-auditing.md) e [Habilitar e desabilitar o registro em log de sessão](session-manager-logging.md).
+  **Perfis de shell configuráveis** 

  Session ManagerO fornece opções para configurar preferências dentro das sessões. Esses perfis personalizáveis permitem que você defina opções preferenciais, como preferências de shell, variáveis de ambiente, diretórios de trabalho e execução de vários comandos quando uma sessão é iniciada.
+  **Suporte para criptografia de dados de chaves do cliente** 

  É possível configurar o Session Manager para criptografar os logs de dados da sessão que você envia para um bucket do Amazon Simple Storage Service (Amazon S3) ou transmite para um grupo de logs do Amazon CloudWatch Logs. Você também pode configurar o Session Manager para criptografar dados transmitidos entre as máquinas clientes e os nós gerenciados durante as sessões. Para obter mais informações, consulte [Habilitar e desabilitar o registro em log de sessão](session-manager-logging.md) e [Configurar preferências da sessão](session-manager-getting-started-configure-preferences.md).
+  **AWS PrivateLink Suporte ao para nós gerenciados sem endereços IP públicos** 

  Você também pode configurar endpoints da VPC para o Systems Manager usando o AWS PrivateLink para proteger ainda mais suas sessões. O AWS PrivateLink limita todo o tráfego de rede entre os nós gerenciados, o Systems Manager, o Amazon EC2 e a rede da Amazon. Para obter mais informações, consulte [Melhorar a segurança das instâncias do EC2 usando endpoints da VPC para o Systems Manager](setup-create-vpc.md).
+  **Encapsulamento** 

  Em uma sessão, use um documento do AWS Systems Manager (SSM) do tipo Session para tráfego em túnel, como http ou um protocolo personalizado, entre uma porta local em uma máquina cliente e uma porta remota em um nó gerenciado.
+  **Comandos interativos** 

  Crie um documento SSM do tipo sessão que use uma sessão para executar interativamente um único comando, o que fornece uma maneira de gerenciar o que os usuários podem fazer em um nó gerenciado.

## O que é uma sessão?
<a name="what-is-a-session"></a>

Uma sessão é uma conexão feita a um nó gerenciado usando o Session Manager. As sessões são baseadas em um canal de comunicação bidirecional seguro entre o cliente (você) e o nó gerenciado remoto que transmite entradas e saídas para comandos. O tráfego entre um cliente e um nó gerenciado é criptografado usando TLS 1.2, e as solicitações para criar a conexão são assinadas usando Sigv4. Essa comunicação bidirecional permite acesso interativo bash e PowerShell aos nós gerenciados. Também é possível usar uma chave do AWS Key Management Service (AWS KMS) para criptografar dados além da criptografia TLS padrão.

Por exemplo, digamos que John é um engenheiro de plantão do departamento de TI. Ele recebe a notificação de um problema que requer a conexão remota a um nó gerenciado, como uma falha que requer a solução de problemas ou uma diretiva para alterar uma opção de configuração simples em um nó. Usando o console do AWS Systems Manager, o Amazon EC2 ou a AWS CLI, John inicia uma sessão conectando-o ao nó gerenciado, executa os comandos em um nó necessários para concluir a tarefa e encerra a sessão.

Quando John envia o primeiro comando para iniciar a sessão, o serviço Session Manager autentica o seu ID, verifica as permissões concedidas a ele por uma política do IAM, verifica as definições de configuração (como a verificação de limites permitidos para as sessões) e envia uma mensagem para SSM Agent para abrir a conexão bidirecional. Depois que a conexão é estabelecida e John digita o próximo comando, a saída do comando SSM Agent é carregada para esse canal de comunicação e enviada de volta para sua máquina local.

**Topics**
+ [Como o Session Manager beneficia minha organização?](#session-manager-benefits)
+ [Quem deve usar o Session Manager?](#session-manager-who)
+ [Quais são os principais recursos do Session Manager?](#session-manager-features)
+ [O que é uma sessão?](#what-is-a-session)
+ [Configurar o Session Manager](session-manager-getting-started.md)
+ [Trabalhar com o Session Manager](session-manager-working-with.md)
+ [Registrar a atividade de sessão em log](session-manager-auditing.md)
+ [Habilitar e desabilitar o registro em log de sessão](session-manager-logging.md)
+ [Esquema do documento de sessão](session-manager-schema.md)
+ [Solução de problemas do Session Manager](session-manager-troubleshooting.md)

# Configurar o Session Manager
<a name="session-manager-getting-started"></a>

Antes de usar AWS Systems Manager Session Manager para se conectar aos nós gerenciados na sua conta, conclua as etapas nos tópicos a seguir.

**Topics**
+ [Etapa 1: Concluir os pré-requisitos do Session Manager](session-manager-prerequisites.md)
+ [Etapa 2: verificar ou adicionar permissões de instância para o Session Manager](session-manager-getting-started-instance-profile.md)
+ [Etapa 3: controlar o acesso da sessão pelos nós gerenciados](session-manager-getting-started-restrict-access.md)
+ [Etapa 4: Configurar preferências de sessão](session-manager-getting-started-configure-preferences.md)
+ [Etapa 5: (Opcional) Restringir o acesso a comandos em uma sessão](session-manager-restrict-command-access.md)
+ [Etapa 6: (Opcional) Usar o AWS PrivateLink para configurar um endpoint da VPC para o Session Manager](session-manager-getting-started-privatelink.md)
+ [Etapa 7: (Opcional) Ativar ou desativar permissões administrativas da conta ssm-user.](session-manager-getting-started-ssm-user-permissions.md)
+ [Etapa 8: (Opcional) Permitir e controlar permissões de conexões de SSH por meio do Session Manager](session-manager-getting-started-enable-ssh-connections.md)

# Etapa 1: Concluir os pré-requisitos do Session Manager
<a name="session-manager-prerequisites"></a>

Antes de usar o Session Manager, verifique se seu ambiente atende aos requisitos a seguir.


**Session ManagerPré-requisitos do**  

| Requisito | Descrição | 
| --- | --- | 
|  Sistemas operacionais compatíveis  |  O Session Manager é compatível com a conexão às instâncias do Amazon Elastic Compute Cloud (Amazon EC2), além de máquinas que não são do EC2, em seu ambiente [híbrido e multinuvem](operating-systems-and-machine-types.md#supported-machine-types) que usa o nível de *instâncias avançadas*. Session ManagerO oferece suporte às seguintes versões de sistemas operacionais:  O Session Manager é compatível com as instâncias do EC2, com os dispositivos de borda, com os servidores on-premises e com as máquinas virtuais (VMs) no ambiente [híbrido e multinuvem](operating-systems-and-machine-types.md#supported-machine-types) que usa o nível de *instâncias avançadas*. Para obter mais informações sobre instâncias avançadas, consulte [Configurar níveis de instâncias](fleet-manager-configure-instance-tiers.md).   **Linux e **macOS****  O Session Manager é compatível com todas as versões do Linux e do macOS que forem compatíveis com o AWS Systems Manager. Para mais informações, consulte [Sistemas operacionais e tipos de máquinas compatíveis](operating-systems-and-machine-types.md).  ** Windows **  Session Manager é compatível com Windows Server 2012 e versões posteriores.  O Microsoft Windows Server 2016 Nano não é compatível.   | 
|  SSM Agent  |  No mínimo a versão 2.3.68.0 do AWS Systems Manager SSM Agent ou posterior deve ser instalada nos nós gerenciados aos quais você quer se conectar por meio de sessões.  Para usar a opção de criptografar dados da sessão usando uma chave criada no AWS Key Management Service (AWS KMS), a versão 2.3.539.0 ou posterior do SSM Agent deve ser instalada em seu nó gerenciado.  Para usar perfis de shell em uma sessão, a versão 3.0.161.0 ou posterior do SSM Agent deve ser instalada em seu nó gerenciado. Para iniciar um encaminhamento da porta do Session Manager ou uma sessão SSH, a versão 3.0.222.0 ou posterior do SSM Agent deve ser instalada em seu nó gerenciado. Para transmitir dados da sessão usando o Amazon CloudWatch Logs, a versão 3.0.284.0 ou posterior do SSM Agent deve ser instalada em seu nó gerenciado. Para obter informações sobre como determinar o número da versão em execução em uma instância, consulte [Verificar o número de versão do SSM Agent](ssm-agent-get-version.md). Para obter informações sobre como instalar manualmente ou atualizar automaticamente o SSM Agent, consulte [Trabalhar com o SSM Agent](ssm-agent.md).  Sobre a conta ssm-user A partir da versão 2.3.50.0 do SSM Agent, o agente cria uma conta de usuário em seu nó gerenciado, com permissões de administrador ou de raiz, chamada de `ssm-user`. (Em versões anteriores a 2.3.612.0, a conta é criada quando o SSM Agent inicia ou reinicia. Na versão 2.3.612.0 e posteriores, o `ssm-user` é criado na primeira vez que uma sessão for iniciada em um nó gerenciado.) As sessões são executadas usando as credenciais administrativas da conta de usuário. Para obter mais informações sobre como restringir o controle administrativo para esta conta, consulte [Desativar ou ativar permissões administrativas da conta ssm-user](session-manager-getting-started-ssm-user-permissions.md).   ssm-user em controladores de domínio do Windows Server Começando com o SSM Agent versão 2.3.612.0, a conta do `ssm-user` não é criada automaticamente em nós usados como controladores de domínio do Windows Server. Para usar o Session Manager em uma máquina Windows Server usada como controlador de domínio, crie a conta `ssm-user` manualmente, caso ela ainda não esteja presente, e atribua permissões de Administrador do Domínio ao usuário. No Windows Server, o SSM Agent define uma nova senha para a conta `ssm-user` sempre que uma sessão é iniciada e, portanto, você não precisa especificar uma senha ao criar a conta.   | 
|  Conectividade com endpoints  |  Os nós gerenciados aos quais você se conecta devem permitir o tráfego de saída HTTPS (porta 443) para os seguintes endpoints: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/session-manager-prerequisites.html) Para saber mais, consulte os seguintes tópicos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/session-manager-prerequisites.html) Como alternativa, você pode se conectar aos endpoints necessários usando endpoints da interface. Para obter mais informações, consulte [Etapa 6: (Opcional) Usar o AWS PrivateLink para configurar um endpoint da VPC para o Session Manager](session-manager-getting-started-privatelink.md).  | 
|  AWS CLI  |  (Opcional) Se você usar a AWS Command Line Interface (AWS CLI) para iniciar as sessões (em vez de usar o console da AWS Systems Manager ou o console do Amazon EC2), a versão 1.16.12 ou posterior da CLI deve estar instalada em sua máquina local. Você pode chamar o `aws --version` para verificar a versão. Se você precisar instalar ou atualizar a CLI, consulte [Instalação do AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) no Guia do usuário do AWS Command Line Interface. Uma versão atualizada do SSM Agent é lançada sempre que novas ferramentas são adicionadas ao Systems Manager ou sempre que atualizações são feitas nas ferramentas existentes. Deixar de usar a versão mais recente do atendente pode impedir que seu nó gerenciado use várias ferramentas do Systems Manager. Por isso, recomendamos automatizar o processo de manter o SSM Agent atualizado em suas máquinas. Para mais informações, consulte [Automatizar atualizações do SSM Agent](ssm-agent-automatic-updates.md). Inscreva-se na página [Notas de versão do SSM Agent](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md) no GitHub para receber notificações sobre atualizações do SSM Agent. Além disso, para usar a CLI para gerenciar seus nós com o Session Manager, você deve primeiro instalar o plugin do Session Manager em sua máquina local. Para mais informações, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).  | 
|  Ative o nível de instâncias avançadas (ambientes [híbridos e multinuvem](operating-systems-and-machine-types.md#supported-machine-types))  |  Para conectar-se a máquinas que não são do EC2 usando o Session Manager, você deve ativar o nível de instâncias avançadas na Conta da AWS e Região da AWS onde você cria ativações híbridas para registrar máquinas que não são do EC2 como nós gerenciados. Há uma cobrança para o uso do nível de instâncias avançadas. Para obter mais informações sobre o nível de instâncias avançadas, consulte [Configurar níveis de instâncias](fleet-manager-configure-instance-tiers.md).  | 
|  Verifique as permissões de perfil de serviço do IAM (ambientes [híbridos e multinuvem](operating-systems-and-machine-types.md#supported-machine-types))  |  Os nós ativados para ambientes híbridos usam o perfil de serviço do AWS Identity and Access Management (IAM) especificado na ativação híbrida para se comunicar com as operações da API do Systems Manager. Esse perfil de serviço deve conter as permissões necessárias para se conectar às suas máquinas [híbridas e multinuvem](operating-systems-and-machine-types.md#supported-machine-types) usando o Session Manager. Se sua função de serviço contém a política gerenciada `AmazonSSMManagedInstanceCore` da AWS, as permissões necessárias para o Session Manager já estão fornecidas. Se você achar que a função de serviço não contém as permissões necessárias, você deverá cancelar o registro da instância gerenciada e registrá-la com uma nova ativação híbrida que usa uma função de serviço do IAM com as permissões necessárias. Para obter mais informações sobre como cancelar o registro de instâncias gerenciadas, consulte [Cancelar o registro de nós gerenciados em um ambiente híbrido e multinuvem](fleet-manager-deregister-hybrid-nodes.md). Para obter mais informações sobre como criar políticas do IAM com permissões do Session Manager, consulte [Etapa 2: verificar ou adicionar permissões de instância para o Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-instance-profile.html).  | 

# Etapa 2: verificar ou adicionar permissões de instância para o Session Manager
<a name="session-manager-getting-started-instance-profile"></a>

Por padrão, o AWS Systems Manager não tem permissão para executar ações em suas instâncias. É possível fornecer permissões de instância no nível da conta usando um perfil do AWS Identity and Access Management (IAM) ou no nível da instância usando um perfil de instância. Se o seu caso de uso permitir, recomendamos conceder acesso no nível da conta usando a configuração de gerenciamento de host padrão. Se já definiu a configuração de gerenciamento do host padrão para sua conta usando a política `AmazonSSMManagedEC2InstanceDefaultPolicy`, você pode avançar para a próxima etapa. Para obter mais informações sobre a configuração de gerenciamento do host padrão, consulte [Gerenciar instâncias do EC2 automaticamente com a Configuração de gerenciamento de hosts padrão](fleet-manager-default-host-management-configuration.md).

Se preferir, você pode usar perfis de instância para fornecer as permissões necessárias às suas instâncias. Um perfil da instância passa uma função do IAM para uma instância do Amazon EC2. Você pode anexar um perfil da instância do IAM a uma instância do Amazon EC2 ao executá-la ou a uma instância executada anteriormente. Para obter mais informações, consulte [Usar os perfis da instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-instanceprofile.html).

Para servidores on-premises ou máquinas virtuais (VMs), as permissões são fornecidas pela função de serviço do IAM associada à ativação híbrida usada para registrar seus servidores e VMs on-premises com o Systems Manager. Servidores on-premises e VMs locais não usam perfis da instância.

Se você já usou outras ferramentas do Systems Manager, como o Run Command ou o Parameter Store, um perfil da instância com as permissões básicas necessárias para o Session Manager poderá já estar anexado às suas instâncias do Amazon EC2. Se um perfil da instância que contém a política gerenciada `AmazonSSMManagedInstanceCore` da AWS já estiver anexado às suas instâncias, as permissões para Session Manager já estarão fornecidas. Isso também é verdade se a função de serviço do IAM usada na ativação híbrida contiver a política gerenciada `AmazonSSMManagedInstanceCore`.

No entanto, em alguns casos, pode ser necessário modificar as permissões anexadas ao seu perfil de instância. Por exemplo, você quer fornecer um conjunto mais restrito de permissões de instância, você criou uma política personalizada para seu perfil da instância ou você quer usar as opções de criptografia do Amazon Simple Storage Service (Amazon S3) ou do AWS Key Management Service (AWS KMS) para proteger os dados da sessão. Nesses casos, para permitir que as ações do Session Manager sejam executadas em suas instâncias, proceda de uma das seguintes maneiras:
+  **Incorpore permissões para as ações do Session Manager em uma função do IAM personalizada** 

  Para adicionar permissões para ações do Session Manager a uma função do IAM existente que não dependa da política padrão `AmazonSSMManagedInstanceCore` fornecida pela AWS, siga as etapas em [Adicionar permissões do Session Manager a um perfil do IAM existente](getting-started-add-permissions-to-existing-profile.md).
+  **Crie uma função do IAM personalizada apenas com permissões do Session Manager** 

  Para criar uma função do IAM que contenha permissões somente para ações do Session Manager, siga as etapas em [Crie uma função do IAM personalizada para o Session Manager](getting-started-create-iam-instance-profile.md).
+  **Crie e use uma nova função do IAM com permissões para todas as ações do Systems Manager** 

  Para criar um perfil do IAM para as instâncias gerenciadas do Systems Manager que usam uma política padrão fornecida pela AWS para conceder todas as permissões do Systems Manager, siga as etapas em [Configurar permissões de instância obrigatórias para o Systems Manager](setup-instance-permissions.md).

**Topics**
+ [Adicionar permissões do Session Manager a um perfil do IAM existente](getting-started-add-permissions-to-existing-profile.md)
+ [Crie uma função do IAM personalizada para o Session Manager](getting-started-create-iam-instance-profile.md)

# Adicionar permissões do Session Manager a um perfil do IAM existente
<a name="getting-started-add-permissions-to-existing-profile"></a>

Use o procedimento a seguir para adicionar permissões do Session Manager a um perfil do AWS Identity and Access Management (IAM) já existente. Ao adicionar permissões a um perfil já existente, você pode aprimorar a segurança do ambiente de computação sem precisar usar a política `AmazonSSMManagedInstanceCore` da AWS para obter permissões de instância.

**nota**  
Observe as seguintes informações:  
Esse procedimento pressupõe que sua função existente já inclui outras permissões `ssm` do Systems Manager para ações que você deseja permitir o acesso. Essa política não é suficiente para usar o Session Manager.
O exemplo de política a seguir contém uma ação `s3:GetEncryptionConfiguration`. Essa ação será obrigatória se você escolher a opção **Aplicar criptografia de log do S3** nas preferências de registro em log do Session Manager.
Se a permissão `ssmmessages:OpenControlChannel` for removida das políticas anexadas ao seu perfil de instância do IAM ou perfil de serviço do IAM, o SSM Agent no nó gerenciado perderá a conectividade com o serviço Systems Manager na nuvem. No entanto, pode levar até 1 hora para uma conexão ser encerrada após a remoção da permissão. Esse é o mesmo comportamento de quando a função da instância do IAM ou o perfil de serviço do IAM é excluído.

**Para adicionar permissões do Session Manager a uma função existente (console)**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

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

1. Selecione o nome do perfil ao qual você está adicionando as permissões.

1. Escolha a aba **Permissões**.

1. Escolha **Adicionar permissões** e, em seguida, selecione **Criar política em linha**.

1. Selecione a guia **JSON**.

1. Substitua o conteúdo da política padrão pelo conteúdo a seguir. Substitua *key-name* pelo nome do recurso da Amazon (ARN) da chave do AWS Key Management Service (AWS KMS key) que você deseja usar.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           }
       ]
   }
   ```

------

   Para obter informações sobre como usar uma chave KMS para criptografar dados de sessão, consulte [Ativar a criptografia de chaves do KMS de dados de sessão (console)](session-preferences-enable-encryption.md).

   Se você não or usar a criptografia do AWS KMS para sua sessão de dados, poderá remover o seguinte conteúdo da política:

   ```
   ,
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "key-name"
           }
   ```

1. Escolha **Next: Tags**.

1. (Opcional) Adicione tags escolhendo **Add tag** (Adicionar tag) e inserindo as tags preferenciais para a política.

1. Escolha **Próximo: revisar**.

1. Na página **Revisar política**, em **Nome**, digite um nome para a política em linha, como **SessionManagerPermissions**.

1. (Opcional) Em **Descrição**, digite uma descrição para a política. 

   Escolha **Criar política**.

Para obter informações sobre as ações `ssmmessages`, consulte [Referência: ec2messages, ssmmessages e outras operações da API](systems-manager-setting-up-messageAPIs.md).

# Crie uma função do IAM personalizada para o Session Manager
<a name="getting-started-create-iam-instance-profile"></a>

É possível criar um perfil do AWS Identity and Access Management (IAM) que conceda ao Session Manager a permissão para realizar ações em suas instâncias gerenciadas do Amazon EC2. Você também pode incluir uma política para conceder as permissões necessárias para que os logs da sessão sejam enviados ao Amazon Simple Storage Service (Amazon S3) e ao Amazon CloudWatch Logs.

Depois de criar o perfil do IAM, para obter informações sobre como anexar o perfil a uma instância consulte [Anexar ou substituir um perfil de instância](https://aws.amazon.com/premiumsupport/knowledge-center/attach-replace-ec2-instance-profile/) no site do AWS re:Post. Para obter mais informações sobre perfis de instância e perfis do IAM, consulte [Usar perfis de instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) no *Guia do usuário do IAM* e [Perfis do IAM para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) no *Guia do usuário do Amazon Elastic Compute Cloud para instâncias do Linux*. Para obter mais informações sobre como criar um perfil de serviço do IAM para máquinas on-premises, consulte [Criar o perfil de serviço do IAM obrigatório para o Systems Manager em ambientes híbridos e multinuvem](https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-multicloud-service-role.html).

**Topics**
+ [Crie uma função do IAM com permissões mínimas do Session Manager (console)](#create-iam-instance-profile-ssn-only)
+ [Crie uma função do IAM com permissões para o Session Manager, Amazon S3 e CloudWatch Logs (console)](#create-iam-instance-profile-ssn-logging)

## Crie uma função do IAM com permissões mínimas do Session Manager (console)
<a name="create-iam-instance-profile-ssn-only"></a>

Use o procedimento a seguir para criar uma função do IAM personalizada com uma política que fornece permissões somente para ações do Session Manager em suas instâncias.

**Para criar um perfil de instância com permissões mínimas do Session Manager (console)**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas** e, em seguida, **Criar política**. (Se aparecer um botão **Get Started** (Iniciar), selecione-o e, em seguida, clique em **Create Policy** (Criar política).

1. Selecione a guia **JSON**.

1. Substitua o conteúdo padrão pela política a seguir. Para criptografar os dados de sessão usando o AWS Key Management Service (AWS KMS), substitua *key-name* pelo nome do recurso da Amazon (ARN) da AWS KMS key que você deseja usar.
**nota**  
Se a permissão `ssmmessages:OpenControlChannel` for removida das políticas anexadas ao seu perfil de instância do IAM ou perfil de serviço do IAM, o SSM Agent no nó gerenciado perderá a conectividade com o serviço Systems Manager na nuvem. No entanto, pode levar até 1 hora para uma conexão ser encerrada após a remoção da permissão. Esse é o mesmo comportamento de quando a função da instância do IAM ou o perfil de serviço do IAM é excluído.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:UpdateInstanceInformation",
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           }
       ]
   }
   ```

------

   Para obter informações sobre como usar uma chave KMS para criptografar dados de sessão, consulte [Ativar a criptografia de chaves do KMS de dados de sessão (console)](session-preferences-enable-encryption.md).

   Se você não or usar a criptografia do AWS KMS para sua sessão de dados, poderá remover o seguinte conteúdo da política:

   ```
   ,
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "key-name"
           }
   ```

1. Escolha **Próximo: tags**.

1. (Opcional) Adicione tags escolhendo **Add tag** (Adicionar tag) e inserindo as tags preferenciais para a política.

1. Escolha **Próximo: revisar**.

1. Na página **Revisar política**, em **Nome**, digite um nome para a política em linha, como **SessionManagerPermissions**.

1. (Opcional) Em **Descrição**, digite uma descrição para a política. 

1. Escolha **Criar política**.

1. No painel de navegação, escolha **Roles** (Funções) e **Create role** (Criar função).

1. Na página **Criar perfil**, escolha **Serviço da AWS** e, para **Caso de uso**, escolha **EC2**.

1. Escolha **Próximo**.

1. Na página **Add permissions** (Adicionar políticas), marque a caixa de seleção à esquerda do nome da política que acabou de criar, por exemplo, **SessionManagerPermissions**.

1. Escolha **Próximo**.

1. Na página **Name, review, and create** (Nomear, revisar e criar), em **Role name** (Nome da função), digite um nome para a função do IAM, por exemplo, **MySessionManagerRole**.

1. (Opcional) Em **Role description (Descrição da função)**, digite uma descrição para o perfil de instância. 

1. (Opcional) Adicione tags escolhendo **Add tag** (Adicionar tag) e inserindo as tags preferenciais para a função.

   Selecione **Criar perfil**.

Para obter informações sobre as ações `ssmmessages`, consulte [Referência: ec2messages, ssmmessages e outras operações da API](systems-manager-setting-up-messageAPIs.md).

## Crie uma função do IAM com permissões para o Session Manager, Amazon S3 e CloudWatch Logs (console)
<a name="create-iam-instance-profile-ssn-logging"></a>

Use o procedimento a seguir para criar uma função do IAM personalizada com uma política que fornece permissões para ações do Session Manager em suas instâncias. A política também fornece as permissões necessárias para que logs de sessão sejam armazenados em buckets do Amazon Simple Storage Service (Amazon S3) e em grupos de logs do Amazon CloudWatch Logs.

**Importante**  
Para gerar logs de sessão em um bucket do Amazon S3 que pertença a outra Conta da AWS, você deve adicionar a permissão do IAM `s3:PutObjectAcl` à política de perfil do IAM. Além disso, é necessário garantir que a política do bucket conceda acesso entre contas ao perfil do IAM usado pela conta proprietária para conceder permissões do Systems Manager para instâncias gerenciadas. Se o bucket usar a criptografia do Key Management Service (KMS), a política do KMS do bucket também deverá conceder esse acesso entre contas. Para obter mais informações sobre como configurar permissões de bucket entre contas no Amazon S3, consulte [Granting cross-account bucket permissions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html) no *Guia do usuário do Amazon Simple Storage Service*. Se as permissões entre contas não forem adicionadas, a conta que possui o bucket do Amazon S3 não poderá acessar os logs de saída da sessão.

Para obter informações sobre como especificar as preferências para armazenar logs de sessão, consulte [Habilitar e desabilitar o registro em log de sessão](session-manager-logging.md).

**Para criar uma função do IAM com permissões para o Session Manager, Amazon S3 e CloudWatch Logs (console)**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas** e, em seguida, **Criar política**. (Se aparecer um botão **Get Started** (Iniciar), selecione-o e, em seguida, clique em **Create Policy** (Criar política).

1. Selecione a guia **JSON**.

1. Substitua o conteúdo padrão pela política a seguir. Substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel",
                   "ssm:UpdateInstanceInformation"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "logs:DescribeLogGroups",
                   "logs:DescribeLogStreams"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/s3-prefix/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           },
           {
               "Effect": "Allow",
               "Action": "kms:GenerateDataKey",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Escolha **Próximo: tags**.

1. (Opcional) Adicione tags escolhendo **Add tag** (Adicionar tag) e inserindo as tags preferenciais para a política.

1. Escolha **Próximo: revisar**.

1. Na página **Revisar política**, em **Nome**, digite um nome para a política em linha, como **SessionManagerPermissions**.

1. (Opcional) Em **Descrição**, digite uma descrição para a política. 

1. Escolha **Criar política**.

1. No painel de navegação, escolha **Perfis** e **Criar perfil**.

1. Na página **Criar perfil**, escolha **Serviço da AWS** e, para **Caso de uso**, escolha **EC2**.

1. Escolha **Próximo**.

1. Na página **Add permissions** (Adicionar políticas), marque a caixa de seleção à esquerda do nome da política que acabou de criar, por exemplo, **SessionManagerPermissions**.

1. Escolha **Próximo**.

1. Na página **Name, review, and create** (Nomear, revisar e criar), em **Role name** (Nome da função), digite um nome para a função do IAM, por exemplo, **MySessionManagerRole**.

1. (Opcional) Em **Role description** (Descrição da função), digite uma descrição para a função. 

1. (Opcional) Adicione tags escolhendo **Add tag** (Adicionar tag) e inserindo as tags preferenciais para a função.

1. Selecione **Criar perfil**.

# Etapa 3: controlar o acesso da sessão pelos nós gerenciados
<a name="session-manager-getting-started-restrict-access"></a>

Você concede ou revoga o acesso do Session Manager a nós gerenciados usando políticas do AWS Identity and Access Management (IAM). É possível criar uma política e anexá-la a um usuário ou grupo do IAM que especifica a quais nós gerenciados o usuário ou grupo pode se conectar. Também é possível especificar as operações de API do Session Manager que o usuário ou os grupos podem realizar nesses nós gerenciados. 

Para ajudar você a começar a usar as políticas de permissão do IAM para o Session Manager, criamos exemplos de políticas para um usuário final e um usuário administrador. Você pode usar essas políticas fazendo apenas pequenas alterações. Ou use esses exemplos como um guia para criar políticas personalizadas do IAM. Para obter mais informações, consulte [Exemplo de políticas do IAM para Session Manager](getting-started-restrict-access-quickstart.md). Para obter informações sobre como criar políticas do IAM e anexá-las a usuários ou grupos, consulte [Criação de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) e [Adição e remoção de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Guia do usuário do IAM*.

**Sobre formatos de ARN do ID da sessão**  
Ao criar uma política do IAM para acesso do Session Manager, especifique um ID da sessão como parte do nome do recurso da Amazon (ARN). O ID da sessão contém o nome do usuário como variável. Para ajudar a ilustrar isso, veja o formato de um ARN do Session Manager e um exemplo: 

```
arn:aws:ssm:region-id:account-id:session/session-id
```

Por exemplo:

```
arn:aws:ssm:us-east-2:123456789012:session/JohnDoe-1a2b3c4d5eEXAMPLE
```

Para obter mais informações sobre usar variáveis em políticas IAM, consulte [Elementos da política do IAM: variáveis](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html). 

**Topics**
+ [Iniciar uma sessão de shell padrão especificando o documento da sessão padrão nas políticas do IAM](getting-started-default-session-document.md)
+ [Iniciar uma sessão de shell com um documento ao especificar os documentos da sessão nas políticas do IAM](getting-started-specify-session-document.md)
+ [Exemplo de políticas do IAM para Session Manager](getting-started-restrict-access-quickstart.md)
+ [Exemplos adicionais de políticas do IAM para o Session Manager](getting-started-restrict-access-examples.md)

# Iniciar uma sessão de shell padrão especificando o documento da sessão padrão nas políticas do IAM
<a name="getting-started-default-session-document"></a>

Quando você configura o Session Manager para sua Conta da AWS ou altera as preferências de sessão no console do Systems Manager, o sistema cria um documento de sessão do SSM chamado `SSM-SessionManagerRunShell`. Trata-se do documento padrão da sessão. O Session Manager usa esse documento para armazenar suas preferências de sessão, que incluem informações como:
+ Um local em que você deseja salvar os dados da sessão, como um bucket do Amazon Simple Storage Service (Amazon S3) ou um grupo de logs do Amazon CloudWatch Logs.
+ Um ID de chave do AWS Key Management Service (AWS KMS) para criptografar os dados da sessão.
+ Se o suporte para Executar como é permitido para suas sessões.

Este é um exemplo das informações contidas no documento de preferências da sessão `SSM-SessionManagerRunShell`.

```
{
  "schemaVersion": "1.0",
  "description": "Document to hold regional settings for Session Manager",
  "sessionType": "Standard_Stream",
  "inputs": {
    "s3BucketName": "amzn-s3-demo-bucket",
    "s3KeyPrefix": "MyS3Prefix",
    "s3EncryptionEnabled": true,
    "cloudWatchLogGroupName": "MyCWLogGroup",
    "cloudWatchEncryptionEnabled": false,
    "kmsKeyId": "1a2b3c4d",
    "runAsEnabled": true,
    "runAsDefaultUser": "RunAsUser"
  }
}
```

Por padrão, o Session Manager usa o documento de sessão padrão quando o usuário inicia a sessão pelo Console de gerenciamento da AWS. Isso se aplica ao Fleet Manager ou ao Session Manager no console do Systems Manager ou ao EC2 Connect no console do Amazon EC2. O Session Manager também usa o documento de sessão padrão quando um usuário inicia uma sessão usando um comando da AWS CLI, como neste exemplo:

```
aws ssm start-session \
    --target i-02573cafcfEXAMPLE
```

Para iniciar uma sessão padrão do shell, você deve especificar o documento da sessão padrão na política do IAM, conforme mostrado no exemplo a seguir.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnableSSMSession",
      "Effect": "Allow",
      "Action": [
        "ssm:StartSession"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/instance-id",
        "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssmmessages:OpenDataChannel"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

# Iniciar uma sessão de shell com um documento ao especificar os documentos da sessão nas políticas do IAM
<a name="getting-started-specify-session-document"></a>

Ao usar o comando [start-session](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) da AWS CLI usando o documento de sessão padrão, você poderá omitir o nome do documento. O sistema chama automaticamente o documento da sessão `SSM-SessionManagerRunShell`.

Em todos os outros casos é preciso especificar um valor para o parâmetro `document-name`. Quando o usuário especifica o nome de um documento de sessão em um comando, os sistemas verificam sua política do IAM para conferir se há permissão para acessar o documento. Se não houver permissão, a solicitação de conexão falhará. Os exemplos a seguir incluem o parâmetro `document-name` com o documento da sessão `AWS-StartPortForwardingSession`.

```
aws ssm start-session \
    --target i-02573cafcfEXAMPLE \
    --document-name AWS-StartPortForwardingSession \
    --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
```

Para obter um exemplo de como especificar um documento de sessão do Session Manager em uma política do IAM, consulte [Políticas do usuário final do Quickstart para o Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).

**nota**  
Para iniciar uma sessão usando SSH, é necessário concluir as etapas de configuração no nó gerenciado de destino *e* na máquina local do usuário. Para obter mais informações, consulte [(Opcional) Permitir e controlar permissões para conexões SSH por meio do Session Manager](session-manager-getting-started-enable-ssh-connections.md).

# Exemplo de políticas do IAM para Session Manager
<a name="getting-started-restrict-access-quickstart"></a>

Use os exemplos nesta seção para ajudar a criar políticas do AWS Identity and Access Management (IAM) que fornecem as permissões necessárias mais comuns para acesso ao Session Manager. 

**nota**  
Também é possível usar uma política de AWS KMS key para controlar quais entidades IAM (usuários ou perfis) e Contas da AWS recebem acesso à sua chave do KMS. Para obter informações, consulte [Visão geral do gerenciamento do acesso aos seus recursos do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html) e [Usar políticas de chaves no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) no *Manual do desenvolvedor do AWS Key Management Service*.

**Topics**
+ [Políticas do usuário final do Quickstart para o Session Manager](#restrict-access-quickstart-end-user)
+ [Política do administrador do Quickstart para o Session Manager](#restrict-access-quickstart-admin)

## Políticas do usuário final do Quickstart para o Session Manager
<a name="restrict-access-quickstart-end-user"></a>

Use os exemplos a seguir para criar políticas de usuário final do IAM para o Session Manager. 

É possível criar uma política que permita que os usuários iniciem sessões apenas no console do Session Manager e na AWS Command Line Interface (AWS CLI), apenas no console do Amazon Elastic Compute Cloud (Amazon EC2) ou nos três.

Essas políticas fornecem aos usuários finais a capacidade de iniciar uma sessão de um nó gerenciado específico e encerrar apenas suas próprias sessões. Consulte o [Exemplos adicionais de políticas do IAM para o Session Manager](getting-started-restrict-access-examples.md) para obter exemplos de customização que você pode querer fazer na política.

Nas políticas de exemplo a seguir, substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações. 

Escolha entre as guias a seguir para exibir a política de exemplo para o intervalo de acesso à sessão que você deseja fornecer.

------
#### [ Session Manager and Fleet Manager ]

Use esta política de exemplo para conceder aos usuários a capacidade de iniciar e retomar sessões apenas dos consoles do Session Manager e do Fleet Manager. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

Use esta política de exemplo para conceder aos usuários a capacidade de iniciar e retomar sessões apenas do console do Amazon EC2. Esta política não fornece todas as permissões necessárias para iniciar sessões do console do Session Manager e da AWS CLI.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

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

Use esta política de exemplo para conceder aos usuários a capacidade de iniciar e retomar sessões apenas via AWS CLI.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
        }
    ]
}
```

------

------

**nota**  
`SSM-SessionManagerRunShell` é o nome padrão do documento do SSM que o Session Manager cria para armazenar suas preferências de configuração de sessão. Você pode criar um documento de sessão personalizado e especificá-lo nessa política. Você também pode especificar o documento `AWS-StartSSHSession` fornecido pela AWS para usuários que estão iniciando sessões usando SSH. Para obter informações sobre as etapas de configuração necessárias para oferecer suporte a sessões que usam SSH, consulte [(Opcional) Permitir e controlar permissões para conexões SSH por meio do Session Manager](session-manager-getting-started-enable-ssh-connections.md).  
A permissão `kms:GenerateDataKey` permite a criação de uma chave de criptografia de dados que será usada para criptografar dados de sessão. Se você usar a criptografia do AWS Key Management Service (AWS KMS) para os dados da sessão, substitua *key-name* pelo nome do recurso da Amazon (ARN) da chave KMS que você deseja usar, no formato `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE`. Se você não for usar a criptografia de chaves do KMS para dados de sessão, remova o conteúdo da política a seguir.  

```
{
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "key-name"
        }
```
Para obter informações sobre o uso do AWS KMS para criptografar dados de sessão, consulte [Ativar a criptografia de chaves do KMS de dados de sessão (console)](session-preferences-enable-encryption.md).  
A permissão para [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) é necessária nos casos em que um usuário tenta iniciar uma sessão via console do Amazon EC2, mas o SSM Agent deve ser atualizado para a versão mínima exigida do Session Manager primeiro. Run Command é usado para enviar um comando à instância para atualizar o atendente.

## Política do administrador do Quickstart para o Session Manager
<a name="restrict-access-quickstart-admin"></a>

Use os exemplos a seguir para criar políticas de administrador do IAM para o Session Manager. 

Essas políticas fornecem aos administradores a capacidade de iniciar uma sessão para nós gerenciados marcados com `Key=Finance,Value=WebServers`, permissões para criar, atualizar e excluir preferências e permissões para encerrar apenas suas sessões próprias. Consulte o [Exemplos adicionais de políticas do IAM para o Session Manager](getting-started-restrict-access-examples.md) para obter exemplos de customização que você pode querer fazer na política.

É possível criar uma política que permita que os administradores executem essas tarefas apenas do console do Session Manager e da AWS CLI, apenas do console do Amazon EC2 ou dos três.

Nas políticas de exemplo a seguir, substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações. 

Escolha entre as guias a seguir para exibir a política de exemplo para o cenário de acesso ao qual você deseja oferecer suporte.

------
#### [ Session Manager and CLI ]

Use esta política de exemplo para conceder aos administradores a capacidade de executar tarefas relacionadas à sessão somente do console do Session Manager e da AWS CLI. Esta política não fornece todas as permissões necessárias para executar tarefas relacionadas à sessão do console do Amazon EC2.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:*:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:GetDocument",
                "ssm:StartSession"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

Use esta política de exemplo para conceder aos administradores a capacidade de executar tarefas relacionadas à sessão somente do console do Amazon EC2. Essa política não fornece todas as permissões necessárias para executar tarefas relacionadas à sessão do console do Session Manager e da AWS CLI.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/tag-key": [
                        "tag-value"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Session Manager, CLI, and Amazon EC2 ]

Use esta política de exemplo para conceder aos administradores a capacidade de executar tarefas relacionadas à sessão do console do Session Manager, da AWS CLI e do console do Amazon EC2.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/tag-key": [
                        "tag-value"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:GetDocument",
                "ssm:StartSession"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------

**nota**  
A permissão para [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) é necessária nos casos em que um usuário tenta iniciar uma sessão do console do Amazon EC2, mas um comando deve ser enviado para atualizar o SSM Agent primeiro.

# Exemplos adicionais de políticas do IAM para o Session Manager
<a name="getting-started-restrict-access-examples"></a>

Consulte os seguintes exemplos de políticas para ajudar você a criar uma política do AWS Identity and Access Management (IAM) personalizada para que qualquer usuário do Session Manager acesse cenários os quais deseja oferecer suporte.

**Topics**
+ [Exemplo 1: conceder aos usuários acesso a documentos do console](#grant-access-documents-console-example)
+ [Exemplo 2: restringir o acesso a nós gerenciados específicos](#restrict-access-example-instances)
+ [Exemplo 3: restringir o acesso com base em etiquetas](#restrict-access-example-instance-tags)
+ [Exemplo 4: permitir que um usuário encerre somente sessões iniciadas por ele](#restrict-access-example-user-sessions)
+ [Exemplo 5: permitir acesso completo (administrativo) a todas as sessões](#restrict-access-example-full-access)

## Exemplo 1: conceder aos usuários acesso a documentos do console
<a name="grant-access-documents-console-example"></a>

É possível permitir que os usuários especifiquem um documento personalizado ao iniciarem uma sessão usando o console do Gerenciador de Sessões. O exemplo de política do IAM a seguir concede permissão para acessar documentos com nomes que começam com **SessionDocument-** na Região da AWS e Conta da AWS especificadas.

Para usar essa política, substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetDocument",
                "ssm:ListDocuments"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SessionDocument-*"
            ]
        }
    ]
}
```

------

**nota**  
O console do Gerenciador de Sessões oferece suporte somente a documentos de sessão que tenham um `sessionType` de `Standard_Stream` que sejam usados para definir as preferências da sessão. Para obter mais informações, consulte [Esquema do documento de sessão](session-manager-schema.md).

## Exemplo 2: restringir o acesso a nós gerenciados específicos
<a name="restrict-access-example-instances"></a>

É possível criar uma política do IAM que defina a quais nós gerenciados um usuário pode se conectar usando o Gerenciador de Sessões. Por exemplo, a política a seguir concede a um usuário permissão para iniciar, encerrar e retomar as sessões em três nós específicos. A política restringe o usuário de se conectar a nós diferentes dos especificados.

**nota**  
Para usuários federados, consulte [Exemplo 4: permitir que um usuário encerre somente sessões iniciadas por ele](#restrict-access-example-user-sessions).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890EXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-abcdefghijEXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-0e9d8c7b6aEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       }
    ]
}
```

------

## Exemplo 3: restringir o acesso com base em etiquetas
<a name="restrict-access-example-instance-tags"></a>

Você pode restringir o acesso a nós gerenciados com base em etiquetas específicas. No exemplo a seguir, o usuário pode iniciar e retomar sessões (`Effect: Allow, Action: ssm:StartSession, ssm:ResumeSession`) em qualquer nó gerenciado (`Resource: arn:aws:ec2:region:987654321098:instance/*`) com a condição de que o nó seja um Finance WebServer (`ssm:resourceTag/Finance: WebServer`). Se o usuário enviar um comando para um nó gerenciado que não está etiquetado ou que tem qualquer outra etiqueta que não seja `Finance: WebServer`, o resultado do comando incluirá `AccessDenied`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

Você pode criar políticas do IAM que permitem que um usuário inicie sessões para nós gerenciados que são marcados com várias etiquetas. A política a seguir permite que o usuário inicie sessões em nós gerenciados que tiverem ambas as etiquetas especificadas aplicadas a eles. Se um usuário enviar um comando para um nó gerenciado que não estiver marcado com ambas as etiquetas, o resultado do comando incluirá `AccessDenied`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:StartSession"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/tag-key1":[
                  "tag-value1"
               ],
               "ssm:resourceTag/tag-key2":[
                  "tag-value2"
               ]
            }
         }
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
      {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
      }
   ]
}
```

------

Para obter mais informações sobre como criar políticas do IAM, consulte [Políticas gerenciadas e em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) no *Guia do usuário do IAM*. Para obter mais informações sobre a marcação de nós gerenciados, consulte [Marcar recursos do Amazon EC2 com tags](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) no *Guia do usuário do Amazon EC2* (o conteúdo é aplicável a nós gerenciados do Windows e do Linux). Para obter informações sobre como reforçar seu procedimento de segurança em relação a comandos em nível raiz não autorizados em seus nós gerenciados, consulte [Restringir o acesso aos comandos em nível raiz por meio do SSM Agent](ssm-agent-restrict-root-level-commands.md)

## Exemplo 4: permitir que um usuário encerre somente sessões iniciadas por ele
<a name="restrict-access-example-user-sessions"></a>

O Session Manager fornece dois métodos para controlar quais sessões um usuário federado da conta da Conta da AWS tem permissão para encerrar.
+ Use a variável `{aws:userid}` em uma política de permissões do AWS Identity and Access Management (IAM). Os usuários federados podem encerrar apenas as sessões que eles iniciaram. Para usuários não federados, use o Método 1. Para usuários federados, use o Método 2.
+ Use as tags fornecidas pelas tags da AWS em uma política de permissões do IAM. Na política, inclua uma condição que permita que os usuários encerrem somente as sessões marcadas com as tags específicas fornecidas pela AWS. Esse método funciona para todas as contas, incluindo aquelas que usam IDs federados para conceder acesso à AWS.

### Método 1: Conceder privilégios TerminateSession usando a variável `{aws:username}`
<a name="restrict-access-example-user-sessions-username"></a>

A política do IAM a seguir permite que um usuário exiba os IDs de todas as sessões na sua conta. No entanto, os usuários podem interagir com os nós gerenciados apenas por meio das sessões que eles iniciaram. Um usuário que teve a política a seguir atribuída não poderá se conectar nem encerrar sessões de outros usuários. A política usa a variável `{aws:username}` para atingir isso.

**nota**  
Esse método não funciona para contas que usam IDs federados para conceder acesso à AWS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:DescribeSessions"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
            "Action": [
                "ssm:TerminateSession"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

### Método 2: Conceder privilégios TerminateSession usando tags fornecidas pela AWS
<a name="restrict-access-example-user-sessions-tags"></a>

É possível controlar quais sessões um usuário poderá encerrar, incluindo variáveis ​​de chave de etiqueta condicional em uma política do IAM. A condição determina que o usuário só pode encerrar sessões marcadas com uma ou ambas as variáveis de chave de tag específicas e um valor especificado.

Quando um usuário em sua Conta da AWS inicia uma sessão, o Session Manager aplica duas tags de recurso a ela. A primeira tag de recurso é `aws:ssmmessages:target-id`, com a qual você especifica o ID do destino que o usuário tem permissão para encerrar. A outra tag de recurso é `aws:ssmmessages:session-id`, com um valor no formato de `role-id:caller-specified-role-name`.

**nota**  
Session ManagerO não oferece suporte a tags personalizadas para essa política de controle de acesso do IAM. Use as tags de recurso fornecidas pela AWS, descritas abaixo. 

 ** `aws:ssmmessages:target-id` **   
Com essa chave de etiqueta, inclua o ID do nó gerenciado como o valor na política. No bloco de política a seguir, a instrução da condição permite que um usuário encerre apenas o nó i-02573cafcfEXAMPLE.    
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:target-id": [
                        "i-02573cafcfEXAMPLE"
                     ]
                 }
             }
         }
     ]
}
```
Se o usuário tentar encerrar uma sessão para a qual não recebeu a permissão `TerminateSession`, ele receberá um erro `AccessDeniedException`.

 ** `aws:ssmmessages:session-id` **   
Essa chave de tag inclui uma variável para o ID de sessão como o valor na solicitação para iniciar uma sessão.  
O exemplo a seguir mostra uma política para casos em que o tipo de chamador é `User`. O valor fornecido em `aws:ssmmessages:session-id` é o ID do usuário. Neste exemplo, `AIDIODR4TAW7CSEXAMPLE` representa o ID de um usuário na sua conta da Conta da AWS. Para recuperar o ID de um usuário na sua Conta da AWS, use o comando `get-user` do IAM. Para obter mais informações, consulte [get-user](https://docs.aws.amazon.com/IAM/latest/UserGuide/get-user.html) na seção AWS Identity and Access Management do *Manual do usuário do IAM*     
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:session-id": [
                        "AIDIODR4TAW7CSEXAMPLE"
                     ]
                 }
             }
         }
     ]
}
```
O exemplo a seguir mostra uma política para casos em que o tipo de chamador é `AssumedRole`. Você pode usar a variável `{aws:userid}` para o valor fornecido para `aws:ssmmessages:session-id`. Como alternativa, você pode codificar um ID de função para o valor fornecido para `aws:ssmmessages:session-id`. Se você codificar um ID de função, deverá fornecer o valor no formato `role-id:caller-specified-role-name`. Por exemplo, `AIDIODR4TAW7CSEXAMPLE:MyRole`.  
Para que as tags do sistema sejam aplicadas, o ID de função fornecido pode conter apenas os seguintes caracteres: letras Unicode, 0–9, espaço, `_`, `.`, `:`, `/`, `=`, `+`, `-`, `@` e `\`.
Para recuperar o ID de uma função na sua Conta da AWS, use o comando `get-caller-identity`. Para obter informações, consulte [get-caller-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html) na Referência de comandos da AWS CLI.     
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:session-id": [
                        "${aws:userid}*"
                     ]
                 }
             }
         }
     ]
}
```
Se um usuário tentar encerrar uma sessão para a qual não recebeu a permissão `TerminateSession`, ele receberá um erro `AccessDeniedException`.

**`aws:ssmmessages:target-id`** e **`aws:ssmmessages:session-id`**  
Você também pode criar políticas do IAM que permitem que um usuário encerre sessões marcadas com ambas as tags do sistema, conforme este exemplo.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:TerminateSession"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/aws:ssmmessages:target-id":[
                  "i-02573cafcfEXAMPLE"
               ],
               "ssm:resourceTag/aws:ssmmessages:session-id":[
                  "${aws:userid}*"
               ]
            }
         }
      }
   ]
}
```

## Exemplo 5: permitir acesso completo (administrativo) a todas as sessões
<a name="restrict-access-example-full-access"></a>

A seguinte política do IAM permite que um usuário interaja totalmente com todos os nós gerenciados e todas as sessões criadas por todos os usuários para todos os nós. Ela deve ser concedida somente a um administrador que precisa de controle total sobre as atividades do Session Manager da sua organização.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:StartSession",
                "ssm:TerminateSession",
                "ssm:ResumeSession",
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       }
    ]
}
```

------

# Etapa 4: Configurar preferências de sessão
<a name="session-manager-getting-started-configure-preferences"></a>

Os usuários que receberam permissões administrativas em suas políticas do AWS Identity and Access Management (IAM) podem configurar as preferências da sessão, inclusive:
+ Ative o suporte para Executar como para os nós gerenciados do Linux. Isso possibilita iniciar sessões usando as credenciais de um usuário do sistema operacional especificado, em vez de usar as credenciais de uma conta `ssm-user` gerada pelo sistema que o Session Manager do AWS Systems Manager pode criar em um nó gerenciado.
+ Configure o Session Manager para usar a criptografia do AWS KMS key para fornecer proteção adicional aos dados transmitidos entre máquinas clientes e nós gerenciados.
+ Configure o Session Manager para criar e enviar logs de histórico de sessão a um bucket do Amazon Simple Storage Service (Amazon S3) ou a um grupo de logs do Amazon CloudWatch Logs. Os dados de log armazenados podem ser usados para relatar as conexões da sessão feitas em seus nós gerenciados e os comandos executados neles durante as sessões.
+ Configurar os limites de tempo da sessão. Você pode usar essa configuração para especificar quando terminar uma sessão após um período de inatividade.
+ Configure o Session Manager para usar perfis de shell configuráveis. Esses perfis personalizáveis permitem que você defina opções preferenciais dentro das sessões, como preferências de shell, variáveis de ambiente, diretórios de trabalho e execução de vários comandos quando uma sessão é iniciada.

Para obter mais informações sobre as permissões necessárias para configurar preferências do Session Manager, consulte [Conceder ou negar permissões a um usuário para atualizar as preferências do Session Manager](preference-setting-permissions.md).

**Topics**
+ [Conceder ou negar permissões a um usuário para atualizar as preferências do Session Manager](preference-setting-permissions.md)
+ [Especificar um valor de tempo limite de sessão ociosa](session-preferences-timeout.md)
+ [Especifique a duração máxima da sessão](session-preferences-max-timeout.md)
+ [Permitir perfis de shell configuráveis](session-preferences-shell-config.md)
+ [Ative o suporte a Executar como para nós gerenciados do Linux e do macOS](session-preferences-run-as.md)
+ [Ativar a criptografia de chaves do KMS de dados de sessão (console)](session-preferences-enable-encryption.md)
+ [Criar um documento de preferências (linha de comando) do Session Manager](getting-started-create-preferences-cli.md)
+ [Atualizar preferências do Session Manager (linha de comando)](getting-started-configure-preferences-cli.md)

Para obter informações sobre como usar o console do Systems Manager para configurar as opções de registro em log dos dados da sessão, consulte os seguintes tópicos:
+  [Registrar dados da sessão em log usando o Amazon S3 (console)](session-manager-logging-s3.md) 
+  [Transmitir dados da sessão usando o Amazon CloudWatch Logs (console)](session-manager-logging-cwl-streaming.md) 
+  [Registrar dados da sessão em log usando o Amazon CloudWatch Logs (console)](session-manager-logging-cloudwatch-logs.md) 

# Conceder ou negar permissões a um usuário para atualizar as preferências do Session Manager
<a name="preference-setting-permissions"></a>

As preferências da conta são armazenadas como documentos do AWS Systems Manager SSM para Região da AWS. Antes que um usuário possa atualizar as preferências de conta para sessões em sua conta, eles devem receber as permissões necessárias para acessar o tipo de documento do SSM onde essas preferências estão armazenadas. Essas permissões são concedidas por meio de uma política do AWS Identity and Access Management (IAM).

**A política de administrador para permitir que as preferências sejam criadas e atualizadas**  
Um administrador pode ter a seguinte política para criar e atualizar as preferências a qualquer momento. A política a seguir dá permissão para acessar e atualizar o documento `SSM-SessionManagerRunShell` em uma conta 123456789012 na us-east-2. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

**Política de usuário para impedir que as preferências sejam atualizados**  
Use a política a seguir para impedir que os usuários finais da sua conta atualizem ou substitua as preferências do Session Manager. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

# Especificar um valor de tempo limite de sessão ociosa
<a name="session-preferences-timeout"></a>

O Session Manager, uma ferramenta do AWS Systems Manager, permite especificar o tempo para permitir que um usuário fique inativo antes do sistema encerrar uma sessão. Por padrão, as sessões expiram após 20 minutos de inatividade. Você pode modificar essa configuração para especificar que uma sessão expira entre 1 e 60 minutos de inatividade. Algumas agências profissionais de segurança de computação recomendam definir tempos limite de sessão ociosa para um máximo de 15 minutos. 

O cronômetro de tempo limite de sessão inativa é reiniciado quando o Session Manager recebe entradas do lado do cliente. Essas entradas incluem, entre outras:
+ Entrada no teclado no terminal
+ Eventos de redimensionamento de janelas do terminal ou do navegador
+ Reconexão de sessão (ResumeSession), o que pode ocorrer devido a interrupções na rede, gerenciamento de guias do navegador ou desconexões do WebSocket

Como esses eventos reiniciam o cronômetro de inatividade, uma sessão pode permanecer ativa por mais tempo que o tempo limite configurado, mesmo sem comandos diretos no terminal.

Se seus requisitos de segurança exigirem limites de duração da sessão rígidos, independentemente da atividade, use a configuração *Duração máxima da sessão*, além do tempo limite de inatividade. Para obter mais informações, consulte [Especifique a duração máxima da sessão](session-preferences-max-timeout.md).

**Para permitir o tempo limite da sessão ociosa (console)**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Especifique a quantidade de tempo para permitir que um usuário fique inativo antes que uma sessão termine no campo **minutes** (minutos) em **Idle session timeout** (Tempo limite de sessão ociosa).

1. Escolha **Salvar**.

# Especifique a duração máxima da sessão
<a name="session-preferences-max-timeout"></a>

O Session Manager, uma ferramenta do AWS Systems Manager, permite que você especifique a duração máxima de uma sessão antes que ela termine. Por padrão, sessões não têm duração máxima. O valor especificado para a duração máxima da sessão deve estar entre 1 e 1.440 minutos.

**Para especificar a duração máxima da sessão (console)**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Marque a caixa de seleção ao lado de **Enable maximum session duration** (Ativar a duração máxima da sessão).

1. Especifique a duração máxima da sessão antes que ela termine, no campo **minutes** (minutos) em **Maximum session duration** (Duração máxima da sessão).

1. Escolha **Salvar**.

# Permitir perfis de shell configuráveis
<a name="session-preferences-shell-config"></a>

Por padrão, as sessões nas instâncias do EC2 para Linux começam a usar o shell Bourne (sh). No entanto, talvez prefira usar outro shell como bash. Ao permitir perfis de shell configuráveis, você pode personalizar preferências dentro de sessões como preferências de shell, variáveis de ambiente, diretórios de trabalho e executar vários comandos quando uma sessão é iniciada.

**Importante**  
O Systems Manager não verifica os comandos ou scripts em seu perfil de shell para ver quais alterações eles fariam em uma instância antes de serem executados. Para restringir a capacidade de um usuário modificar comandos ou scripts inseridos em seu perfil de shell, recomendamos o seguinte:  
Crie um documento personalizado do tipo de sessão para os usuários e funções do AWS Identity and Access Management (IAM). Em seguida, modifique a política do IAM para esses usuários e funções para que a operação da API `StartSession` só possa usar o documento do tipo Sessão que você criou para eles. Para obter informações, consulte [Criar um documento de preferências (linha de comando) do Session Manager](getting-started-create-preferences-cli.md) e [Políticas do usuário final do Quickstart para o Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).
Modifique a política do IAM para seus usuários e funções do IAM para negar acesso à operação da API `UpdateDocument` do recurso de documento do tipo Sessão que você criar. Isso permite que seus usuários e funções usem o documento que você criou para suas preferências de sessão sem permitir que eles modifiquem qualquer uma das configurações.

**Para ativar perfis de shell configuráveis**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Especifique as variáveis de ambiente, preferências de shell ou comandos que você deseja executar quando a sessão for iniciada nos campos dos sistemas operacionais aplicáveis.

1. Escolha **Salvar**.

Os comandos a seguir são exemplos que podem ser adicionados ao seu perfil do shell.

Altere para o shell bash e para o diretório /usr nas instâncias do Linux.

```
exec /bin/bash
cd /usr
```

Emita um carimbo de data/hora e uma mensagem de boas-vindas no início de uma sessão.

------
#### [ Linux & macOS ]

```
timestamp=$(date '+%Y-%m-%dT%H:%M:%SZ')
user=$(whoami)
echo $timestamp && echo "Welcome $user"'!'
echo "You have logged in to a production instance. Note that all session activity is being logged."
```

------
#### [  Windows  ]

```
$timestamp = (Get-Date).ToString("yyyy-MM-ddTH:mm:ssZ")
$splitName = (whoami).Split("\")
$user = $splitName[1]
Write-Host $timestamp
Write-Host "Welcome $user!"
Write-Host "You have logged in to a production instance. Note that all session activity is being logged."
```

------

Visualizar a atividade dinâmica do sistema no início de uma sessão.

------
#### [ Linux & macOS ]

```
top
```

------
#### [  Windows  ]

```
while ($true) { Get-Process | Sort-Object -Descending CPU | Select-Object -First 30; `
Start-Sleep -Seconds 2; cls
Write-Host "Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName"; 
Write-Host "-------  ------    -----      ----- -----   ------     -- -----------"}
```

------

# Ative o suporte a Executar como para nós gerenciados do Linux e do macOS
<a name="session-preferences-run-as"></a>

Por padrão, o Session Manager autentica as conexões ao usar as credenciais da conta `ssm-user` gerada pelo sistema que é criada em um nó gerenciado. (Em máquinas macOS e Linux, a conta é adicionada ao `/etc/sudoers/`). Se desejar, em vez disso, é possível autenticar as sessões usando as credenciais de uma conta de usuário do sistema operacional (SO) ou um usuário de domínio para instâncias ingressadas para um Active Directory. Nesse caso, o Session Manager verifica se a conta do SO especificada existe no nó ou no domínio antes de iniciar a sessão. Se você tentar iniciar uma sessão usando uma conta do SO que não existe no nó ou no domínio, a conexão falhará.

**nota**  
O Gerenciador de Sessões não oferece suporte ao uso de uma conta de usuário `root` do sistema operacional para autenticar conexões. Para sessões que são autenticadas usando uma conta de usuário do SO, o nível do sistema operacional e as políticas de diretório do nó, como restrições de login ou restrições de uso de recursos do sistema, podem não se aplicar. 

**Como funciona**  
Se você ativar o suporte a Run As (Executar como) para sessões, o sistema verificará a existência de permissões de acesso da seguinte forma:

1. Para o usuário que está iniciando a sessão, a entidade do IAM (usuário ou perfil) foi marcada com `SSMSessionRunAs = os user account name`?

   Em caso afirmativo, o nome do usuário do SO existe no nó gerenciado? Se a resposta for sim, iniciar a sessão. Se isso não acontecer, não permita que uma sessão seja iniciada.

   Se a entidade do IAM *não* tiver sido marcada com `SSMSessionRunAs = os user account name`, continue para a etapa 2.

1. Se a entidade do IAM não foi marcada com `SSMSessionRunAs = os user account name`, um nome de usuário do SO foi especificado nas preferências do Session Manager da Conta da AWS?

   Em caso afirmativo, o nome do usuário do SO existe no nó gerenciado? Se a resposta for sim, iniciar a sessão. Se isso não acontecer, não permita que uma sessão seja iniciada. 

**nota**  
Quando você ativa o suporte “Executar como”, ele evita que o Gerenciador de Sessões inicie sessões usando a conta `ssm-user` em um nó gerenciado. Isso significa que, se o Session Manager falhar ao se conectar usando a conta de usuário do SO especificada, ele não voltará a se conectar pelo método padrão.   
Se você ativar “Executar como” sem especificar uma conta do SO ou marcar uma entidade do IAM e não tiver especificado uma conta do SO nas preferências do Gerenciador de Sessões, as tentativas de conexão da sessão falharão.

**Para ativar o suporte para Executar como para nós gerenciados do Linux e do macOS**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Marque a caixa de seleção ao lado de **Habilitar o suporte a Executar como para instâncias do Linux**.

1. Execute um destes procedimentos:
   + **Opção 1**: no campo **Nome de usuário do sistema operacional**, insira o nome da conta de usuário do SO que você deseja usar para iniciar as sessões. Usando essa opção, todas as sessões são executadas pelo mesmo usuário do SO para todos os usuários em sua Conta da AWS que se conectam usando o Session Manager.
   + **Opção 2** (recomendada): escolha o link **Abrir o console do IAM**. No painel de navegação, selecione **Users (Usuários)** ou **Roles (Funções)**. Escolha a entidade (usuário ou função) à qual adicionar tags e escolha a guia **Tags**. Insira `SSMSessionRunAs` para o nome da chave. Insira o nome de uma conta de usuário do SO para o valor da chave. Escolha **Salvar alterações**.

     Usando esta opção, é possível especificar usuários únicos do SO para diferentes entidades do IAM, se desejar. Para obter mais informações sobre a marcação de entidades do IAM (usuários ou perfis), consulte [Recursos de marcação do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) no *Guia do usuário do IAM*.

     Veja um exemplo a seguir.  
![\[Captura de tela da especificação de etiquetas para a permissão de Run As (Executar como) do Session Manager.\]](http://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/images/ssn-run-as-tags.png)

1. Escolha **Salvar**.

# Ativar a criptografia de chaves do KMS de dados de sessão (console)
<a name="session-preferences-enable-encryption"></a>

Use o AWS Key Management Service (AWS KMS) para criar e gerenciar chaves de criptografia. Com o AWS KMS, você pode controlar o uso da criptografia em uma grande variedade de Serviços da AWS e nos seus aplicativos. Você pode especificar que os dados da sessão transmitidos entre os nós gerenciados e os computadores locais dos usuários na sua Conta da AWS sejam criptografados usando a criptografia de chaves do KMS. (Isso é um complemento à criptografia TLS 1.2/1.3 que já é fornecida pela AWS por padrão.) Para criptografar os dados da sessão do Session Manager, crie uma chave do KMS *simétrica* usando o AWS KMS.

A criptografia do AWS KMS está disponível para os tipos de sessão `Standard_Stream`, `InteractiveCommands` e `NonInteractiveCommands`. Para usar a opção de criptografar dados da sessão usando uma chave criada no AWS KMS (AWS Systems Manager), a versão 2.3.539.0 ou posterior do SSM Agent deve ser instalada em seu nó gerenciado. 

**nota**  
Você deve permitir a criptografia do AWS KMS para redefinir senhas em seus nós gerenciados no console do AWS Systems Manager. Para obter mais informações, consulte [Redefina uma senha em um nó gerenciado](fleet-manager-reset-password.md#managed-instance-reset-a-password).

Você pode usar uma chave que criou na sua Conta da AWS. Também pode usar uma chave criada em uma diferente Conta da AWS. O criador da chave em uma Conta da AWS diferente deve fornecer as permissões necessárias para usar essa chave.

Depois que você habilitar a criptografia de chaves do KMS para dados de sessão, os usuários que iniciarem sessões e nós gerenciados, às quais eles estiverem conectados, deverão ter permissão para usar essa chave. Você fornece permissão para usar a chave KMS com o Session Manager por meio de políticas do IAM AWS Identity and Access Management. Para obter informações, consulte os seguintes tópicos:
+ Adicione permissões de AWS KMS para usuários na sua conta: [Exemplo de políticas do IAM para Session Manager](getting-started-restrict-access-quickstart.md)
+ Adicione permissões do AWS KMS para nós gerenciados na sua conta: [Etapa 2: verificar ou adicionar permissões de instância para o Session Manager](session-manager-getting-started-instance-profile.md)

Para obter mais informações sobre como criar e gerenciar chaves KMS, consulte o [https://docs.aws.amazon.com/kms/latest/developerguide/](https://docs.aws.amazon.com/kms/latest/developerguide/).

Para obter informações sobre como usar a AWS CLI para ativar a criptografia de chaves do KMS de dados de sessão na sua conta, consulte [Criar um documento de preferências (linha de comando) do Session Manager](getting-started-create-preferences-cli.md) ou [Atualizar preferências do Session Manager (linha de comando)](getting-started-configure-preferences-cli.md).

**nota**  
Há cobrança para usar chaves do KMS. Para obter mais informações, consulte [Definição de preço do AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

**Para ativar a criptografia de chaves do KMS de dados de sessão (console)**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Marque a caixa de seleção ao lado de **Enable KMS encryption** (Ativar criptografia KMS).

1. Execute um destes procedimentos:
   + Selecione o botão ao lado de **Select an KMS key in my current account** (Selecione uma chave KMS em minha conta atual) e escolha uma chave da lista.

     - ou -

     Escolha o botão ao lado de **Enter a KMS key alias or KMS key ARN (Insira um alias de chave KMS ou um ARN de chave KMS)**. Insira manualmente um alias de chave do KMS para uma chave criada na sua conta atual ou insira o nome do recurso da Amazon (ARN) de uma chave em outra conta. Veja os exemplos a seguir:
     + Alias da chave: `alias/my-kms-key-alias`
     + Nome de região da Amazon (ARN) do alias da chave: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE`

     - ou -

     Escolha **Create new key** (Criar nova chave) para criar uma nova chave do KMS na sua conta. Depois de criar a nova chave, retorne à guia **Preferences (Preferências)** e selecione a chave para criptografar dados de sessão na sua conta.

   Para obter mais informações sobre como compartilhar chaves, consulte [Allowing External Contas da AWS to Access a key](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts) no *Guia do desenvolvedor do AWS Key Management Service*.

1. Escolha **Salvar**.

# Criar um documento de preferências (linha de comando) do Session Manager
<a name="getting-started-create-preferences-cli"></a>

Use o procedimento a seguir para criar documentos do SSM que definam suas preferências para sessões do Session Manager do AWS Systems Manager. É possível usar o documento para configurar as opções da sessão, inclusive criptografia de dados, duração da sessão e registro em log. Por exemplo, você pode especificar se armazenará dados de log de sessão em um bucket do Amazon Simple Storage Service (Amazon S3) ou em um grupo de logs do Amazon CloudWatch Logs. Você pode criar documentos que definam preferências gerais para todas as sessões de uma Conta da AWS e Região da AWS ou que definam preferências para sessões individuais. 

**nota**  
Também é possível configurar as preferências gerais da sessão usando o console do Gerenciador de Sessões.

Os documentos usados para definir as preferências do Gerenciador de Sessões devem ter um `sessionType` de `Standard_Stream`. Para obter mais informações sobre documentos de sessões, consulte [Esquema do documento de sessão](session-manager-schema.md).

Para obter informações sobre como usar a linha de comando para atualizar as preferências atuais do Session Manager, consulte [Atualizar preferências do Session Manager (linha de comando)](getting-started-configure-preferences-cli.md).

Para obter um exemplo de como criar preferências de sessão usando o CloudFormation, consulte [Create a Systems Manager document for Session Manager preferences](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#aws-resource-ssm-document--examples) (Criar um documento do Systems Manager para as preferências do Session Manager no *Manual do usuário do AWS CloudFormation*.

**nota**  
Esse procedimento descreve como criar documentos para definir preferências do Session Manager no nível da Conta da AWS. Para criar documentos que serão usados para definir as preferências no nível da sessão, especifique um valor diferente de `SSM-SessionManagerRunShell` das entradas de comando relacionadas ao nome do arquivo.   
Para usar seu documento para definir preferências para sessões iniciadas por meio da AWS Command Line Interface (AWS CLI), forneça o nome do documento como valor do parâmetro `--document-name`. Para definir preferências para sessões iniciadas no console do Gerenciador de Sessões, você pode digitar ou selecionar o nome do documento em uma lista.

**Como criar preferências do Session Manager (linha de comando)**

1. Crie um arquivo JSON em sua máquina local com um nome, como `SessionManagerRunShell.json` e, em seguida, cole o conteúdo a seguir nesse arquivo.

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to hold regional settings for Session Manager",
       "sessionType": "Standard_Stream",
       "inputs": {
           "s3BucketName": "",
           "s3KeyPrefix": "",
           "s3EncryptionEnabled": true,
           "cloudWatchLogGroupName": "",
           "cloudWatchEncryptionEnabled": true,
           "cloudWatchStreamingEnabled": false,
           "kmsKeyId": "",
           "runAsEnabled": false,
           "runAsDefaultUser": "",
           "idleSessionTimeout": "",
           "maxSessionDuration": "",
           "shellProfile": {
               "windows": "date",
               "linux": "pwd;ls"
           }
       }
   }
   ```

   Também é possível passar valores para suas preferências de sessão usando parâmetros em vez de codificar os valores, conforme mostrado no exemplo a seguir.

   ```
   {
      "schemaVersion":"1.0",
      "description":"Session Document Parameter Example JSON Template",
      "sessionType":"Standard_Stream",
      "parameters":{
         "s3BucketName":{
            "type":"String",
            "default":""
         },
         "s3KeyPrefix":{
            "type":"String",
            "default":""
         },
         "s3EncryptionEnabled":{
            "type":"Boolean",
            "default":"false"
         },
         "cloudWatchLogGroupName":{
            "type":"String",
            "default":""
         },
         "cloudWatchEncryptionEnabled":{
            "type":"Boolean",
            "default":"false"
         }
      },
      "inputs":{
         "s3BucketName":"{{s3BucketName}}",
         "s3KeyPrefix":"{{s3KeyPrefix}}",
         "s3EncryptionEnabled":"{{s3EncryptionEnabled}}",
         "cloudWatchLogGroupName":"{{cloudWatchLogGroupName}}",
         "cloudWatchEncryptionEnabled":"{{cloudWatchEncryptionEnabled}}",
         "kmsKeyId":""
      }
   }
   ```

1. Especifique em que local você deseja enviar dados de sessão. Você pode especificar o nome de um bucket do S3 (com um prefixo opcional) ou um nome de grupo de logs do CloudWatch Logs. Se você quiser criptografar ainda mais os dados entre o cliente local e os nós gerenciados, forneça a chave KMS a ser usada para a criptografia. Veja um exemplo a seguir.

   ```
   {
     "schemaVersion": "1.0",
     "description": "Document to hold regional settings for Session Manager",
     "sessionType": "Standard_Stream",
     "inputs": {
       "s3BucketName": "amzn-s3-demo-bucket",
       "s3KeyPrefix": "MyS3Prefix",
       "s3EncryptionEnabled": true,
       "cloudWatchLogGroupName": "MyLogGroupName",
       "cloudWatchEncryptionEnabled": true,
       "cloudWatchStreamingEnabled": false,
       "kmsKeyId": "MyKMSKeyID",
       "runAsEnabled": true,
       "runAsDefaultUser": "MyDefaultRunAsUser",
       "idleSessionTimeout": "20",
       "maxSessionDuration": "60",
       "shellProfile": {
           "windows": "MyCommands",
           "linux": "MyCommands"
       }
     }
   }
   ```
**nota**  
Se você não quiser criptografar dados de log da sessão, altere `true` para `false` em `s3EncryptionEnabled`.  
Se você não estiver enviando logs para um bucket do Amazon S3 ou para um grupo de logs do CloudWatch Logs, se não quiser criptografar os dados da sessão ativa ou não quiser habilitar o suporte a Run As (Executar como) para as sessões em sua conta, exclua as linhas para essas opções. Certifique-se de que a última linha na seção `inputs` não termine com uma vírgula.  
Se você adicionar um ID de chave do KMS para criptografar dados de sessão, os usuários que iniciarem sessões e os nós gerenciados aos quais eles se conectarem deverão ter permissão para usar essa chave. Você fornece permissão para usar a chave KMS com o Session Manager por meio de políticas do IAM. Para obter informações, consulte os seguintes tópicos:  
Adicione permissões de AWS KMS para usuários na sua conta: [Exemplo de políticas do IAM para Session Manager](getting-started-restrict-access-quickstart.md)
Adicione permissões do AWS KMS para nós gerenciados na sua conta: [Etapa 2: verificar ou adicionar permissões de instância para o Session Manager](session-manager-getting-started-instance-profile.md)

1. Salve o arquivo.

1. No diretório em que você criou o arquivo JSON, execute o seguinte comando:

------
#### [ Linux & macOS ]

   ```
   aws ssm create-document \
       --name SSM-SessionManagerRunShell \
       --content "file://SessionManagerRunShell.json" \
       --document-type "Session" \
       --document-format JSON
   ```

------
#### [  Windows  ]

   ```
   aws ssm create-document ^
       --name SSM-SessionManagerRunShell ^
       --content "file://SessionManagerRunShell.json" ^
       --document-type "Session" ^
       --document-format JSON
   ```

------
#### [   PowerShell   ]

   ```
   New-SSMDocument `
       -Name "SSM-SessionManagerRunShell" `
       -Content (Get-Content -Raw SessionManagerRunShell.json) `
       -DocumentType "Session" `
       -DocumentFormat JSON
   ```

------

   Se houver êxito, o comando gerará uma saída semelhante à seguinte.

   ```
   {
       "DocumentDescription": {
           "Status": "Creating",
           "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
           "Name": "SSM-SessionManagerRunShell",
           "Tags": [],
           "DocumentType": "Session",
           "PlatformTypes": [
               "Windows",
               "Linux"
           ],
           "DocumentVersion": "1",
           "HashType": "Sha256",
           "CreatedDate": 1547750660.918,
           "Owner": "111122223333",
           "SchemaVersion": "1.0",
           "DefaultVersion": "1",
           "DocumentFormat": "JSON",
           "LatestVersion": "1"
       }
   }
   ```

# Atualizar preferências do Session Manager (linha de comando)
<a name="getting-started-configure-preferences-cli"></a>

O procedimento a seguir descreve como usar sua ferramenta da linha de comando preferencial para fazer alterações nas preferências do Session Manager do AWS Systems Manager para sua Conta da AWS na Região da AWS selecionada. Use o Session Manager para especificar opções para o registro em log de dados de sessão em um bucket do Amazon Simple Storage Service (Amazon S3) ou em um grupo de logs do Amazon CloudWatch Logs. Você também pode usar preferências do Session Manager para criptografar seus dados de sessão.

**Como atualizar preferências do Session Manager (linha de comando)**

1. Crie um arquivo JSON em sua máquina local com um nome, como `SessionManagerRunShell.json` e, em seguida, cole o conteúdo a seguir nesse arquivo.

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to hold regional settings for Session Manager",
       "sessionType": "Standard_Stream",
       "inputs": {
           "s3BucketName": "",
           "s3KeyPrefix": "",
           "s3EncryptionEnabled": true,
           "cloudWatchLogGroupName": "",
           "cloudWatchEncryptionEnabled": true,
           "cloudWatchStreamingEnabled": false,
           "kmsKeyId": "",
           "runAsEnabled": true,
           "runAsDefaultUser": "",
           "idleSessionTimeout": "",
           "maxSessionDuration": "",
           "shellProfile": {
               "windows": "date",
               "linux": "pwd;ls"
           }
       }
   }
   ```

1. Especifique em que local você deseja enviar dados de sessão. Você pode especificar o nome de um bucket do S3 (com um prefixo opcional) ou um nome de grupo de logs do CloudWatch Logs. Se você quiser criptografar ainda mais os dados entre o cliente local e os nós gerenciados, forneça o AWS KMS key a ser usado para a criptografia. Veja um exemplo a seguir.

   ```
   {
     "schemaVersion": "1.0",
     "description": "Document to hold regional settings for Session Manager",
     "sessionType": "Standard_Stream",
     "inputs": {
       "s3BucketName": "amzn-s3-demo-bucket",
       "s3KeyPrefix": "MyS3Prefix",
       "s3EncryptionEnabled": true,
       "cloudWatchLogGroupName": "MyLogGroupName",
       "cloudWatchEncryptionEnabled": true,
       "cloudWatchStreamingEnabled": false,
       "kmsKeyId": "MyKMSKeyID",
       "runAsEnabled": true,
       "runAsDefaultUser": "MyDefaultRunAsUser",
       "idleSessionTimeout": "20",
       "maxSessionDuration": "60",
       "shellProfile": {
           "windows": "MyCommands",
           "linux": "MyCommands"
       }
     }
   }
   ```
**nota**  
Se você não quiser criptografar dados de log da sessão, altere `true` para `false` em `s3EncryptionEnabled`.  
Se você não estiver enviando logs para um bucket do Amazon S3 ou para um grupo de logs do CloudWatch Logs, se não quiser criptografar os dados da sessão ativa ou não quiser habilitar o suporte a Run As (Executar como) para as sessões em sua conta, exclua as linhas para essas opções. Certifique-se de que a última linha na seção `inputs` não termine com uma vírgula.  
Se você adicionar um ID de chave do KMS para criptografar dados de sessão, os usuários que iniciarem sessões e os nós gerenciados aos quais eles se conectarem deverão ter permissão para usar essa chave. Você fornece permissão para usar a chave KMS com o Session Manager por meio de políticas do IAM AWS Identity and Access Management. Para obter informações, consulte os seguintes tópicos:  
Adicione permissões de AWS KMS para usuários na sua conta: [Exemplo de políticas do IAM para Session Manager](getting-started-restrict-access-quickstart.md)
Adicione permissões do AWS KMS para nós gerenciados na sua conta: [Etapa 2: verificar ou adicionar permissões de instância para o Session Manager](session-manager-getting-started-instance-profile.md)

1. Salve o arquivo.

1. No diretório em que você criou o arquivo JSON, execute o seguinte comando:

------
#### [ Linux & macOS ]

   ```
   aws ssm update-document \
       --name "SSM-SessionManagerRunShell" \
       --content "file://SessionManagerRunShell.json" \
       --document-version "\$LATEST"
   ```

------
#### [  Windows  ]

   ```
   aws ssm update-document ^
       --name "SSM-SessionManagerRunShell" ^
       --content "file://SessionManagerRunShell.json" ^
       --document-version "$LATEST"
   ```

------
#### [   PowerShell   ]

   ```
   Update-SSMDocument `
       -Name "SSM-SessionManagerRunShell" `
       -Content (Get-Content -Raw SessionManagerRunShell.json) `
       -DocumentVersion '$LATEST'
   ```

------

   Se houver êxito, o comando gerará uma saída semelhante à seguinte.

   ```
   {
       "DocumentDescription": {
           "Status": "Updating",
           "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
           "Name": "SSM-SessionManagerRunShell",
           "Tags": [],
           "DocumentType": "Session",
           "PlatformTypes": [
               "Windows",
               "Linux"
           ],
           "DocumentVersion": "2",
           "HashType": "Sha256",
           "CreatedDate": 1537206341.565,
           "Owner": "111122223333",
           "SchemaVersion": "1.0",
           "DefaultVersion": "1",
           "DocumentFormat": "JSON",
           "LatestVersion": "2"
       }
   }
   ```

# Etapa 5: (Opcional) Restringir o acesso a comandos em uma sessão
<a name="session-manager-restrict-command-access"></a>

Você pode restringir os comandos que um usuário pode executar em uma sessão do AWS Systems Manager Session Manager usando um documento do AWS Systems Manager (SSM) do tipo `Session` personalizado. No documento, defina o comando que é executado quando o usuário inicia uma sessão e os parâmetros que o usuário pode fornecer ao comando. A `schemaVersion` do documento do `Session` deve ser 1.0 e o `sessionType` do documento deve ser `InteractiveCommands`. É possível criar políticas do AWS Identity and Access Management (IAM) que permitem que os usuários acessem apenas os documentos do `Session` definidos por você. Para obter mais informações sobre como usar políticas do IAM para restringir o acesso a comandos em uma sessão, consulte [Exemplos de políticas do IAM para comandos interativos](#interactive-command-policy-examples).

Documentos com o `sessionType` de `InteractiveCommands` são compatíveis somente com sessões iniciadas pela AWS Command Line Interface (AWS CLI). O usuário fornece o nome do documento personalizado como o valor do parâmetro `--document-name` e fornece qualquer valor de parâmetro do comando usando a opção `--parameters`. Para obter mais informações sobre como executar comandos interativos, consulte [Iniciar uma sessão (comandos interativos e não interativos)](session-manager-working-with-sessions-start.md#sessions-start-interactive-commands).

Use o procedimento a seguir para criar um documento do SSM tipo `Session` personalizado que define o comando que um usuário tem permissão para executar.

## Restringir acesso a comandos em uma sessão (console)
<a name="restrict-command-access-console"></a>

**Para restringir os comandos que um usuário pode executar em uma sessão do Session Manager (console)**

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 **Documents**.

1. Escolha **Create command or session (Criar comando ou sessão)**.

1. Em **Name** (Nome), insira um nome descritivo para o documento.

1. Em **Document Type (Tipo de documento)**, escolha **Session document (Documento de sessão)**.

1. Insira o conteúdo do documento que define o comando que um usuário pode executar em uma sessão do Session Manager usando JSON ou YAML, conforme mostrado no exemplo a seguir.

------
#### [ YAML ]

   ```
   ---
   schemaVersion: '1.0'
   description: Document to view a log file on a Linux instance
   sessionType: InteractiveCommands
   parameters:
     logpath:
       type: String
       description: The log file path to read.
       default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
       allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
   properties:
     linux:
       commands: "tail -f {{ logpath }}"
       runAsElevated: true
   ```

------
#### [ JSON ]

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to view a log file on a Linux instance",
       "sessionType": "InteractiveCommands",
       "parameters": {
           "logpath": {
               "type": "String",
               "description": "The log file path to read.",
               "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
               "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
           }
       },
       "properties": {
           "linux": {
               "commands": "tail -f {{ logpath }}",
               "runAsElevated": true
           }
       }
   }
   ```

------

1. Escolha **Criar documento**.

## Restringir acesso a comandos em uma sessão (linha de comando)
<a name="restrict-command-access-commandline"></a>

**Antes de começar**  
Caso ainda não tenha feito isso, instale e configure a AWS Command Line Interface (AWS CLI) ou o Ferramentas da AWS para PowerShell. 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) e [Instalar o Ferramentas da AWS para PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

**Para restringir os comandos que um usuário pode executar em uma sessão do Session Manager (linha de comando)**

1. Crie um arquivo JSON ou YAML para o conteúdo do documento que define o comando que um usuário pode executar em uma sessão do Session Manager, conforme mostrado no exemplo a seguir.

------
#### [ YAML ]

   ```
   ---
   schemaVersion: '1.0'
   description: Document to view a log file on a Linux instance
   sessionType: InteractiveCommands
   parameters:
     logpath:
       type: String
       description: The log file path to read.
       default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
       allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
   properties:
     linux:
       commands: "tail -f {{ logpath }}"
       runAsElevated: true
   ```

------
#### [ JSON ]

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to view a log file on a Linux instance",
       "sessionType": "InteractiveCommands",
       "parameters": {
           "logpath": {
               "type": "String",
               "description": "The log file path to read.",
               "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
               "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
           }
       },
       "properties": {
           "linux": {
               "commands": "tail -f {{ logpath }}",
               "runAsElevated": true
           }
       }
   }
   ```

------

1. Execute os seguintes comandos para criar um documento do SSM usando seu conteúdo que define o comando que um usuário pode executar em uma sessão do Session Manager.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-document \
       --content file://path/to/file/documentContent.json \
       --name "exampleAllowedSessionDocument" \
       --document-type "Session"
   ```

------
#### [  Windows  ]

   ```
   aws ssm create-document ^
       --content file://C:\path\to\file\documentContent.json ^
       --name "exampleAllowedSessionDocument" ^
       --document-type "Session"
   ```

------
#### [   PowerShell   ]

   ```
   $json = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String
   New-SSMDocument `
       -Content $json `
       -Name "exampleAllowedSessionDocument" `
       -DocumentType "Session"
   ```

------

## Parâmetros de comando interativos e a AWS CLI
<a name="restrict-command-access-parameters-cli"></a>

Usando a , os parâmetros de comandos interativos podem ser fornecidos de várias maneiras AWS CLI. Dependendo do sistema operacional (SO) da máquina cliente que você usa para se conectar aos nós gerenciados com a AWS CLI, a sintaxe fornecida para comandos que contêm caracteres especiais ou de escape poderá ser diferente. Os exemplos a seguir mostram algumas das maneiras de fornecer parâmetros de comandos ao usar a AWS CLI e como lidar com caracteres especiais ou de escape.

Os parâmetros armazenados em Parameter Store podem ser referenciados na AWS CLI para seus parâmetros de comandos conforme mostrado no exemplo a seguir.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["{{ssm:mycommand}}"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["{{ssm:mycommand}}"]}'
```

------

O exemplo a seguir mostra como é possível usar uma sintaxe abreviada com a AWS CLI para passar parâmetros.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters command="ifconfig"
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters command="ipconfig"
```

------

Você também pode fornecer parâmetros em JSON como mostrado no exemplo a seguir.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["ifconfig"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["ipconfig"]}'
```

------

Os parâmetros também podem ser armazenados em um arquivo JSON e fornecidos para a AWS CLI como mostrado no exemplo a seguir. Para obter mais informações sobre como usar parâmetros da AWS CLI em um arquivo, consulte [Carregar parâmetros da AWS CLI em um arquivo](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-parameters-file.html) no *Manual do usuário do AWS Command Line Interface*.

```
{
    "command": [
        "my command"
    ]
}
```

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters file://complete/path/to/file/parameters.json
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters file://complete/path/to/file/parameters.json
```

------

Também é possível gerar um esqueleto da AWS CLI de um arquivo de entrada JSON conforme mostrado no exemplo a seguir. Para obter mais informações sobre a geração de esqueletos da AWS CLI com base em arquivos de entrada JSON, consulte [Gerar um esqueleto da AWS CLI e parâmetros de entrada usando um arquivo de entrada JSON ou YAML](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-skeleton.html) no * Guia do usuário da AWS Command Line Interface*.

```
{
    "Target": "instance-id",
    "DocumentName": "MyInteractiveCommandDocument",
    "Parameters": {
        "command": [
            "my command"
        ]
    }
}
```

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --cli-input-json file://complete/path/to/file/parameters.json
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --cli-input-json file://complete/path/to/file/parameters.json
```

------

Para escapar caracteres dentro das aspas, adicione barras invertidas adicionais aos caracteres de escape, conforme mostrado no exemplo a seguir.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["printf \"abc\\\\tdef\""]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["printf \"abc\\\\tdef\""]}'
```

------

Para obter informações sobre o uso de aspas com parâmetros formatados na AWS CLI, consulte [Usar aspas com strings na AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-parameters-quoting-strings.html), no *Manual do usuário da AWS Command Line Interface*.

## Exemplos de políticas do IAM para comandos interativos
<a name="interactive-command-policy-examples"></a>

Você pode criar políticas do IAM que permitem que os usuários acessem somente os documentos de `Session` definidos por você. Isso restringe os comandos que um usuário pode executar em uma sessão do Session Manager apenas aos comandos definidos em seus documentos personalizados do SSM do tipo `Session`.

 **Permitir que um usuário execute um comando interativo em um único nó gerenciado**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/i-02573cafcfEXAMPLE",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

 **Permitir que um usuário execute um comando interativo em todos os nós gerenciados**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/*",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

 **Permitir que um usuário execute vários comandos interativos em todos os nós gerenciados**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/*",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document-2"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

# Etapa 6: (Opcional) Usar o AWS PrivateLink para configurar um endpoint da VPC para o Session Manager
<a name="session-manager-getting-started-privatelink"></a>

Você pode melhorar o procedimento de segurança dos nós gerenciados configurando o AWS Systems Manager para usar um endpoint de nuvem privada virtual (VPC) da interface. Os endpoints da interface são habilitados pelo AWS PrivateLink, uma tecnologia que permite que você acesse privadamente APIs do Amazon Elastic Compute Cloud (Amazon EC2) e do Systems Manager usando endereços IP privados. 

AWS PrivateLinkO limita todo o tráfego de rede entre os nós gerenciados, o Systems Manager, o Amazon EC2 e a rede da Amazon. (Os nós gerenciados não têm acesso à Internet.) Além disso, você não precisa de um Internet gateway, de um dispositivo NAT ou de um gateway privado virtual. 

Para obter informações sobre como criar um endpoint da VPC, consulte [Melhorar a segurança das instâncias do EC2 usando endpoints da VPC para o Systems Manager](setup-create-vpc.md).

A alternativa ao uso de um endpoint da VPC é permitir o acesso à Internet de saída em seus nós gerenciados. Nesse caso, os nós gerenciados também devem permitir tráfego de saída HTTPS (porta 443) para os seguintes endpoints:
+  `ec2messages.region.amazonaws.com` 
+  `ssm.region.amazonaws.com` 
+  `ssmmessages.region.amazonaws.com` 

O Systems Manager usa o último desses endpoints, `ssmmessages.region.amazonaws.com`, para fazer chamadas do SSM Agent para o serviço Session Manager na nuvem.

Para usar recursos opcionais como criptografia AWS Key Management Service (AWS KMS), transmissão de logs para o Amazon CloudWatch Logs (CloudWatch Logs) e envio de logs para o Amazon Simple Storage Service (Amazon S3), você deve permitir o tráfego de saída HTTPS (porta 443) para os seguintes endpoints:
+  `kms.region.amazonaws.com` 
+  `logs.region.amazonaws.com` 
+  `s3.region.amazonaws.com` 

Para obter mais informações sobre os endpoints necessários para o Systems Manager, consulte [Referência: ec2messages, ssmmessages e outras operações da API](systems-manager-setting-up-messageAPIs.md).

# Etapa 7: (Opcional) Ativar ou desativar permissões administrativas da conta ssm-user.
<a name="session-manager-getting-started-ssm-user-permissions"></a>

A partir da versão 2.3.50.0 do SSM Agent do AWS Systems Manager, o agente cria uma conta de usuário local chamada `ssm-user` e a adiciona ao `/etc/sudoers` (Linux e macOS) ou ao grupo de Administradores (Windows). Em versões do agente anteriores a 2.3.612.0, a conta é criada na primeira vez que o SSM Agent é iniciado ou reiniciado após a instalação. Na versão 2.3.612.0 e posteriores, a conta `ssm-user` é criada na primeira vez que uma sessão é iniciada em um nó. Esse `ssm-user` é o usuário padrão do sistema operacional (SO) quando uma sessão do AWS Systems Manager Session Manager é iniciada. A versão 2.3.612.0 do SSM Agent foi lançada em 8 de maio de 2019.

Para impedir que os usuários do Session Manager executem comandos de administrador em um nó, você pode atualizar as permissões da conta `ssm-user`. Você também pode restaurar essas permissões depois de serem removidas.

**Topics**
+ [Gerenciar as permissões da conta sudo do ssm-user no Linux e no macOS](#ssm-user-permissions-linux)
+ [Gerenciar as permissões da conta de administrador ssm-user no Windows Server](#ssm-user-permissions-windows)

## Gerenciar as permissões da conta sudo do ssm-user no Linux e no macOS
<a name="ssm-user-permissions-linux"></a>

Use um dos procedimentos a seguir para ativar ou desativar as permissões sudo da conta ssm-user em nós gerenciados do Linux e do macOS.

**Usar o Run Command para modificar permissões sudo de ssm-user (console)**
+ Use o procedimento em [Executar comandos no console](running-commands-console.md) com os seguintes valores:
  + Para **Command document (Documento de comando)**, escolha `AWS-RunShellScript`.
  + Para remover o acesso sudo, na área **Command parameters** (Parâmetros de comando), cole o trecho a seguir na caixa **Commands** (Comandos).

    ```
    cd /etc/sudoers.d
    echo "#User rules for ssm-user" > ssm-agent-users
    ```

    - ou -

    Para restaurar o acesso sudo, na área **Command parameters** (Parâmetros de comando), cole o trecho a seguir na caixa **Commands** (Comandos).

    ```
    cd /etc/sudoers.d 
    echo "ssm-user ALL=(ALL) NOPASSWD:ALL" > ssm-agent-users
    ```

**Usar a linha de comando para modificar permissões sudo de ssm-user (AWS CLI)**

1. Conecte-se ao nó gerenciado e execute o seguinte comando:

   ```
   sudo -s
   ```

1. Altere o diretório de trabalho usando o seguinte comando:

   ```
   cd /etc/sudoers.d
   ```

1. Abra o arquivo chamado `ssm-agent-users` para edição.

1. Para remover o acesso sudo, exclua a linha a seguir.

   ```
   ssm-user ALL=(ALL) NOPASSWD:ALL
   ```

   - ou -

   Para restaurar o acesso sudo, adicione a linha a seguir.

   ```
   ssm-user ALL=(ALL) NOPASSWD:ALL
   ```

1. Salve o arquivo.

## Gerenciar as permissões da conta de administrador ssm-user no Windows Server
<a name="ssm-user-permissions-windows"></a>

Use um dos procedimentos a seguir para ativar ou desativar as permissões de Administrador da conta ssm-user em nós gerenciados do Windows Server.

**Usar o Run Command para modificar permissões de Administrador (console)**
+ Use o procedimento em [Executar comandos no console](running-commands-console.md) com os seguintes valores:

  Para **Command document (Documento de comando)**, escolha `AWS-RunPowerShellScript`.

  Para remover o acesso de administrador, na área **Command parameters** (Parâmetros de comando), cole o trecho a seguir na caixa **Commands** (Comandos).

  ```
  net localgroup "Administrators" "ssm-user" /delete
  ```

  - ou -

  Para restaurar o acesso de administrador, na área **Command parameters** (Parâmetros de comando), cole o trecho a seguir na caixa **Commands** (Comandos).

  ```
  net localgroup "Administrators" "ssm-user" /add
  ```

**Use a janela do prompt de comando ou o PowerShell para modificar permissões de administrador**

1. Conecte-se ao nó gerenciado e abra o PowerShell ou a janela do prompt de comando.

1. Para remover o acesso administrativo, execute o comando a seguir.

   ```
   net localgroup "Administrators" "ssm-user" /delete
   ```

   - ou -

   Para restaurar o acesso administrativo, execute o comando a seguir.

   ```
   net localgroup "Administrators" "ssm-user" /add
   ```

**Usar o console do Windows para modificar permissões de Administrador**

1. Conecte-se ao nó gerenciado e abra o PowerShell ou a janela do prompt de comando.

1. Na linha de comando, execute `lusrmgr.msc` para abrir o console **Local Users and Groups (Usuários locais e grupos)**.

1. Abra o diretório **Users (Usuários)** e, em seguida, abra **ssm-user**.

1. Na guia **Member Of (Membro do)**, faça o seguinte:
   + Para remover o acesso administrativo, selecione **Administrators (Administradores)**e, em seguida, escolha **Remove (Remover)**.

     - ou -

     Para restaurar o acesso administrativo, digite **Administrators** na caixa de texto e, em seguida, escolha **Add** (Adicionar).

1. Escolha **OK**.

# Etapa 8: (Opcional) Permitir e controlar permissões de conexões de SSH por meio do Session Manager
<a name="session-manager-getting-started-enable-ssh-connections"></a>

Você pode permitir que os usuários da sua Conta da AWS usem a AWS Command Line Interface (AWS CLI) para estabelecer conexões Secure Shell (SSH) com nós gerenciados que usam o Session Manager do AWS Systems Manager. Os usuários que se conectam usando SSH também podem copiar arquivos entre suas máquinas locais e os nós gerenciados usando o Secure Copy Protocol (SCP). Você pode usar essa funcionalidade para se conectar aos nós gerenciados sem abrir portas de entrada nem manter bastion hosts.

 Quando você estabelece conexões SSH por meio do Session Manager, o AWS CLI e o SSM Agent criam conexões WebSocket seguras via TLS para endpoints do Session Manager. A sessão SSH é executada dentro desse túnel criptografado, fornecendo uma camada adicional de segurança sem exigir a abertura de portas de entrada nos nós gerenciados.

Depois de permitir conexões SSH, você pode usar as políticas do AWS Identity and Access Management (IAM) para permitir ou negar explicitamente que usuários, grupos ou funções façam conexões de SSH usando o Session Manager.

**nota**  
O registro em log não está disponível para sessões do Session Manager que se conectam por meio de encaminhamento de portas ou SSH. Isso ocorre porque o SSH criptografa todos os dados da sessão na conexão TLS segura estabelecida entre os endpoints AWS CLI e Session Manager e o Session Manager serve apenas como um túnel para conexões SSH.

**Topics**
+ [Permitir conexões de SSH para o Session Manager](#ssh-connections-enable)
+ [Controlar permissões do usuário para conexões SSH por meio do Session Manager](#ssh-connections-permissions)

## Permitir conexões de SSH para o Session Manager
<a name="ssh-connections-enable"></a>

Use as etapas a seguir para permitir conexões de SSH por meio do Session Manager em um nó gerenciado. 

**Para permitir conexões de SSH para o Session Manager**

1. Nesse nó gerenciado, para a qual você quer permitir conexões SSH, faça o seguinte:
   + Certifique-se de que o SSH está em execução em um nó gerenciado. (Você pode fechar portas de entrada em um nó.)
   + Certifique-se de que o SSM Agent versão 2.3.672.0 ou posterior esteja instalado em seu nó gerenciado.

     Para obter informações sobre como instalar ou atualizar o SSM Agent em um nó gerenciado, consulte os seguintes tópicos:
     + [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Windows Server](manually-install-ssm-agent-windows.md).
     +  [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Linux](manually-install-ssm-agent-linux.md) 
     +  [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para macOS](manually-install-ssm-agent-macos.md) 
     +  [Como instalar o SSM Agent em nós híbridos do Windows](hybrid-multicloud-ssm-agent-install-windows.md) 
     +  [Como instalar o SSM Agent em nós híbridos do Linux](hybrid-multicloud-ssm-agent-install-linux.md) 
**nota**  
Para usar o Session Manager com servidores on-premises, dispositivos de borda e máquinas virtuais (VMs) que você ativou como nós gerenciados, você deve usar o nível de instâncias avançadas. Para obter mais informações sobre instâncias avançadas, consulte [Configurar níveis de instâncias](fleet-manager-configure-instance-tiers.md).

1. Na máquina local da qual você deseja se conectar a um nó gerenciado usando SSH, faça o seguinte:
   + Certifique-se de que a versão 1.1.23.0 ou posterior do plugin do Session Manager esteja instalada.

     Para obter informações sobre como instalar o plugin do Session Manager, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).
   + Atualize o arquivo de configuração do SSH para permitir a execução de um comando proxy que inicia uma sessão do Session Manager e transferir todos os dados por meio da conexão.

      **Linux e macOS** 
**dica**  
O arquivo de configuração do SSH normalmente está localizado em `~/.ssh/config`.

     Adicione o seguinte ao arquivo de configuração na máquina local:

     ```
     # SSH over Session Manager
     Host i-* mi-*
         ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
         User ec2-user
     ```

      ** Windows ** 
**dica**  
O arquivo de configuração do SSH normalmente está localizado em `C:\Users\<username>\.ssh\config`.

     Adicione o seguinte ao arquivo de configuração na máquina local:

     ```
     # SSH over Session Manager
     Host i-* mi-*
         ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p"
     ```
   + Crie ou verifique se você tem um certificado de Privacy Enhanced Mail (um arquivo PEM) ou, no mínimo, uma chave pública para usar ao estabelecer conexões com os nós gerenciados. Essa deve ser uma chave que já esteja associada ao nó gerenciado. As permissões do seu arquivo de chave privada devem ser definidas para que somente você possa lê-lo. Você pode usar o seguinte comando para definir as permissões do arquivo de chave privada para que somente você possa lê-lo.

     ```
     chmod 400 <my-key-pair>.pem
     ```

     Por exemplo, para uma instância do Amazon Elastic Compute Cloud (Amazon EC2), o arquivo de par de chaves que você criou ou selecionou quando criou a instância. (Você especifica o caminho para o certificado ou a chave como parte do comando para iniciar uma sessão. Para obter informações sobre começar uma seção usando o SSH, consulte [Iniciar uma sessão (SSH)](session-manager-working-with-sessions-start.md#sessions-start-ssh).)

## Controlar permissões do usuário para conexões SSH por meio do Session Manager
<a name="ssh-connections-permissions"></a>

Depois de habilitar conexões SSH por meio do Session Manager em um nó gerenciado, você poderá usar políticas do IAM para permitir ou recusar que usuários, grupos ou funções estabeleçam conexões SSH por meio do Session Manager. 

**Para usar uma política do IAM para permitir conexões SSH por meio do Session Manager**
+ Use uma das seguintes opções:
  + **Opção 1**: abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

    No painel de navegação, escolha **Policies (Políticas)** e atualize a política de permissões para o usuário ou função ao qual você deseja permitir iniciar conexões SSH por meio do Session Manager. 

    Por exemplo, adicione o elemento a seguir à política do Quickstart que você criou em . [Políticas do usuário final do Quickstart para o Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user). Substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações. 

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ssm:StartSession",
                "Resource": [
                    "arn:aws:ec2:us-east-1:111122223333:instance/instance-id",
                    "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
                ]
            },
            {
                "Effect": "Allow",
                "Action": "ssmmessages:OpenDataChannel",
                "Resource": "arn:aws:ssm:*:*:session/${aws:userid}-*"
            }
        ]
    }
    ```

------
  + **Opção 2**: anexe uma política em linha a uma política de usuário usando o Console de gerenciamento da AWS, a AWS CLI ou a API da AWS.

    Usando o método de sua escolha, anexe a declaração de política na **Opção 1** à política de um usuário, grupo ou função da AWS.

    Para obter informações, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Manual do usuário do IAM*.

**Para usar uma política do IAM para negar conexões SSH por meio do Session Manager**
+ Use uma das seguintes opções:
  + **Opção 1**: abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). No painel de navegação, escolha **Policies (Políticas)** e, então, atualize a política de permissões para que o usuário ou a função não possa iniciar sessões do Session Manager. 

    Por exemplo, adicione o elemento a seguir à política do Quickstart que você criou em [Políticas do usuário final do Quickstart para o Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Deny",
                "Action": "ssm:StartSession",
                "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
            },
            {
                "Effect": "Allow",
                "Action": "ssmmessages:OpenDataChannel",
                "Resource": "arn:aws:ssm:*:*:session/${aws:userid}-*"
            }
        ]
    }
    ```

------
  + **Opção 2**: anexe uma política em linha a uma política de usuário usando o Console de gerenciamento da AWS, a AWS CLI ou a API da AWS.

    Usando o método de sua escolha, anexe a declaração de política na **Opção 1** à política de um usuário, grupo ou função da AWS.

    Para obter informações, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Manual do usuário do IAM*.

# Trabalhar com o Session Manager
<a name="session-manager-working-with"></a>

Você pode usar o console do AWS Systems Manager, o console do Amazon Elastic Compute Cloud (Amazon EC2) ou a AWS Command Line Interface (AWS CLI) para iniciar sessões que conectem você aos nós gerenciados do Amazon EC2 aos quais o administrador do sistema concedeu acesso a você usando políticas do AWS Identity and Access Management (IAM). Dependendo das suas permissões, você também poderá visualizar as informações sobre as sessões, retomar sessões inativas que não tenham expirado e encerrar sessões. Depois que uma sessão é estabelecida, ela não é afetada pela duração da sessão de perfil do IAM. Para obter informações sobre como limitar a duração da sessão com Session Manager, consulte [Especificar um valor de tempo limite de sessão ociosa](session-preferences-timeout.md) e [Especifique a duração máxima da sessão](session-preferences-max-timeout.md).

Para obter mais informações sobre sessões, consulte [O que é uma sessão?](session-manager.md#what-is-a-session)

**Topics**
+ [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md)
+ [Iniciar uma sessão](session-manager-working-with-sessions-start.md)
+ [Encerrar uma sessão](session-manager-working-with-sessions-end.md)
+ [Visualizar o histórico da sessão](session-manager-working-with-view-history.md)

# Instalar o plug-in do Session Manager para a AWS CLI
<a name="session-manager-working-with-install-plugin"></a>

Para iniciar sessões do Session Manager com seus nós gerenciados usando a AWS Command Line Interface (AWS CLI), é necessário instalar o *plug-in do Session Manager* em sua máquina local. O plug-in pode ser instalado em versões com suporte do Microsoft Windows Server, macOS, Linux e Ubuntu Server.

**nota**  
Para usar o plug-in do Session Manager, é necessário ter a AWS CLI versão 1.16.12 ou posterior instalada na máquina local. Para obter mais informações, consulte [Instalar ou atualizar a versão mais recente da AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

**Topics**
+ [Versão mais recente e histórico de lançamentos do plugin do Session Manager](plugin-version-history.md)
+ [Instalar o plugin do Session Manager no Windows](install-plugin-windows.md)
+ [Instalar o plugin do Session Manager no macOS](install-plugin-macos-overview.md)
+ [Instalar o plug-in Session Manager no Linux](install-plugin-linux-overview.md)
+ [Verifique a instalação do plugin do Session Manager](install-plugin-verify.md)
+ [Plugin do Session Manager no GitHub](plugin-github.md)
+ [(Opcional) Ative o plugin de registro em log do Session Manager](install-plugin-configure-logs.md)

# Versão mais recente e histórico de lançamentos do plugin do Session Manager
<a name="plugin-version-history"></a>

Suas máquinas locais devem estar executando uma versão com suporte para o plugin Session Manager. A versão mínima compatível atual é 1.1.17.0. Se você estiver executando uma versão anterior, as operações do Session Manager podem não ser bem-sucedidas. 

 

Para ver se você tem a versão mais recente, execute o seguinte comando no AWS CLI.

**nota**  
O comando retornará resultados somente se o plugin estiver localizado no diretório de instalação padrão do tipo de sistema operacional. Você também pode verificar a versão no conteúdo do arquivo do `VERSION` no diretório onde você instalou o plugin.

```
session-manager-plugin --version
```

A tabela a seguir lista todas as versões do plugin do Session Manager, bem como os recursos e aprimoramentos incluídos em cada versão.

**Importante**  
Recomendamos que você sempre execute a versão mais recente. A versão mais recente inclui aprimoramentos que melhoram a experiência de uso do plug-in.


| Versão | Data de lançamento | Detalhes | 
| --- | --- | --- | 
| 1.2.792.0 |  17 de março de 2026  | **Correção de bug**: adicionado suporte internacional de teclado para Windows. | 
| 1.2.779.0 |  12 de fevereiro de 2026  | **Aprimoramento**: atualize o Go para a versão 1.25 no Dockerfile. **Correção de bug**: adicione linhas de shebang aos scripts de empacotamento do debian. | 
| 1.2.764.0 |  19 de novembro de 2025  | **Aprimoramento**: foi adicionado suporte para assinar a solicitação do OpenDataChannel. **Correção de erros**: corrija problemas de estilo de verificação para oferecer suporte à versão mais recente do Go. | 
| 1.2.707.0 |  6 de fevereiro de 2025  | **Aprimoramento**: atualização da versão do Go para 1.23 no Dockerfile. Atualização da etapa de configuração da versão no arquivo README. | 
| 1.2.694.0 |  20 de novembro de 2024  | **Correção de bug**: uma alteração que adicionava credenciais às solicitações do OpenDataChannel foi revertida. | 
| 1.2.688.0 |  6 de novembro de 2024  | **Esta versão de runtime foi descontinuada em 11/20/2024.** **Melhorias**:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/plugin-version-history.html) | 
| 1.2.677.0 |  10 de outubro de 2024  | **Aperfeiçoamento**: adição de suporte para passar a versão do plug-in com solicitações de OpenDataChannel. | 
| 1.2.650.0 |  2 de julho de 2024  | **Aprimoramento**: o aws-sdk-go foi atualizado para 1.54.10.**Correção de bug**: comentários reformatados para gofmt check. | 
| 1.2.633.0 |  30 de maio de 2024  | Aprimoramento: o Dockerfile foi atualizado para usar uma imagem do Amazon Elastic Container Registry (Amazon ECR). | 
| 1.2.553.0 |  10 de janeiro de 2024  | Aprimoramento: atualização do aws-sdk-go e dos pacotes Golang dependentes. | 
| 1.2.536.0 |  4 de dezembro de 2023  | Aprimoramento: adicionado suporte para transmitir uma resposta da API [StartSession](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_StartSession.html) como variável de ambiente a session-manager-plugin. | 
| 1.2.497.0 |  1º de agosto de 2023  | Aprimoramento: o Go SDK foi atualizado para v1.44.302. | 
| 1.2.463.0 |  15 de março de 2023  | Aprimoramento: adição de suporte a Mac with Apple silicon para Apple Mac (M1) no instalador do pacote macOS e no instalador assinado.  | 
| 1.2.398.0 |  14 de outubro de 2022  | Aprimoramento: compatibilidade com a versão 1.17 do golang. Atualizar o programa de execução do session-manager-plugin padrão para macOS para usar o python3. Atualizar o caminho de importação de SSMCLI para session-manager-plugin. | 
| 1.2.339,0 |  16 de junho de 2022  | Correção de bug: corrigir o tempo limite da sessão ociosa para sessões de porta. | 
| 1.2.331.0 |  27 de maio de 2022  | Correção de bug: corrigir sessões de porta fechando prematuramente quando o servidor local não se conecta antes do tempo limite se esgotar. | 
| 1.2.323.0 |  19 de maio de 2022  | Correção de bug: desativar o smux keep live para usar o recurso de tempo limite de sessão ociosa. | 
| 1.2.312.0 |  31 de março de 2022  | Aprimoramento: Suporta mais tipos de carga útil de mensagem de saída. | 
| 1.2.295.0 |  12 de janeiro de 2022  | Correção de bugs: sessões suspensas causadas pelo reenvio de dados de fluxo do cliente quando o agente se torna inativo e registros incorretos de mensagens start\$1publication e pause\$1publication. | 
| 1.2.279.0 |  27 de outubro de 2021  | Aprimoramento: compactação em zip para a plataforma Windows. | 
| 1.2.245.0 |  19 de agosto de 2021  | Melhoria: atualize o aws-sdk-go para a versão mais recente (v1.40.17) para suporte a Centro de Identidade do AWS IAM. | 
| 1.2.234.0 |  26 de julho de 2021  | Correção de bugs: administre o encerramento abrupto da sessão no tipo de sessão interativa. | 
| 1.2.205.0 |  10 de junho de 2021  | Melhoria: adição de suporte para o instalador do macOS | 
| 1.2.54.0 |  29 de janeiro de 2021  | Melhoria: inclusão do suporte a sessões em execução no modo de execução NonInteractiveCommands. | 
| 1.2.30.0 |  24 de novembro de 2020  |  **Melhoria**: (somente sessões de encaminhamento de porta) melhoria geral da performance.  | 
| 1.2.7.0 |  15 de outubro de 2020  |  **Melhoria**: (somente sessões de encaminhamento de porta) latência reduzida e melhoria geral da performance.  | 
| 1.1.61.0 |  17 de abril de 2020  |  **Melhoria**: adicionado suporte do ARM para Linux e Ubuntu Server.   | 
| 1.1.54.0 |  6 de janeiro de 2020  |  **Correção de erros**: administre a condição de disputa dos pacotes que estão sendo descartados quando o plugin Session Manager ainda não estiver pronto.   | 
|  1.1.50.0  | 19 de novembro de 2019 |  **Melhoria**: adição de suporte para encaminhar uma porta para um soquete unix local.  | 
|  1.1.35.0  | 7 de novembro de 2019 |  **Melhoria**: (sessões de encaminhamento de porta somente) envie um comando TerminateSession para o SSM Agent quando o usuário local pressionar `Ctrl+C`.  | 
| 1.1.33.0 | 26 de setembro de 2019 | Melhoria: (somente sessões de encaminhamento de porta) envio de um sinal de desconexão para o servidor quando o cliente interromper a conexão TCP.  | 
| 1.1.31.0 | 6 de setembro de 2019 | Melhoria: atualização para manter a sessão de encaminhamento de porta aberta até que o servidor remoto encerre a conexão. | 
|  1.1.26.0  | 30 de julho de 2019 |  **Melhoria**: atualização para limitar a throughput de dados durante uma sessão.  | 
|  1.1.23.0  | 9 de julho de 2019 |  **Melhoria**: adição de suporte à execução de sessões SSH usando o Session Manager.  | 
| 1.1.17.0 | 4 de abril de 2019 |  **Melhoria**: adição de suporte para a criptografia adicional de dados da sessão usando o AWS Key Management Service (AWS KMS).  | 
| 1.0.37.0 | 20 de setembro de 2018 |  **Melhoria**: correção de erros na versão do Windows.  | 
| 1.0.0.0 | 11 de setembro de 2018 |  Versão inicial do plugin do Session Manager.  | 

# Instalar o plugin do Session Manager no Windows
<a name="install-plugin-windows"></a>

Você pode instalar o plug-in do Session Manager no Windows Vista ou em uma versão posterior usando o instalador independente.

Quando as atualizações são lançadas, repita o processo de instalação para instalar a versão mais recente do plugin do Session Manager.

**nota**  
Observe as seguintes informações:  
O instalador do plug-in do Session Manager necessita de direitos de administrador para instalar o plug-in.
Para obter melhores resultados, recomendamos iniciar sessões em clientes Windows usando a aplicação o Windows PowerShell versão 5 ou posterior. É possível também usar o shell do Command no Windows 10. O plug-in do Session Manager é compatível apenas com o PowerShell e o shell do Command. Ferramentas da linha de comando de terceiros podem não ser compatíveis com o plugin.

**Para instalar o plugin do Session Manager usando o instalador EXE**

1. Baixe o instalador usando a seguinte URL:

   ```
   https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe
   ```

   Como alternativa, você pode baixar uma versão compactada do instalador usando o seguinte URL:

   ```
   https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPlugin.zip
   ```

1. Execute o instalador baixado e siga as instruções na tela. Se você baixou a versão compactada do instalador, você deve descompactar o instalador primeiro.

   Deixe a caixa do local de instalação em branco para instalar o plugin no diretório padrão.
   +  `%PROGRAMFILES%\Amazon\SessionManagerPlugin\bin\` 

1. Verifique se a instalação foi bem-sucedida. Para mais informações, consulte [Verifique a instalação do plugin do Session Manager](install-plugin-verify.md).
**nota**  
Se o Windows não consegue encontrar o executável, pode ser necessário abrir o prompt de comando ou adicionar o diretório de instalação a sua variável de ambiente `PATH` manualmente. Para obter informações, consulte o tópico sobre solução de problemas [O plug-in Session Manager não é adicionado automaticamente ao caminho de linha de comando (Windows)](session-manager-troubleshooting.md#windows-plugin-env-var-not-set).

# Instalar o plugin do Session Manager no macOS
<a name="install-plugin-macos-overview"></a>

Escolha um dos tópicos a seguir para instalar o plug-in do Session Manager no macOS. 

**nota**  
O instalador assinado é um arquivo `.pkg` assinado. O pacote de instalador usa um arquivo `.zip`. Depois que o arquivo for descompactado, você poderá instalar o plug-in usando o binário.

## Instale o plugin Session Manager no macOS usando o instalador assinado.
<a name="install-plugin-macos-signed"></a>

Esta seção descreve como instalar o plug-in do Session Manager no macOS usando o instalador assinado.

**Para instalar o plugin do Session Manager usando o instalador assinado (macOS)**

1. Baixe o instalador assinado.

------
#### [ x86\$164 ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"
   ```

------
#### [ Mac com chip Apple ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac_arm64/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"
   ```

------

1. Execute os comandos de instalação. Se o comando falhar, verifique se a pasta `/usr/local/bin` existe. Se ela não existir, crie-a e execute o comando novamente.

   ```
   sudo installer -pkg session-manager-plugin.pkg -target /
   sudo ln -s /usr/local/sessionmanagerplugin/bin/session-manager-plugin /usr/local/bin/session-manager-plugin
   ```

1. Verifique se a instalação foi bem-sucedida. Para mais informações, consulte [Verifique a instalação do plugin do Session Manager](install-plugin-verify.md).

## Instalar o plugin do Session Manager no macOS
<a name="install-plugin-macos"></a>

Esta seção descreve como instalar o plug-in do Session Manager no macOS usando o instalador associado.

**Importante**  
Observe as seguintes informações importantes:  
Por padrão, o instalador requer acesso sudo para executar porque o script instala o plug-in no diretório de sistema `/usr/local/sessionmanagerplugin`. Se não desejar instalar o plug-in usando sudo, atualize manualmente o script do instalador para instalar o plug-in em um diretório que não exija acesso sudo.
O pacote de instalador fornecido não é compatível com a instalação em caminhos com espaços.

**Para instalar o plugin Session Manager usando o pacote de instalador (macOS)**

1. Baixe o instalador em pacote.

------
#### [ x86\$164 ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
   ```

------
#### [ Mac com chip Apple ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac_arm64/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
   ```

------

1. Descompacte o pacote.

   ```
   unzip sessionmanager-bundle.zip
   ```

1. Execute o comando de instalação.

   ```
   sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
   ```
**nota**  
 O plug-in requer o Python 3.10 ou posterior. Por padrão, o script de instalação é executado sob a versão padrão do sistema do Python. Se uma versão diferente do Python estiver instalada, mas deseja usá-la para instalar o plugin do Session Manager, execute o script de instalação com essa versão por caminho absoluto para o Python executável. Veja um exemplo a seguir.  

   ```
   sudo /usr/local/bin/python3.11 sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
   ```

   O instalador instala o plugin do Session Manager em `/usr/local/sessionmanagerplugin` e cria o symlink `session-manager-plugin` no diretório `/usr/local/bin`. Isso elimina a necessidade de especificar o diretório de instalação na variável `$PATH` do usuário.

   Para ver uma explicação das opções `-i` e `-b`, use a opção `-h`.

   ```
   ./sessionmanager-bundle/install -h
   ```

1. Verifique se a instalação foi bem-sucedida. Para mais informações, consulte [Verifique a instalação do plugin do Session Manager](install-plugin-verify.md).

**nota**  
Para desinstalar o plug-in, execute os comandos a seguir, um de cada vez.  

```
sudo rm -rf /usr/local/sessionmanagerplugin
```

```
sudo rm /usr/local/bin/session-manager-plugin
```

# Instalar o plug-in Session Manager no Linux
<a name="install-plugin-linux-overview"></a>

Esta seção inclui informações sobre como verificar a assinatura do pacote do instalador do plug-in do Session Manager e instalá-lo nas seguintes distribuições Linux:
+ Amazon Linux 2
+ AL2023
+ RHEL
+ Debian Server
+ Ubuntu Server

**Topics**
+ [Verificar a assinatura do plug-in Session Manager](install-plugin-linux-verify-signature.md)
+ [Instalar o plug-in do Session Manager no Amazon Linux 2, no Amazon Linux 2023 e nas distribuições do Red Hat Enterprise Linux](install-plugin-linux.md)
+ [Instalar o plugin do Session Manager no Debian Server e no Ubuntu Server](install-plugin-debian-and-ubuntu.md)

# Verificar a assinatura do plug-in Session Manager
<a name="install-plugin-linux-verify-signature"></a>

Os pacotes do instalador RPM e Debian do plug-in do Session Manager para instâncias Linux são assinados criptograficamente. É possível usar uma chave pública para verificar se o binário e o pacote do plug-in são originais e não modificados. Se o arquivo for alterado ou danificado, a verificação falhará. A assinatura do pacote do instalador pode ser verificada com a ferramenta GNU Privacy Guard (GPG). As informações a seguir aplicam-se ao plug-in do Session Manager versões 1.2.707.0 ou posteriores.

Conclua as etapas a seguir para verificar a assinatura do pacote do instalador do plug-in do Session Manager.

**Topics**
+ [Etapa 1: baixar o pacote do instalador do plug-in do Session Manager](#install-plugin-linux-verify-signature-installer-packages)
+ [Etapa 2: baixar o arquivo de assinatura associado](#install-plugin-linux-verify-signature-packages)
+ [Etapa 3: instalar a ferramenta GPG](#install-plugin-linux-verify-signature-packages-gpg)
+ [Etapa 4: verificar o pacote do instalador do plug-in do Session Manager em um servidor Linux](#install-plugin-linux-verify-signature-packages)

## Etapa 1: baixar o pacote do instalador do plug-in do Session Manager
<a name="install-plugin-linux-verify-signature-installer-packages"></a>

Baixe o pacote do instalador do plug-in do Session Manager que deseja verificar.

**Pacotes do RPM para Amazon Linux 2, AL2023 e RHEL**

------
#### [ x86\$164 ]

```
curl -o "session-manager-plugin.rpm" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm"
```

------
#### [ ARM64 ]

```
curl -o "session-manager-plugin.rpm" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm"
```

------

**Pacotes Deb Debian Server e Ubuntu Server**

------
#### [ x86\$164 ]

```
curl -o "session-manager-plugin.deb" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb"
```

------
#### [ ARM64 ]

```
curl -o "session-manager-plugin.deb" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb"
```

------

## Etapa 2: baixar o arquivo de assinatura associado
<a name="install-plugin-linux-verify-signature-packages"></a>

Após baixar o pacote do instalador, baixe o arquivo de assinatura associado para verificação do pacote. Para fornecer uma camada extra de proteção contra cópia ou uso não autorizados do arquivo binário session-manager-plugin dentro do pacote, também oferecemos assinaturas binárias que podem ser usadas para validar arquivos binários individuais. Você pode optar por usar essas assinaturas binárias com base em suas necessidades de segurança.

**Pacotes de assinatura para Amazon Linux 2, AL2023 e RHEL**

------
#### [ x86\$164 ]

Pacote:

```
curl -o "session-manager-plugin.rpm.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm.sig"
```

Binário:

```
curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.sig"
```

------
#### [ ARM64 ]

Pacote:

```
curl -o "session-manager-plugin.rpm.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm.sig"
```

Binário:

```
curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.sig"
```

------

**Pacotes de assinatura Deb Debian Server e Ubuntu Server**

------
#### [ x86\$164 ]

Pacote:

```
curl -o "session-manager-plugin.deb.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb.sig"
```

Binário:

```
curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.sig"
```

------
#### [ ARM64 ]

Pacote:

```
curl -o "session-manager-plugin.deb.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb.sig"
```

Binário:

```
curl -o "session-manager-plugin.sig" "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.sig"
```

------

## Etapa 3: instalar a ferramenta GPG
<a name="install-plugin-linux-verify-signature-packages-gpg"></a>

Para verificar a assinatura do plug-in Session Manager, você deve ter a ferramenta GNU Privacy Guard (GPG) instalada no seu sistema. Esse processo de verificação requer o uso do GPG versão 2.1 ou posterior. Para verificar a versão do GPG, execute o seguinte comando:

```
gpg --version
```

Se sua versão do GPG for anterior à 2.1, atualize-a antes de prosseguir com o processo de verificação. Na maioria dos sistemas, é possível atualizar a ferramenta GPG usando seu gerenciador de pacotes. Por exemplo, em versões compatíveis do Amazon Linux e RHEL, é possível usar os seguintes comandos:

```
sudo yum update
sudo yum install gnupg2
```

Em sistemas Ubuntu Server e Debian Server compatíveis, você pode usar os seguintes comandos:

```
sudo apt-get update
sudo apt-get install gnupg2
```

Certifique-se de ter a versão do GPG necessária antes de continuar com o processo de verificação.

## Etapa 4: verificar o pacote do instalador do plug-in do Session Manager em um servidor Linux
<a name="install-plugin-linux-verify-signature-packages"></a>

Use o procedimento a seguir para verificar o pacote do instalador do plug-in do Session Manager em um servidor Linux.

**nota**  
O Amazon Linux 2 não é compatível com a ferramenta GPG versão 2.1 ou superior. Se o procedimento a seguir não funcionar em suas instâncias do Amazon Linux 2, verifique a assinatura em uma plataforma diferente antes de instalá-la em suas instâncias do Amazon Linux 2.

1. Copie a chave pública a seguir e salve-a em um arquivo chamado session-manager-plugin.gpg.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   
   mFIEZ5ERQxMIKoZIzj0DAQcCAwQjuZy+IjFoYg57sLTGhF3aZLBaGpzB+gY6j7Ix
   P7NqbpXyjVj8a+dy79gSd64OEaMxUb7vw/jug+CfRXwVGRMNtIBBV1MgU1NNIFNl
   c3Npb24gTWFuYWdlciA8c2Vzc2lvbi1tYW5hZ2VyLXBsdWdpbi1zaWduZXJAYW1h
   em9uLmNvbT4gKEFXUyBTeXN0ZW1zIE1hbmFnZXIgU2Vzc2lvbiBNYW5hZ2VyIFBs
   dWdpbiBMaW51eCBTaWduZXIgS2V5KYkBAAQQEwgAqAUCZ5ERQ4EcQVdTIFNTTSBT
   ZXNzaW9uIE1hbmFnZXIgPHNlc3Npb24tbWFuYWdlci1wbHVnaW4tc2lnbmVyQGFt
   YXpvbi5jb20+IChBV1MgU3lzdGVtcyBNYW5hZ2VyIFNlc3Npb24gTWFuYWdlciBQ
   bHVnaW4gTGludXggU2lnbmVyIEtleSkWIQR5WWNxJM4JOtUB1HosTUr/b2dX7gIe
   AwIbAwIVCAAKCRAsTUr/b2dX7rO1AQCa1kig3lQ78W/QHGU76uHx3XAyv0tfpE9U
   oQBCIwFLSgEA3PDHt3lZ+s6m9JLGJsy+Cp5ZFzpiF6RgluR/2gA861M=
   =2DQm
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importe a chave pública em seu token de autenticação. O valor da chave retornada deve ser `2C4D4AFF6F6757EE`.

   ```
   $ gpg --import session-manager-plugin.gpg
   gpg: key 2C4D4AFF6F6757EE: public key "AWS SSM Session Manager <session-manager-plugin-signer@amazon.com> (AWS Systems Manager Session Manager Plugin Linux Signer Key)" imported
   gpg: Total number processed: 1
   gpg:               imported: 1
   ```

1. Execute o comando a seguir para verificar a impressão digital.

   ```
   gpg --fingerprint 2C4D4AFF6F6757EE
   ```

   A impressão digital da saída do comando deve corresponder à mostrada a seguir.

   ```
   7959 6371 24CE 093A D501 D47A 2C4D 4AFF 6F67 57EE
   ```

   ```
   pub   nistp256 2025-01-22 [SC]
         7959 6371 24CE 093A D501  D47A 2C4D 4AFF 6F67 57EE
   uid           [ unknown] AWS SSM Session Manager <session-manager-plugin-signer@amazon.com> (AWS Systems Manager Session Manager Plugin Linux Signer Key)
   ```

   Se a impressão digital não coincidir, não instale o plug-in. Entrar em contato com o AWS Support.

1. Verifique a assinatura do pacote do instalador. Substitua *signature-filename* e *downloaded-plugin-filename* pelos valores especificados ao baixar o arquivo de assinatura e session-manager-plugin, conforme listados na tabela anteriormente neste tópico.

   ```
   gpg --verify signature-filename downloaded-plugin-filename
   ```

   Por exemplo, para a arquitetura x86\$164 no Amazon Linux 2, o comando é o seguinte:

   ```
   gpg --verify session-manager-plugin.rpm.sig session-manager-plugin.rpm
   ```

   Esse comando retorna uma saída semelhante à seguinte:

   ```
   gpg: Signature made Mon Feb 3 20:08:32 2025 UTC gpg: using ECDSA key 2C4D4AFF6F6757EE
   gpg: Good signature from "AWS Systems Manager Session Manager <session-manager-plugin-signer@amazon.com> (AWS Systems Manager Session Manager Plugin Linux Signer Key)" [unknown] 
   gpg: WARNING: This key is not certified with a trusted signature! 
   gpg: There is no indication that the signature belongs to the owner. 
   Primary key fingerprint: 7959 6371 24CE 093A D501 D47A 2C4D 4AFF 6F67 57EE
   ```

Se a saída inclui a frase `BAD signature`, verifique se você executou o procedimento corretamente. Se você continuar recebendo essa resposta, entre em contato com o AWS Support e não instale o pacote. A mensagem de aviso sobre a relação de confiança não significa que a assinatura não é válida, apenas que você não verificou a chave pública. Uma chave somente será confiável se você ou alguém em quem você confia a tiver assinado. Se a saída incluir a frase `Can't check signature: No public key`, verifique se você baixou o plug-in do Session Manager versão 1.2.707.0 ou posterior.

# Instalar o plug-in do Session Manager no Amazon Linux 2, no Amazon Linux 2023 e nas distribuições do Red Hat Enterprise Linux
<a name="install-plugin-linux"></a>

Use o procedimento a seguir para instalar o plug-in do Session Manager no Amazon Linux 2, no Amazon Linux 2023 (AL2023) e nas distribuições do RHEL.

1. Baixe e instale o pacote RPM do plug-in do Session Manager.

------
#### [ x86\$164 ]

   No Amazon Linux 2 e no RHEL 7, execute o seguinte comando:

   ```
   sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm
   ```

   No AL2023 e no RHEL 8 e 9, execute o seguinte comando:

   ```
   sudo dnf install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm
   ```

------
#### [ ARM64 ]

   No Amazon Linux 2 e no RHEL 7, execute o seguinte comando:

   ```
   sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm
   ```

   No AL2023 e no RHEL 8 e 9, execute o seguinte comando:

   ```
   sudo dnf install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm
   ```

------

1. Verifique se a instalação foi bem-sucedida. Para mais informações, consulte [Verifique a instalação do plugin do Session Manager](install-plugin-verify.md).

**nota**  
Se desejar desinstalar o plug-in, execute `sudo yum erase session-manager-plugin -y`

# Instalar o plugin do Session Manager no Debian Server e no Ubuntu Server
<a name="install-plugin-debian-and-ubuntu"></a>

1. Baixe o pacote deb do plugin do Session Manager:

------
#### [ x86\$164 ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
   ```

------
#### [ ARM64 ]

   ```
   curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb" -o "session-manager-plugin.deb"
   ```

------

1. Execute o comando de instalação.

   ```
   sudo dpkg -i session-manager-plugin.deb
   ```

1. Verifique se a instalação foi bem-sucedida. Para mais informações, consulte [Verifique a instalação do plugin do Session Manager](install-plugin-verify.md).

**nota**  
Se você não deseja desinstalar o plugin, execute `sudo dpkg -r session-manager-plugin`

# Verifique a instalação do plugin do Session Manager
<a name="install-plugin-verify"></a>

Execute os comandos a seguir para verificar se a instalação do plugin do Session Manager foi bem-sucedida.

```
session-manager-plugin
```

Se a instalação foi bem-sucedida, a mensagem a seguir é retornada.

```
The Session Manager plugin is installed successfully. Use the AWS CLI to start a session.
```

Você também pode testar a instalação executando o comando [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) no [AWS Command Line Interface](https://aws.amazon.com/cli/) (AWS CLI). No comando a seguir, substitua *instance-id* por suas próprias informações.

```
aws ssm start-session --target instance-id
```

Este comando funcionará somente se você tiver instalado e configurado o AWS CLI e o administrador do Session Manager tiver concedido as permissões do IAM necessárias para acessar o nó gerenciado de destino usando o Session Manager.

# Plugin do Session Manager no GitHub
<a name="plugin-github"></a>

O código-fonte do plugin do Session Manager está disponível no [https://github.com/aws/session-manager-plugin](https://github.com/aws/session-manager-plugin) e você poderá adaptá-lo de acordo com suas necessidades. Incentivamos você a enviar [solicitações pull](https://github.com/aws/session-manager-plugin/blob/mainline/CONTRIBUTING.md) sobre alterações que gostaria que fosse incluídas. Porém, a Amazon Web Services não oferece suporte à execução de cópias modificadas desse software.

# (Opcional) Ative o plugin de registro em log do Session Manager
<a name="install-plugin-configure-logs"></a>

O plugin do Session Manager inclui uma opção para permitir o registro em log para sessões que você executar. Por padrão, o registro em log está desativado.

Se você permitir o registro em log, o plugin Session Manager criará arquivos de log para ambas as atividades (`session-manager-plugin.log`) e erros (`errors.log`) da aplicação em sua máquina local.

**Topics**
+ [Ative o registro em log do plug-in do Session Manager (Windows)](#configure-logs-windows)
+ [Habilite o registro em log para o plug-in do Session Manager (Linux e macOS)](#configure-logs-linux)

## Ative o registro em log do plug-in do Session Manager (Windows)
<a name="configure-logs-windows"></a>

1. Localize o arquivo `seelog.xml.template` para o plugin. 

   O local padrão é `C:\Program Files\Amazon\SessionManagerPlugin\seelog.xml.template`.

1. Altere o nome do arquivo para `seelog.xml`.

1. Abra o arquivo e altere `minlevel="off"` para `minlevel="info"` ou `minlevel="debug"`.
**nota**  
Por padrão, as entradas de log sobre como abrir um canal de dados e reconectar sessões são registrados no nível **INFO**. As entradas de fluxo de dados (pacotes e confirmação) são registradas no nível **DEBUG**.

1. Altere outras opções de configuração as quais deseja modificar. As opções que você pode alterar incluem: 
   + **Depurar nível**: você pode alterar o nível de depuração de `formatid="fmtinfo"` para `formatid="fmtdebug"`.
   + **Opções de arquivo de log**: você pode fazer alterações nas opções de arquivo de log, incluindo onde os logs são armazenados, com exceção dos nomes dos arquivos. 
**Importante**  
Não altere os nomes de arquivos ou o registro não funcionará corretamente.

     ```
     <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\session-manager-plugin.log" maxsize="30000000" maxrolls="5"/>
     <filter levels="error,critical" formatid="fmterror">
     <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\errors.log" maxsize="10000000" maxrolls="5"/>
     ```

1. Salve o arquivo.

## Habilite o registro em log para o plug-in do Session Manager (Linux e macOS)
<a name="configure-logs-linux"></a>

1. Localize o arquivo `seelog.xml.template` para o plugin. 

   O local padrão é `/usr/local/sessionmanagerplugin/seelog.xml.template`.

1. Altere o nome do arquivo para `seelog.xml`.

1. Abra o arquivo e altere `minlevel="off"` para `minlevel="info"` ou `minlevel="debug"`.
**nota**  
Por padrão, as entradas de log sobre como abrir canais de dados e reconectar sessões são registrados no nível **INFO**. As entradas de fluxo de dados (pacotes e confirmação) são registradas no nível **DEBUG**.

1. Altere outras opções de configuração as quais deseja modificar. As opções que você pode alterar incluem: 
   + **Depurar nível**: você pode alterar o nível de depuração de `formatid="fmtinfo"` para `outputs formatid="fmtdebug"`
   + **Opções de arquivo de log**: você pode fazer alterações nas opções de arquivo de log, incluindo onde os logs são armazenados, com exceção dos nomes dos arquivos. 
**Importante**  
Não altere os nomes de arquivos ou o registro não funcionará corretamente.

     ```
     <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/session-manager-plugin.log" maxsize="30000000" maxrolls="5"/>
     <filter levels="error,critical" formatid="fmterror">
     <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/errors.log" maxsize="10000000" maxrolls="5"/>
     ```
**Importante**  
Se você usar o diretório padrão para armazenar logs, você deve executar comandos de sessão usando **sudo** ou atribuir o diretório onde o plugin está instalado permissões totais de leitura e gravação. Para ignorar essas restrições, altere o local onde os logs são armazenados.

1. Salve o arquivo.

# Iniciar uma sessão
<a name="session-manager-working-with-sessions-start"></a>

Você pode usar o console do AWS Systems Manager, o console do Amazon Elastic Compute Cloud (Amazon EC2), a AWS Command Line Interface (AWS CLI) ou o SSH para iniciar uma sessão.

**Topics**
+ [Iniciar uma sessão (console do Systems Manager)](#start-sys-console)
+ [Iniciar uma sessão (console do Amazon EC2)](#start-ec2-console)
+ [Iniciar uma sessão (AWS CLI)](#sessions-start-cli)
+ [Iniciar uma sessão (SSH)](#sessions-start-ssh)
+ [Iniciar uma sessão (encaminhamento de portas)](#sessions-start-port-forwarding)
+ [Iniciar uma sessão (encaminhamento de portas para host remoto)](#sessions-remote-port-forwarding)
+ [Iniciar uma sessão (comandos interativos e não interativos)](#sessions-start-interactive-commands)

## Iniciar uma sessão (console do Systems Manager)
<a name="start-sys-console"></a>

Você pode usar o console do AWS Systems Manager para iniciar uma sessão com um nó gerenciado na sua conta.

**nota**  
Antes de iniciar uma sessão, conclua as etapas de configuração para o Session Manager. Para mais informações, consulte [Configurar o Session Manager](session-manager-getting-started.md).

**Para iniciar uma sessão (console do 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 **Session Manager**.

1. Selecione **Start session (Iniciar sessão)**.

1. (Opcional) Insira uma descrição para a sessão no campo **Motivo da sessão**.

1. Na lista **Instâncias de destino**, escolha o botão de opção à esquerda do nó gerenciado ao qual você deseja se conectar.

   Se o nó desejado não estiver na lista ou se você selecionar um nó e receber um erro de configuração, consulte [Nó gerenciado não disponível ou não está configurado para o Session Manager](session-manager-troubleshooting.md#session-manager-troubleshooting-instances) para ver etapas de solução de problemas.

1. Escolha **Iniciar sessão** para iniciar a sessão imediatamente.

   - ou -

   Escolha **Próximo** para ver as opções da sessão.

1. (Opcional) Em **Documento da sessão**, selecione o documento que deseja executar quando a sessão começar. Se seu documento oferecer suporte a parâmetros de runtime, você poderá inserir um ou mais valores separados por vírgula em cada campo de parâmetro.

1. Escolha **Próximo**.

1. Selecione **Start session (Iniciar sessão)**.

Depois que a conexão for feita, você poderá executar os comandos bash (Linux e macOS) ou PowerShell (Windows) como faria com qualquer outro tipo de conexão.

**Importante**  
Para permitir que os usuários especifiquem um documento ao iniciar sessões no console do Gerenciador de Sessões, observe o seguinte:  
É necessário conceder aos usuários as permissões `ssm:GetDocument` e `ssm:ListDocuments` em suas políticas do IAM. Para obter mais informações, consulte [Conceder acesso a documentos personalizados da sessão no console](getting-started-restrict-access-examples.md#grant-access-documents-console-example).
O console só oferece suporte a documentos de sessão que tenham `sessionType` definido como `Standard_Stream`. Para obter mais informações, consulte [Esquema do documento de sessão](session-manager-schema.md).

## Iniciar uma sessão (console do Amazon EC2)
<a name="start-ec2-console"></a>

Você pode usar o console do Amazon Elastic Compute Cloud (Amazon EC2) para iniciar uma sessão com uma instância na sua conta.

**nota**  
Se você receber uma mensagem de erro informando que não está autorizado a executar uma ou mais ações do Systems Manager (`ssm:command-name`), entre em contato com o administrador para obter assistência. Caso seu administrador seja a pessoa que forneceu suas credenciais de início de sessão. Solicite que essa pessoa atualize suas políticas para permitir que você inicie sessões do console do Amazon EC2. Se você for um administrador, consulte [Exemplo de políticas do IAM para Session Manager](getting-started-restrict-access-quickstart.md) para obter mais informações.

**Para iniciar uma sessão (console do Amazon EC2)**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instances (Instâncias)**.

1. Selecione a instância e escolha **Connect (Conectar)**.

1. Em **Connection Method (Método de conexão)**, selecione **Session Manager**.

1. Selecione **Conectar**.

Depois que a conexão for feita, você poderá executar os comandos bash (Linux e macOS) ou PowerShell (Windows) como faria com qualquer outro tipo de conexão.

## Iniciar uma sessão (AWS CLI)
<a name="sessions-start-cli"></a>

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

Antes de iniciar uma sessão, conclua as etapas de configuração para o Session Manager. Para mais informações, consulte [Configurar o Session Manager](session-manager-getting-started.md).

Para usar a AWS CLI para executar comandos de sessão, o plugin do Session Manager também deve ser instalado em sua máquina local. Para mais informações, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).

Para iniciar uma sessão usando o AWS CLI, execute o seguinte comando substituindo *instance-id* por suas próprias informações.

```
aws ssm start-session \
    --target instance-id
```

Para obter informações sobre outras opções que podem ser usadas com o comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) na seção AWS Systems Manager da AWS CLI Command Reference.

## Iniciar uma sessão (SSH)
<a name="sessions-start-ssh"></a>

Para iniciar uma sessão SSH do Session Manager, a versão 2.3.672.0 ou posterior do SSM Agent deve ser instalada no seu nó gerenciado.

**Requisitos para a conexão SSH**  
Anote os seguintes requisitos e limitações para conexões de sessão usando SSH por meio do Session Manager:
+ O nó gerenciado de destino deve estar configurado para oferecer suporte a conexões SSH. Para obter informações, consulte [(Opcional) Permitir e controlar permissões para conexões SSH por meio do Session Manager](session-manager-getting-started-enable-ssh-connections.md).
+ Você deve se conectar usando a conta do nó gerenciado associada ao certificado PEM (Privacy Enhanced Mail), não a conta `ssm-user` usada para outros tipos de conexões de sessão. Por exemplo, em instâncias do EC2 para Linux e macOS, o usuário padrão é `ec2-user`. Para obter informações sobre como identificar o usuário padrão para cada tipo de instância, consulte [Obter informações sobre a instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connection-prereqs.html#connection-prereqs-get-info-about-instance) no *Guia do usuário do Amazon EC2*.
+ O registro em log não está disponível para sessões do Session Manager que se conectam por meio de encaminhamento de portas ou SSH. Isso ocorre porque o SSH criptografa todos os dados da sessão na conexão TLS segura estabelecida entre os endpoints AWS CLI e Session Manager e o Session Manager serve apenas como um túnel para conexões SSH.

**nota**  
Antes de iniciar uma sessão, conclua as etapas de configuração para o Session Manager. Para mais informações, consulte [Configurar o Session Manager](session-manager-getting-started.md).

Para iniciar uma sessão usando SSH, execute o comando a seguir. Substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações.

```
ssh -i /path/my-key-pair.pem username@instance-id
```

**dica**  
Ao iniciar uma sessão usando SSH, você pode copiar arquivos locais em seus nós de destino usando o seguinte formato de comando.  

```
scp -i /path/my-key-pair.pem /path/ExampleFile.txt username@instance-id:~
```

Para obter informações sobre outras opções que podem ser usadas com o comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) na seção AWS Systems Manager da AWS CLI Command Reference.

## Iniciar uma sessão (encaminhamento de portas)
<a name="sessions-start-port-forwarding"></a>

Para iniciar uma sessão de encaminhamento da porta do Session Manager, a versão 2.3.672.0 ou posterior do SSM Agent deve ser instalada em seu nó gerenciado.

**nota**  
Antes de iniciar uma sessão, conclua as etapas de configuração para o Session Manager. Para mais informações, consulte [Configurar o Session Manager](session-manager-getting-started.md).  
Para usar a AWS CLI para executar comandos de sessão, o plugin do Session Manager deve ser instalado em sua máquina local. Para mais informações, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).  
Dependendo do sistema operacional e da ferramenta de linha de comando, o posicionamento das aspas pode ser diferente e caracteres de escape podem ser necessários.

Para iniciar uma sessão de encaminhamento de portas, execute o comando a seguir na CLI. Substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name AWS-StartPortForwardingSession \
    --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name AWS-StartPortForwardingSession ^
    --parameters portNumber="3389",localPortNumber="56789"
```

------

`portNumber` representa a porta remota no nó gerenciado para a qual você deseja que o tráfego da sessão seja redirecionado. Por exemplo, é possível especificar a porta `3389` para se conectar a um nó do Windows usando o protocolo da Área de Trabalho Remota (RDP). Se você não especificar o parâmetro `portNumber`, o Session Manager usará `80` como valor padrão. 

`localPortNumber` é a porta no computador local onde o tráfego começa, como `56789`. Esse valor é o que você insere ao se conectar a um nó gerenciado usando um cliente. Por exemplo, **localhost:56789**.

Para obter informações sobre outras opções que podem ser usadas com o comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) na seção AWS Systems Manager da AWS CLI Command Reference.

Para obter mais informações sobre sessões de encaminhamento de portas, consulte [Encaminhamento de portas usando o AWS Systems Manager Session Manager](https://aws.amazon.com/blogs/aws/new-port-forwarding-using-aws-system-manager-sessions-manager/) no *Blog de notícias da AWS*.

## Iniciar uma sessão (encaminhamento de portas para host remoto)
<a name="sessions-remote-port-forwarding"></a>

Para iniciar uma sessão de encaminhamento da portas do Session Manager para um host remoto, a versão 3.1.1374.0 ou posterior do SSM Agent deve ser instalada em seu nó gerenciado. O host remoto não precisa ser gerenciado pelo Systems Manager.

**nota**  
Antes de iniciar uma sessão, conclua as etapas de configuração para o Session Manager. Para mais informações, consulte [Configurar o Session Manager](session-manager-getting-started.md).  
Para usar a AWS CLI para executar comandos de sessão, o plugin do Session Manager deve ser instalado em sua máquina local. Para mais informações, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).  
Dependendo do sistema operacional e da ferramenta de linha de comando, o posicionamento das aspas pode ser diferente e caracteres de escape podem ser necessários.

Para iniciar uma sessão de encaminhamento de portas, execute o comando a seguir na AWS CLI. Substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name AWS-StartPortForwardingSessionToRemoteHost \
    --parameters '{"host":["mydb.example.us-east-2.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["3306"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name AWS-StartPortForwardingSessionToRemoteHost ^
    --parameters host="mydb.example.us-east-2.rds.amazonaws.com",portNumber="3306",localPortNumber="3306"
```

------

O valor de `host` representa o nome do host ou endereço IP do host remoto com o qual você deseja estabelecer conexão. Requisitos gerais de conectividade e resolução de nomes entre o nó gerenciado e o host remoto ainda se aplicam.

`portNumber` representa a porta remota no nó gerenciado para a qual você deseja que o tráfego da sessão seja redirecionado. Por exemplo, é possível especificar a porta `3389` para se conectar a um nó do Windows usando o protocolo da Área de Trabalho Remota (RDP). Se você não especificar o parâmetro `portNumber`, o Session Manager usará `80` como valor padrão. 

`localPortNumber` é a porta no computador local onde o tráfego começa, como `56789`. Esse valor é o que você insere ao se conectar a um nó gerenciado usando um cliente. Por exemplo, **localhost:56789**.

Para obter informações sobre outras opções que podem ser usadas com o comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) na seção AWS Systems Manager da AWS CLI Command Reference.

### Iniciar uma sessão com uma tarefa do Amazon ECS
<a name="sessions-remote-port-forwarding-ecs-task"></a>

O Session Manager oferece suporte ao início de sessões de encaminhamento de portas com uma tarefa dentro de um cluster do Amazon Elastic Container Service (Amazon ECS). Para fazer isso, habilite o ECS Exec. Para obter mais informações, consulte [Monitorar contêineres do Amazon Elastic Container Service com ECS Exec](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html) no *Guia do desenvolvedor do Amazon Elastic Container Service*.

Também é necessário atualizar o perfil da tarefa no IAM para incluir as seguintes permissões:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
       "Effect": "Allow",
       "Action": [
            "ssmmessages:CreateControlChannel",
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:OpenDataChannel"
       ],
      "Resource": "*"
      }
   ]
}
```

------

Para iniciar uma sessão de encaminhamento de portas com uma tarefa do Amazon ECS, execute o comando a seguir na AWS CLI. Substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações.

**nota**  
Remova os símbolos < e > do parâmetro `target`. Esses símbolos são fornecidos apenas para fins de esclarecimento do leitor.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target ecs:<ECS_cluster_name>_<ECS_container_ID>_<container_runtime_ID> \
    --document-name AWS-StartPortForwardingSessionToRemoteHost \
    --parameters '{"host":["URL"],"portNumber":["port_number"], "localPortNumber":["port_number"]}'
```

------
#### [  Windows  ]

```
aws ssm start-session ^
    --target ecs:<ECS_cluster_name>_<ECS_container_ID>_<container_runtime_ID> ^
    --document-name AWS-StartPortForwardingSessionToRemoteHost ^
    --parameters host="URL",portNumber="port_number",localPortNumber="port_number"
```

------

## Iniciar uma sessão (comandos interativos e não interativos)
<a name="sessions-start-interactive-commands"></a>

Antes de iniciar uma sessão, conclua as etapas de configuração para o Session Manager. Para mais informações, consulte [Configurar o Session Manager](session-manager-getting-started.md).

Para usar a AWS CLI para executar comandos de sessão, o plugin do Session Manager também deve ser instalado em sua máquina local. Para mais informações, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).

Para iniciar uma sessão de comandos interativos, execute o seguinte comando: Substitua cada *espaço reservado para recurso de exemplo* por suas próprias informações.

------
#### [ Linux & macOS ]

```
aws ssm start-session \
    --target instance-id \
    --document-name CustomCommandSessionDocument \
    --parameters '{"logpath":["/var/log/amazon/ssm/amazon-ssm-agent.log"]}'
```

------
#### [ Windows ]

```
aws ssm start-session ^
    --target instance-id ^
    --document-name CustomCommandSessionDocument ^
    --parameters logpath="/var/log/amazon/ssm/amazon-ssm-agent.log"
```

------

Para obter informações sobre outras opções que podem ser usadas com o comando **start-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) na seção AWS Systems Manager da AWS CLI Command Reference.

 **Mais informações**   
+  [Usar o encaminhamento de portas no AWS Systems Manager Session Manager para conectar a hosts remotos](https://aws.amazon.com/blogs/mt/use-port-forwarding-in-aws-systems-manager-session-manager-to-connect-to-remote-hosts/) 
+  [Encaminhamento de portas de instâncias do Amazon EC2 com o AWS Systems Manager](https://aws.amazon.com/blogs/mt/amazon-ec2-instance-port-forwarding-with-aws-systems-manager/) 
+  [Gerenciar recursos do Microsoft AD gerenciados pela AWS com encaminhamento de portas do Session Manager](https://aws.amazon.com/blogs/mt/manage-aws-managed-microsoft-ad-resources-with-session-manager-port-forwarding/) 
+ [Encaminhamento de portas usando o AWS Systems ManagerSession Manager](https://aws.amazon.com/blogs/aws/new-port-forwarding-using-aws-system-manager-sessions-manager/) no *Blog de notícias da AWS*.

# Encerrar uma sessão
<a name="session-manager-working-with-sessions-end"></a>

Você pode encerrar uma sessão que foi iniciada em sua conta usando o console do AWS Systems Manager ou a AWS Command Line Interface (AWS CLI). Se você clicar no botão **Encerrar** de uma sessão no console ou chamar a ação da API [TerminateSession](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_TerminateSession.html) usando a AWS CLI, o Session Manager encerrará permanentemente a sessão e fechará a conexão de dados entre o cliente do Session Manager e SSM Agent no nó gerenciado. Você não pode retomar uma sessão encerrada.

Se não houver atividade do usuário em uma sessão aberta por 20 minutos, o estado ocioso acionará um tempo limite. O Session Manager não chamará o `TerminateSession`, mas fechará o canal subjacente. Você não pode retomar uma sessão fechada devido ao tempo limite de inatividade.

Recomendamos sempre encerrar explicitamente uma sessão usando o comando `terminate-session`, ao usar a AWS CLI ou o botão **Encerrar** ao usar o console. (Os botões de **Encerrar** estão localizados na janela da sessão e na página principal do console do Session Manager.) Se você fechar somente um navegador ou uma janela de comando, a sessão permanecerá listada como **Ativa** no console por 30 dias. Quando você não encerra explicitamente uma sessão ou quando ela expira, todos os processos que estavam em execução no nó gerenciado no momento continuarão sendo executados.

**Topics**
+ [Encerrar uma sessão (console)](#stop-sys-console)
+ [Encerrar uma sessão (AWS CLI)](#stop-cli)

## Encerrar uma sessão (console)
<a name="stop-sys-console"></a>

Você pode usar o console do AWS Systems Manager para encerrar uma sessão em sua conta.

**Como encerrar uma sessão (console)**

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 **Session Manager**.

1. Em **Sessions (Sessões)**, escolha o botão de opção à esquerda da sessão que deseja encerrar.

1. Escolha **Encerrar**.

## Encerrar uma sessão (AWS CLI)
<a name="stop-cli"></a>

Para encerrar uma sessão usando a AWS CLI, execute o comando a seguir. Substitua *session-id* por sua própria informação.

```
aws ssm terminate-session \
    --session-id session-id
```

Para obter mais informações sobre o comando **terminate-session**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/terminate-session.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/terminate-session.html) na seção AWS Systems Manager da AWS CLI Command Reference.

# Visualizar o histórico da sessão
<a name="session-manager-working-with-view-history"></a>

Você pode usar o console do AWS Systems Manager ou a AWS Command Line Interface (AWS CLI) para visualizar as informações sobre sessões da sua conta. No console, você pode visualizar detalhes da sessão, como os seguintes:
+ O ID da sessão
+ Qual usuário se conectou a um nó gerenciado por uma sessão
+ O ID do nó gerenciado.
+ Quando a sessão foi iniciada e encerrada
+ O status da sessão
+ O local especificado para armazenar logs de sessão (se ativado)

Usando o AWS CLI, você pode visualizar uma lista de sessões em sua conta, mas não os detalhes adicionais que estão disponíveis no console.

Para obter informações sobre registro do histórico da sessão, consulte [Habilitar e desabilitar o registro em log de sessão](session-manager-logging.md).

**Topics**
+ [Visualizar o histórico da sessão (console)](#view-console)
+ [Visualizar o histórico da sessão (AWS CLI)](#view-history-cli)

## Visualizar o histórico da sessão (console)
<a name="view-console"></a>

Você pode usar o console do AWS Systems Manager para visualizar detalhes sobre sessões da sua conta.

**Para visualizar o histórico da sessão (console)**

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 **Session Manager**.

1. Escolha a guia **Session history (Histórico da sessão)**.

   - ou -

   Se a página inicial do Session Manager for aberta primeiro, escolha **Configurar preferências** e, em seguida, selecione a guia **Histórico da sessão**.

## Visualizar o histórico da sessão (AWS CLI)
<a name="view-history-cli"></a>

Para visualizar uma lista de sessões em sua conta usando a AWS CLI, execute o seguinte comando:

```
aws ssm describe-sessions \
    --state History
```

**nota**  
Este comando retorna somente os resultados para conexões com destinos iniciados usando o Session Manager. Ele não lista conexões feitas por outros meios, como o protocolo RDP (Remote Desktop Protocol) ou o protocolo SSH (Secure Shell Protocol).

Para obter informações sobre outras opções que podem ser usadas com o comando **describe-sessions**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-sessions.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-sessions.html) na seção AWS Systems Manager da AWS CLI Command Reference.

# Registrar a atividade de sessão em log
<a name="session-manager-auditing"></a>

Além de fornecer informações sobre sessões atuais e concluídas no console do Systems Manager, o Session Manager fornece a habilidade de registrar em log as atividades de sessões em sua conta da Conta da AWS usando o AWS CloudTrail.

O CloudTrail captura chamadas à API feitas no console do Systems Manager, na AWS Command Line Interface (AWS CLI) e no SDK do Systems Manager. Você pode visualizar as informações no console do CloudTrail ou em um bucket do Amazon Simple Storage Service (Amazon S3), onde elas estão armazenadas. Um bucket do Amazon S3 é usado em todos os logs do CloudTrail para sua conta. Para obter mais informações, consulte [Registrar em log chamadas de API do AWS Systems Manager com o AWS CloudTrail](monitoring-cloudtrail-logs.md).

**nota**  
Para uma análise recorrente, histórica e analítica dos seus arquivos de log, considere consultar os logs do CloudTrail usando o [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) ou uma tabela mantida por você. Para obter mais informações, consulte [Consultar logs do AWS CloudTrail](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html) no *Guia do usuário do AWS CloudTrail*. 

## Monitorar as atividades da sessão usando o Amazon EventBridge (console)
<a name="session-manager-auditing-eventbridge-events"></a>

Com o EventBridge, é possível configurar regras para detectar quando ocorrem alterações nos recursos da AWS. Você pode criar uma regra que detecta quando um usuário em sua organização inicia ou encerra uma sessão e, então, por exemplo, receber uma notificação por meio do Amazon SNS sobre o evento. 

O suporte ao EventBridge para o Session Manager conta com registros de operações de API que foram registradas pelo CloudTrail. (Você pode usar integração do CloudTrail com EventBridge para responder à maioria dos eventos do AWS Systems Manager.) Ações que ocorrem dentro de uma sessão, como um comando `exit`, que não fazem uma chamada de API não são detectados pelo EventBridge.

As etapas a seguir descrevem como iniciar notificações por meio do Amazon Simple Notification Service (Amazon SNS) quando ocorre um evento da API do Session Manager, como **StartSession**.

**Para monitorar atividades de sessão usando o Amazon EventBridge (console)**

1. Crie um tópico do Amazon SNS a ser usado para enviar notificações, quando o evento do Session Manager ocorrer.

   Para obter mais informações, consulte [Criar um tópico](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.

1. Crie uma regra do EventBridge para invocar o destino do Amazon SNS para o tipo de evento do Session Manager que você quiser monitorar.

   Para obter informações sobre como criar regras de eventos, consulte [Criar regras do Amazon EventBridge que reagem a eventos](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html), no *Guia do usuário do Amazon EventBridge*.

   À medida que você seguir as etapas para criar uma regra, selecione o seguinte:
   + Em **Serviço da AWS**, escolha **Systems Manager**.
   + Em **Tipo de evento**, escolha **Chamada de API da AWS por meio do CloudTrail**.
   + Escolha **Specific operations(s) (Operação(ões) específica(s))** e, em seguida, insira o(s) comando(s) do Session Manager (um de cada vez) que você deseja receber notificações. Você também pode escolher **StartSession**, **ResumeSession** e **TerminateSession**. (O EventBridge não oferece suporte aos comandos `Get*`, ` List*` e `Describe*`).
   + Em **Select a target** (Selecionar um destino), escolha **SNS topic** (Tópico do SNS). Em **Topic** (Tópico), escolha o nome do tópico do Amazon SNS criado na Etapa 1.

Para obter mais informações, consulte *[Manual do usuário do Amazon EventBridge User](https://docs.aws.amazon.com/eventbridge/latest/userguide/)* e o *[Guia de conceitos básicos do Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/gsg/)*.

# Habilitar e desabilitar o registro em log de sessão
<a name="session-manager-logging"></a>

O registro em log de sessão registra informações sobre sessões atuais e concluídas no console do Systems Manager. Você também pode registrar detalhes sobre os comandos executados durante as sessões na sua Conta da AWS. O registro em log de sessão permite que você:
+ Criar e armazenar logs de sessão para fins de arquivamento.
+ Gere um relatório que mostre detalhes de cada conexão feita para os nós gerenciados usando o Session Manager nos últimos 30 dias.
+ Gere notificações de registro em log de sessão na Conta da AWS, como notificações do Amazon Simple Notification Service (Amazon SNS).
+ Inicie automaticamente outra ação em um recurso da AWS como resultado das ações realizadas durante uma sessão, como executar uma função AWS Lambda, iniciar um pipeline do AWS CodePipeline ou executar um documento do AWS Systems Manager Run Command.

**Importante**  
Anote os seguintes requisitos e limitações para o Session Manager:  
Session ManagerO registra os comandos inseridos e o resultados deles durante uma sessão, dependendo das suas preferências para a sessão. Para evitar que dados confidenciais, como senhas, sejam exibidos em seus logs de sessão, recomendamos usar os seguintes comandos ao inserir dados confidenciais durante uma sessão.  

  ```
  stty -echo; read passwd; stty echo;
  ```

  ```
  $Passwd = Read-Host -AsSecureString
  ```
Se você estiver usando o Windows Server 2012 ou versões anteriores, os dados em seus logs poderão não ser formatados corretamente. Recomendamos usar o Windows Server 2012 R2 e posterior para formatos de log ideais.
Se você estiver usando nós gerenciados do Linux ou do macOS, instale o utilitário de tela. Se não estiver, seus dados de log podem ser truncados. No Amazon Linux 2, AL2023 e Ubuntu Server, o utilitário de tela é instalado por padrão. Para instalar a tela manualmente, dependendo da versão do Linux, execute `sudo yum install screen` ou `sudo apt-get install screen`.
O registro em log não está disponível para sessões do Session Manager que se conectam por meio de encaminhamento de portas ou SSH. Isso ocorre porque o SSH criptografa todos os dados da sessão na conexão TLS segura estabelecida entre os endpoints AWS CLI e Session Manager e o Session Manager serve apenas como um túnel para conexões SSH.

Para obter mais informações sobre as permissões necessárias para usar o Amazon S3 ou o Amazon CloudWatch Logs para registrar dados da sessão em log, consulte [Crie uma função do IAM com permissões para o Session Manager, Amazon S3 e CloudWatch Logs (console)](getting-started-create-iam-instance-profile.md#create-iam-instance-profile-ssn-logging).

Consulte os tópicos a seguir para obter mais informações sobre as opções de registro do Session Manager.

**Topics**
+ [Transmitir dados da sessão usando o Amazon CloudWatch Logs (console)](session-manager-logging-cwl-streaming.md)
+ [Registrar dados da sessão em log usando o Amazon S3 (console)](session-manager-logging-s3.md)
+ [Registrar dados da sessão em log usando o Amazon CloudWatch Logs (console)](session-manager-logging-cloudwatch-logs.md)
+ [Configurar o registro em log da sessão em disco](session-manager-logging-disk.md)
+ [Ajustar por quanto tempo o arquivo de log temporário Session Manager é armazenado no disco](session-manager-logging-disk-retention.md)
+ [Desabilitar o registro em log do Session Manager no CloudWatch Logs e no Amazon S3](session-manager-enable-and-disable-logging.md)

# Transmitir dados da sessão usando o Amazon CloudWatch Logs (console)
<a name="session-manager-logging-cwl-streaming"></a>

Você pode fazer uma transmissão contínua de logs de dados de sessão ao Amazon CloudWatch Logs. Detalhes essenciais, como os comandos que um usuário executou em uma sessão, o ID do usuário que executou os comandos e carimbos de data/hora para quando os dados da sessão são transmitidos para o CloudWatch Logs, são incluídos ao transmitir dados da sessão. Ao transmitir dados de sessão, os logs são formatados em JSON para ajudar você a integrar com suas soluções de log existentes. A transmissão de dados de sessão não é compatível com comandos interativos.

**nota**  
Para transmitir dados de sessão dos nós gerenciados do Windows Server, você deve ter o PowerShell 5.1 ou posterior instalado. Por padrão, o Windows Server 2016 e versões posteriores têm a versão necessária do PowerShell instalada. No entanto, Windows Server 2012 e 2012 R2 não têm a versão necessária do PowerShell instalada por padrão. Se você ainda não tiver o PowerShell atualizado em seus nós gerenciados do Windows Server 2012 ou 2012 R2, poderá fazer isso usando o Run Command. Para obter informações sobre como atualizar o PowerShell usando o Run Command, consulte [Atualização da PowerShell por meio de Run Command](run-command-tutorial-update-software.md#rc-console-pwshexample).

**Importante**  
Se você tiver a configuração da política **PowerShell Transcription** definida em seus nós gerenciados do Windows Server, não será possível transmitir os dados da sessão.

**Para transmitir dados da sessão usando o Amazon CloudWatch Logs (console)**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Marque a caixa de seleção ao lado de **Enable** (Habilitar) em **CloudWatch logging** (Registro em log do CloudWatch).

1. Selecione a opção **Stream session logs** (Transmitir logs da sessão).

1. (Recomendado) Marque a caixa de seleção ao lado de **Allow only encrypted CloudWatch log groups** (Permitir apenas grupos de logs criptografados do CloudWatch). Com essa opção ativada, os dados de log serão criptografados usando a chave de criptografia no lado do servidor especificada para o grupo de logs. Se não quiser criptografar os dados de log enviados ao CloudWatch Logs, desmarque a caixa de seleção. Você também deverá desmarcar a caixa de seleção se a criptografia não for permitida no grupo de logs.

1. Em **CloudWatch logs** (Logs do CloudWatch), para especificar o grupo de logs do CloudWatch Logs na Conta da AWS no qual carregar logs de sessão, selecione uma das seguintes opções:
   + Insira um nome do grupo de logs na caixa de texto que já tiver sido criada na conta para armazenar dados de log da sessão.
   + **Escolha um grupo de logs**: selecione um grupo de logs que já tenha sido criado na sua conta para armazenar dados de log da sessão.

1. Escolha **Salvar**.

# Registrar dados da sessão em log usando o Amazon S3 (console)
<a name="session-manager-logging-s3"></a>

Você pode optar por armazenar os dados de log da sessão em um bucket do Amazon Simple Storage Service (Amazon S3) de sua escolha para fins de depuração e solução de problemas. A opção padrão é que os logs sejam enviados para um bucket do Amazon S3 criptografado. A criptografia é feita usando a chave especificada para o bucket, uma chave do AWS KMS key ou uma chave de criptografia no lado do servidor (SSE) (AES-256) do Amazon S3. 

**Importante**  
Ao usar buckets hospedados virtualmente com Secure Sockets Layer (SSL), o certificado SSL curinga corresponde somente a buckets que não contenham pontos. Para contornar isso, use HTTP ou escreva a sua própria lógica de verificação do certificado. Recomendamos não usar pontos (".") em nomes de buckets ao usar buckets hospedados virtualmente.

**Criptografia de bucket do Amazon S3**  
Para enviar logs ao seu bucket do Amazon S3 com criptografia, a mesma deve ser ativada no bucket. Para obter informações sobre a criptografia de buckets do Amazon S3, consulte [Definir o comportamento padrão da criptografia para os buckets do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html).

**Chave gerenciada pelo cliente**  
Se você estiver usando uma chave do KMS que você mesmo gerencia para criptografar o bucket, o perfil da instância do IAM anexado às suas instâncias deve ter permissões explícitas para ler a chave. Se você usar uma Chave gerenciada pela AWS, a instância não exigirá essa permissão explícita. Para obter mais informações sobre como fornecer o perfil da instância com acesso para usar a chave, consulte [Permitir que os usuários de chaves usem a chave do KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) no *Guia do desenvolvedor do AWS Key Management Service*.

Siga estas etapas para configurar o Session Manager para armazenar logs de sessão em um bucket do Amazon S3.

**nota**  
Você também pode usar o AWS CLI para especificar ou alterar o bucket do Amazon S3 para os quais os dados serão enviados. Para mais informações, consulte [Atualizar preferências do Session Manager (linha de comando)](getting-started-configure-preferences-cli.md).

**Para registrar dados da sessão em log usando o Amazon S3 (console)**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Marque a caixa de seleção ao lado de **Enable** (Habilitar) em **S3 logging** (Registro em log do S3).

1. (Recomendado) Marque a caixa de seleção ao lado de **Allow only encrypted S3 buckets** (Permitir apenas buckets do S3 criptografados). Com essa opção ativada, os dados de log serão criptografados usando a chave de criptografia no lado do servidor especificada para o bucket. Se não quiser criptografar os dados de log enviados ao Amazon S3, desmarque a caixa de seleção. Você também deverá desmarcar a caixa de seleção se a criptografia não for permitida no bucket do S3.

1. Para **S3 bucket name (Nome do bucket do S3)**, selecione uma das seguintes opções:
**nota**  
Recomendamos não usar pontos (".") em nomes de buckets ao usar buckets hospedados virtualmente. Para obter informações sobre as convenções para nomear buckets do Amazon S3, consulte [Restrições e limitações de buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) no *guia do usuário do Amazon Simple Storage Service*.
   + **Escolha um nome de bucket na lista**: selecione um bucket do Amazon S3 que já tenha sido criado na sua conta para armazenar dados de log de sessão.
   + **Insira um nome de bucket na caixa de texto**: insira o nome de um bucket do Amazon S3 que já tenha sido criado na conta para armazenar os dados de log da sessão.

1. (Opcional) Para **prefixo de chaves do S3**, insira o nome de uma pasta existente ou uma nova pasta para armazenar logs no bucket selecionado.

1. Escolha **Salvar**.

Para obter mais informações sobre como trabalhar com o Amazon S3 e com buckets do Amazon S3, consulte o *[Guia do usuário do Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)* e o *[Guia do usuário do Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)*.

# Registrar dados da sessão em log usando o Amazon CloudWatch Logs (console)
<a name="session-manager-logging-cloudwatch-logs"></a>

Com o Amazon CloudWatch Logs, é possível monitorar, armazenar e acessar os arquivos de log de vários Serviços da AWS. Você pode enviar dados de log da sessão a um grupo de logs do CloudWatch Logs para fins de depuração e solução de problemas. A opção padrão é que os dados de log sejam enviados com criptografia usando sua chave do KMS, mas é possível enviar esses dados ao grupo de logs com ou sem criptografia. 

Siga estas etapas para configurar AWS Systems Manager Session Manager para enviar dados de log da sessão a um grupo de logs do CloudWatch Logs no final das sessões.

**nota**  
Você também pode usar a AWS CLI para especificar ou alterar o grupo de logs do CloudWatch Logs ao qual os dados de sessão serão enviados. Para mais informações, consulte [Atualizar preferências do Session Manager (linha de comando)](getting-started-configure-preferences-cli.md).

**Para registrar dados da sessão em log usando o Amazon CloudWatch Logs (console)**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Marque a caixa de seleção ao lado de **Enable** (Habilitar) em **CloudWatch logging** (Registro em log do CloudWatch).

1. Selecione a opção **Upload session logs** (Carregar os logs da sessão).

1. (Recomendado) Marque a caixa de seleção ao lado de **Allow only encrypted CloudWatch log groups** (Permitir apenas grupos de logs criptografados do CloudWatch). Com essa opção ativada, os dados de log serão criptografados usando a chave de criptografia no lado do servidor especificada para o grupo de logs. Se não quiser criptografar os dados de log enviados ao CloudWatch Logs, desmarque a caixa de seleção. Você também deverá desmarcar a caixa de seleção se a criptografia não for permitida no grupo de logs.

1. Em **CloudWatch logs** (Logs do CloudWatch), para especificar o grupo de logs do CloudWatch Logs na Conta da AWS no qual carregar logs de sessão, selecione uma das seguintes opções:
   + **Choose a log group from the list (Escolha um grupo de logs na lista)**: selecione um grupo de logs que já tenha sido criado na sua conta para armazenar dados de log de sessão.
   + **Enter a log group name in the text box (Insira um nome de grupo de logs na caixa de texto)**: insira o nome de um grupo de logs que já tenha sido criado na sua conta para armazenar dados de log de sessão.

1. Escolha **Salvar**.

Para obter mais informações sobre o CloudWatch Logs, consulte *[Guia do usuário do Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*.

# Configurar o registro em log da sessão em disco
<a name="session-manager-logging-disk"></a>

Após o registro em log do Session Manager no CloudWatch ou no Amazon S3 ser habilitado, todos os comandos executados durante uma sessão (e a saída resultante desses comandos) são registrados em log em um arquivo temporário no disco da instância de destino. O arquivo temporário é chamado `ipcTempFile.log`. 

O `ipcTempFile.log` é controlado pelo parâmetro `SessionLogsDestination` no arquivo de configuração do SSM Agent. O parâmetro aceita os seguintes valores:
+ **disk**: se você especificar esse parâmetro e o registro da sessão em log no CloudWatch ou no Amazon S3 estiver *habilitado*, o SSM Agent criará o arquivo de log temporário `ipcTempFile.log` e registrará os comandos da sessão e a saída em log no disco. O Session Manager carrega esse log no CloudWatch ou no S3 durante ou após a sessão, dependendo da configuração do registro em log. O log é então excluído de acordo com a duração especificada para o parâmetro de configuração `SessionLogsRetentionDurationHours` do SSM Agent.

  Se você especificar esse parâmetro e o registro da sessão em log no CloudWatch e no Amazon S3 estiver *desabilitado*, o SSM Agent ainda registrará o histórico e a saída de comandos no arquivo `ipcTempFile.log`. O log será então excluído de acordo com a duração especificada para o parâmetro de configuração `SessionLogsRetentionDurationHours` do SSM Agent.
+ **none**: se você especificar esse parâmetro e o registro da sessão em log no CloudWatch ou no Amazon S3 estiver *habilitado*, o registro em log no disco funcionará exatamente como se você tivesse especificado o parâmetro `disk`. O SSM Agent requer o arquivo temporário quando o registro de sessão no CloudWatch ou no Amazon S3 está habilitado.

  Se você especificar esse parâmetro e o registro da sessão em log no CloudWatch e no Amazon S3 estiver *desabilitado*, o SSM Agent não criará o arquivo `ipcTempFile.log`.

Use o procedimento a seguir para habilitar ou desabilitar a criação do arquivo de log temporário `ipcTempFile.log` no disco quando uma sessão for iniciada.

**Para habilitar ou desabilitar a criação do arquivo de log temporário Session Manager no disco**

1. Instale SSM Agent na sua instância ou atualize para a versão 3.2.2086 ou superior. Para obter informações sobre como verificar o número da versão do agente, consulte [Verificar o número de versão do SSM Agent](ssm-agent-get-version.md). Para obter informações sobre como instalar manualmente o agente, localize o procedimento para seu sistema operacional nas seguintes seções:
   + [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Linux](manually-install-ssm-agent-linux.md)
   + [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para macOS](manually-install-ssm-agent-macos.md)
   + [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Windows Server](manually-install-ssm-agent-windows.md)

1. Conecte-se à sua instância e localize o `amazon-ssm-agent.json` arquivo no local a seguir.
   + **Linux**: /etc/amazon/ssm/
   + **macOS**: /opt/aws/ssm/
   + **Windows Server**: C:\$1Program Files\$1Amazon\$1SSM

   Se o arquivo `amazon-ssm-agent.json` não existir, copie o conteúdo de `amazon-ssm-agent.json.template` para um novo arquivo no mesmo diretório. Nomeie o novo arquivo como `amazon-ssm-agent.json`. 

1. Especifique `none` ou `disk` para o parâmetro `SessionLogsDestination`. Salve as alterações.

1. [Reinicie](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-status-and-restart.html) o SSM Agent.

Se você especificou `disk` para o parâmetro `SessionLogsDestination`, poderá verificar se o SSM Agent cria o arquivo de log temporário iniciando uma nova sessão e, em seguida, localizando o arquivo `ipcTempFile.log` no seguinte local:
+ **Linux**: /var/lib/amazon/ssm/*target ID*/session/orchestration/*session ID*/Standard\$1Stream/ipcTempFile.log
+ **macOS**: /opt/aws/ssm/data/*target ID*/session/orchestration/*session ID*/Standard\$1Stream/ipcTempFile.log
+ **Windows Server**: C:\$1ProgramData\$1Amazon\$1SSM\$1InstanceData\$1*target ID*\$1session\$1orchestration\$1*session ID*\$1Standard\$1Stream\$1ipcTempFile.log

**nota**  
Por padrão, o arquivo de log temporário é salvo na instância por 14 dias.

Caso deseje atualizar o parâmetro `SessionLogsDestination` em várias instâncias, recomendamos criar um documento do SSM que especifique a nova configuração. Em seguida, você poderá usar o Systems Manager Run Command para implementar a alteração em suas instâncias. Para obter mais informações, consulte [Como escrever seus próprios documentos do AWS Systems Manager (blog)](https://aws.amazon.com/blogs/mt/writing-your-own-aws-systems-manager-documents/) e [Execução de comandos em nós gerenciados](running-commands.md).

# Ajustar por quanto tempo o arquivo de log temporário Session Manager é armazenado no disco
<a name="session-manager-logging-disk-retention"></a>

Após o registro em log do Session Manager no CloudWatch ou no Amazon S3 ser habilitado, todos os comandos executados durante uma sessão (e a saída resultante desses comandos) são registrados em log em um arquivo temporário no disco da instância de destino. O arquivo temporário é chamado `ipcTempFile.log`. Durante uma sessão, ou após sua conclusão, o Session Manager carrega esse log temporário no CloudWatch ou no S3. O log temporário é então excluído de acordo com a duração especificada para o parâmetro de configuração `SessionLogsRetentionDurationHours` do SSM Agent. Por padrão, o arquivo de log temporário é salvo na instância por 14 dias no seguinte local:
+ **Linux**: /var/lib/amazon/ssm/*target ID*/session/orchestration/*session ID*/Standard\$1Stream/ipcTempFile.log
+ **macOS**: /opt/aws/ssm/data/*target ID*/session/orchestration/*session ID*/Standard\$1Stream/ipcTempFile.log
+ **Windows Server**: C:\$1ProgramData\$1Amazon\$1SSM\$1InstanceData\$1*target ID*\$1session\$1orchestration\$1*session ID*\$1Standard\$1Stream\$1ipcTempFile.log

Use o procedimento a seguir para ajustar por quanto tempo o arquivo de log temporário Session Manager é armazenado no disco.

**Para ajustar por quanto tempo o arquivo `ipcTempFile.log` é armazenado no disco**

1. Conecte-se à sua instância e localize o `amazon-ssm-agent.json` arquivo no local a seguir.
   + **Linux**: /etc/amazon/ssm/
   + **macOS**: /opt/aws/ssm/
   + **Windows Server**: C:\$1Program Files\$1Amazon\$1SSM

   Se o arquivo `amazon-ssm-agent.json` não existir, copie o conteúdo de `amazon-ssm-agent.json.template` para um novo arquivo no mesmo diretório. Nomeie o novo arquivo como `amazon-ssm-agent.json`. 

1. Altere o valor de `SessionLogsRetentionDurationHours` para o número de horas desejado. Se `SessionLogsRetentionDurationHours` estiver definido como 0, o arquivo de log temporário será criado durante a sessão e excluído quando a sessão for concluída. Essa configuração deve garantir que o arquivo de log não persista após o término da sessão.

1. Salve as alterações.

1. [Reinicie](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-status-and-restart.html) o SSM Agent.

# Desabilitar o registro em log do Session Manager no CloudWatch Logs e no Amazon S3
<a name="session-manager-enable-and-disable-logging"></a>

Você pode usar o console do Systems Manager ou a AWS CLI para desabilitar o registro em log de sessão em sua conta.

**Para desabilitar o registro em log de sessão (console)**

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 **Session Manager**.

1. Escolha a guia **Preferences (Preferências)** e, em seguida, escolha **Edit (Editar)**.

1. Para desabilitar o registro em log do CloudWatch, na seção **Registro em log do CloudWatch**, desmarque a caixa de seleção **Habilitar**.

1. Para desabilitar o registro em log do S3, na seção **Registro em log do S3**, desmarque a caixa de seleção **Habilitar**.

1. Escolha **Salvar**.

**Para desabilitar o registro em log de sessão (AWS CLI)**  
Para desabilitar o registro em log de sessão usando a AWS CLI, siga as instruções em [Atualizar preferências do Session Manager (linha de comando)](getting-started-configure-preferences-cli.md).

 No arquivo JSON, certifique-se de que as entradas `s3BucketName` e `cloudWatchLogGroupName` não contenham valores. Por exemplo: 

```
"inputs": {
        "s3BucketName": "",
        ...
        "cloudWatchLogGroupName": "",
        ...
    }
```

Se preferir, para desabilitar o registro em log, você poderá remover todas as entradas `S3*` e `cloudWatch*` do arquivo JSON.

**nota**  
Dependendo da sua configuração, após a desabilitação do CloudWatch ou S3, um arquivo de log temporário ainda poderá ser gerado em disco pelo SSM Agent. Para obter informações sobre como desabilitar o log em disco, consulte [Configurar o registro em log da sessão em disco](session-manager-logging-disk.md).

# Esquema do documento de sessão
<a name="session-manager-schema"></a>

As informações a seguir descrevem os elementos do esquema de um documento de sessão. O Session Manager do AWS Systems Manager usa documentos de sessão para determinar qual tipo de sessão iniciar, como uma sessão padrão, uma sessão de encaminhamento de portas ou uma sessão para executar um comando interativo.

 [schemaVersion](#version)   
A versão do esquema do documento de sessão. Documentos de sessão são compatíveis apenas com a versão 1.0.  
Tipo: string  
Obrigatório: Sim

 [description](#descript)   
Uma descrição que você especifica para o documento da Session (Seção). Por exemplo, “Documento para iniciar sessão de encaminhamento de porta com o Session Manager“.  
Tipo: String  
Obrigatório: Não

 [sessionType](#type)   
O tipo de sessão que o documento de sessão é usado para estabelecer.  
Tipo: string  
Obrigatório: Sim  
Valores válidos: `InteractiveCommands` \$1 `NonInteractiveCommands` \$1 `Port` \$1 `Standard_Stream`

 [inputs](#in)   
As preferências de sessão a serem usadas para sessões estabelecidas usando este documento de sessão. Este elemento é necessário para documentos de sessão que são usados para criar sessões `Standard_Stream`.  
Tipo: StringMap  
Obrigatório: Não    
 [s3BucketName](#bucket)   
O bucket do Amazon Simple Storage Service (Amazon S3) para o qual você deseja enviar logs de sessão no final das sessões.  
Tipo: String  
Obrigatório: Não  
 [s3KeyPrefix](#prefix)   
O prefixo a ser usado ao enviar logs para o bucket do Amazon S3 que você especificou na entrada `s3BucketName`. Para obter mais informações sobre como usar um prefixo compartilhado com objetos armazenados no Amazon S3, consulte [Como usar pastas em um bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html) no *Guia do usuário do Amazon Simple Storage Service*.  
Tipo: String  
Obrigatório: Não  
 [s3EncryptionEnabled](#s3Encrypt)   
Se definido como `true`, o bucket do Amazon S3 que você especificou na entrada `s3BucketName` deve ser criptografado.  
Tipo: booliano  
Obrigatório: Sim  
 [cloudWatchLogGroupName](#logGroup)   
O nome do grupo de Amazon CloudWatch Logs (CloudWatch Logs) para o qual você deseja enviar logs de sessão no final das sessões.  
Tipo: String  
Obrigatório: Não  
 [cloudWatchEncryptionEnabled](#cwEncrypt)   
Se definido como `true`, o grupo de logs que você especificou na entrada `cloudWatchLogGroupName` deve ser criptografado.  
Tipo: booliano  
Obrigatório: Sim  
 [cloudWatchStreamingEnabled](#cwStream)   
Se definido como `true`, uma transmissão contínua de logs de dados de sessão será enviada ao grupo de logs que você especificou na entrada `cloudWatchLogGroupName`. Se definido como `false`, os logs da sessão serão enviados ao grupo de logs que você especificou na entrada `cloudWatchLogGroupName` no final de suas sessões.  
Tipo: booliano  
Obrigatório: Sim  
 [kmsKeyId](#kms)   
O ID da AWS KMS key que você quer usar para reforçar a criptografia de dados entre suas máquinas cliente locais e os nós gerenciados do Amazon Elastic Compute Cloud (Amazon EC2) aos quais você se conecta.  
Tipo: String  
Obrigatório: Não  
 [runAsEnabled](#run)   
Se definido como `true`, você deverá especificar uma conta de usuário existente em nós gerenciados aos quais você se conectará na entrada `runAsDefaultUser`. Caso contrário, as sessões não serão iniciadas. Por padrão, as sessões são iniciadas usando a conta do `ssm-user` criada pelo AWS Systems Manager SSM Agent. O atributo Run As é compatível apenas com a conexão com nós gerenciados para Linux e macOS.  
Tipo: booliano  
Obrigatório: Sim  
 [runAsDefaultUser](#runUser)   
O nome da conta de usuário com a qual iniciar as sessões em nós gerenciados do Linux e do macOS quando a entrada `runAsEnabled` estiver definida como `true`. A conta de usuário especificada para essa entrada deve existir em nós gerenciados aos quais você se conectará. Caso contrário, as sessões não serão iniciadas.  
Tipo: String  
Obrigatório: Não  
 [idleSessionTimeout](#timeout)   
A quantidade de tempo de inatividade que você deseja permitir antes do término de uma sessão. Essa entrada é medida em minutos.  
Tipo: String  
Valores válidos: 1 a 60  
Obrigatório: Não  
 [maxSessionDuration](#maxDuration)   
O tempo máximo que você deseja permitir antes do término de uma sessão. Essa entrada é medida em minutos.  
Tipo: String  
Valores válidos: 1 a 1440  
Obrigatório: Não  
 [shellProfile](#shell)   
As preferências especificadas por sistema operacional para aplicar dentro das sessões, como preferências de shell, variáveis de ambiente, diretórios de trabalho e execução de vários comandos quando uma sessão é iniciada.  
Tipo: StringMap  
Obrigatório: Não    
 [windows](#win)   
As preferências do shell, variáveis de ambiente, diretórios de trabalho e comandos especificados para sessões em nós gerenciados do Windows Server.  
Tipo: String  
Obrigatório: Não  
 [linux](#lin)   
As preferências do shell, variáveis de ambiente, diretórios de trabalho e comandos especificados para sessões em nós gerenciados do Linux e do macOS .  
Tipo: String  
Obrigatório: Não

 [parameters](#param)   
Um objeto que define os parâmetros que o documento aceita. Para obter mais informações sobre como especificar os parâmetros do documento, consulte **parâmetros** no [Elementos de dados de nível superior](documents-syntax-data-elements-parameters.md#top-level). Com relação aos parâmetros aos quais você se refere com frequência, recomendamos armazená-los no Parameter Store do Systems Manager para isso. Você pode fazer referência aos parâmetros `String` e `StringList` do Parameter Store nesta seção de um documento. Você pode fazer referência aos parâmetros `SecureString` e Parameter Store nesta seção de um documento. Você pode fazer referência a um parâmetro do Parameter Store usando o seguinte formato:  

```
{{ssm:parameter-name}}
```
Para obter mais informações sobre o Parameter Store, consulte [AWS Systems Manager Parameter Store](systems-manager-parameter-store.md).  
Tipo: StringMap  
Obrigatório: Não

 [properties](#props)   
Um objeto cujos valores que você especificar que são usados na operação da API do `StartSession`.  
Para documentos de sessão que são usados para as sessões do `InteractiveCommands`, o objeto de propriedades inclui os comandos a serem executados nos sistemas operacionais especificados. Também é possível determinar se os comandos são executados como `root` usando a propriedade booleana `runAsElevated`. Para obter mais informações, consulte [Restringir acesso a comandos em uma sessão](session-manager-restrict-command-access.md).  
Para documentos de sessão que são usados para sessões do `Port`, o objeto de propriedades contém o número da porta para a qual o tráfego deve ser redirecionado. Para ver um exemplo, consulte o exemplo de documento de sessão posteriormente `Port` neste tópico.  
Tipo: StringMap  
Obrigatório: Não

`Standard_Stream` Digite exemplo de documento de sessão

------
#### [ YAML ]

```
---
schemaVersion: '1.0'
description: Document to hold regional settings for Session Manager
sessionType: Standard_Stream
inputs:
  s3BucketName: ''
  s3KeyPrefix: ''
  s3EncryptionEnabled: true
  cloudWatchLogGroupName: ''
  cloudWatchEncryptionEnabled: true
  cloudWatchStreamingEnabled: true
  kmsKeyId: ''
  runAsEnabled: true
  runAsDefaultUser: ''
  idleSessionTimeout: '20'
  maxSessionDuration: '60'
  shellProfile:
    windows: ''
    linux: ''
```

------
#### [ JSON ]

```
{
    "schemaVersion": "1.0",
    "description": "Document to hold regional settings for Session Manager",
    "sessionType": "Standard_Stream",
    "inputs": {
        "s3BucketName": "",
        "s3KeyPrefix": "",
        "s3EncryptionEnabled": true,
        "cloudWatchLogGroupName": "",
        "cloudWatchEncryptionEnabled": true,
        "cloudWatchStreamingEnabled": true,
        "kmsKeyId": "",
        "runAsEnabled": true,
        "runAsDefaultUser": "",
        "idleSessionTimeout": "20",
        "maxSessionDuration": "60",
        "shellProfile": {
            "windows": "date",
            "linux": "pwd;ls"
        }
    }
}
```

------

`InteractiveCommands` Digite exemplo de documento de sessão

------
#### [ YAML ]

```
---
schemaVersion: '1.0'
description: Document to view a log file on a Linux instance
sessionType: InteractiveCommands
parameters:
  logpath:
    type: String
    description: The log file path to read.
    default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
    allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
properties:
  linux:
    commands: "tail -f {{ logpath }}"
    runAsElevated: true
```

------
#### [ JSON ]

```
{
    "schemaVersion": "1.0",
    "description": "Document to view a log file on a Linux instance",
    "sessionType": "InteractiveCommands",
    "parameters": {
        "logpath": {
            "type": "String",
            "description": "The log file path to read.",
            "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
            "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
        }
    },
    "properties": {
        "linux": {
            "commands": "tail -f {{ logpath }}",
            "runAsElevated": true
        }
    }
}
```

------

`Port` Digite exemplo de documento de sessão

------
#### [ YAML ]

```
---
schemaVersion: '1.0'
description: Document to open given port connection over Session Manager
sessionType: Port
parameters:
  paramExample:
    type: string
    description: document parameter
properties:
  portNumber: anyPortNumber
```

------
#### [ JSON ]

```
{
    "schemaVersion": "1.0",
    "description": "Document to open given port connection over Session Manager",
    "sessionType": "Port",
    "parameters": {
        "paramExample": {
            "type": "string",
            "description": "document parameter"
        }
    },
    "properties": {
        "portNumber": "anyPortNumber"
    }
}
```

------

Exemplo de documento de sessão com caracteres especiais

------
#### [ YAML ]

```
---
schemaVersion: '1.0'
description: Example document with quotation marks
sessionType: InteractiveCommands
parameters:
  Test:
    type: String
    description: Test Input
    maxChars: 32
properties:
  windows:
    commands: |
        $Test = '{{ Test }}'
        $myVariable = \"Computer name is $env:COMPUTERNAME\"
        Write-Host "Test variable: $myVariable`.`nInput parameter: $Test"
    runAsElevated: false
```

------
#### [ JSON ]

```
{
   "schemaVersion":"1.0",
   "description":"Test document with quotation marks",
   "sessionType":"InteractiveCommands",
   "parameters":{
      "Test":{
         "type":"String",
         "description":"Test Input",
         "maxChars":32
      }
   },
   "properties":{
      "windows":{
         "commands":[
            "$Test = '{{ Test }}'",
            "$myVariable = \\\"Computer name is $env:COMPUTERNAME\\\"",
            "Write-Host \"Test variable: $myVariable`.`nInput parameter: $Test\""
         ],
         "runAsElevated":false
      }
   }
}
```

------

# Solução de problemas do Session Manager
<a name="session-manager-troubleshooting"></a>

Use as informações a seguir para ajudar a solucionar problemas com o Session Manager do AWS Systems Manager.

**Topics**
+ [AccessDeniedException ao chamar a operação TerminateSession](#session-manager-troubleshooting-access-denied-exception)
+ [O processo do documento falhou inesperadamente: o operador do documento excedeu o tempo limite](#session-manager-troubleshooting-document-worker-timed-out)
+ [O Session Manager não consegue se conectar pelo console do Amazon EC2](#session-manager-troubleshooting-EC2-console)
+ [Sem permissão para iniciar uma sessão](#session-manager-troubleshooting-start-permissions)
+ [SSM Agent não está online](#session-manager-troubleshooting-agent-not-online)
+ [Sem permissão para alterar as preferências da sessão](#session-manager-troubleshooting-preferences-permissions)
+ [Nó gerenciado não disponível ou não está configurado para o Session Manager](#session-manager-troubleshooting-instances)
+ [Session ManagerO plugin não foi encontrado](#plugin-not-found)
+ [O plug-in Session Manager não é adicionado automaticamente ao caminho de linha de comando (Windows)](#windows-plugin-env-var-not-set)
+ [Session ManagerO plugin não responde](#plugin-unresponsive)
+ [TargetNotConnected](#ssh-target-not-connected)
+ [Tela em branco exibida após iniciar uma sessão](#session-manager-troubleshooting-start-blank-screen)
+ [O nó gerenciado deixa de responder durante sessões de execução longa](#session-manager-troubleshooting-log-retention)
+ [Ocorreu um erro (InvalidDocument) ao chamar a operação StartSession](#session-manager-troubleshooting-invalid-document)

## AccessDeniedException ao chamar a operação TerminateSession
<a name="session-manager-troubleshooting-access-denied-exception"></a>

**Problema**: ao tentar encerrar uma sessão, o Systems Manager retorna o seguinte erro:

```
An error occurred (AccessDeniedException) when calling the TerminateSession operation: 
User: <user_arn> is not authorized to perform: ssm:TerminateSession on resource: 
<ssm_session_arn> because no identity-based policy allows the ssm:TerminateSession action.
```

**Solução A: confirme se a [versão mais recente do plug-in Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/plugin-version-history.html) está instalada no nó**

Insira o comando a seguir no terminal e pressione Enter.

```
session-manager-plugin --version
```

**Solução B: instale ou reinstale a versão mais recente do plug-in**

Para obter mais informações, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).

**Solução C: tente restabelecer uma conexão com o nó**

Verifique se o nó está respondendo às solicitações. Tente restabelecer a sessão. Ou, se necessário, abra o console do Amazon EC2 e verifique se o status da instância está em execução.

## O processo do documento falhou inesperadamente: o operador do documento excedeu o tempo limite
<a name="session-manager-troubleshooting-document-worker-timed-out"></a>

**Problema**: ao iniciar uma sessão em um host Linux, o Systems Manager retorna o seguinte erro:

```
document process failed unexpectedly: document worker timed out, 
check [ssm-document-worker]/[ssm-session-worker] log for crash reason
```

Se você configurou o log do SSM Agent conforme descrito em [Visualizar logs do SSM Agent](ssm-agent-logs.md), você poderá visualizar mais detalhes no registro de depuração. Para esse problema, o Session Manager mostra a seguinte entrada de log:

```
failed to create channel: too many open files
```

Esse erro normalmente indica que há muitos processos de operador do Session Manager em execução e que o sistema operacional subjacente atingiu um limite. Há duas opções para resolver o problema.

**Solução A: aumentar o limite de notificação de arquivos do sistema operacional**

É possível aumentar o limite executando o comando a seguir em um host Linux separado. Esse comando usa o Run Command do Systems Manager. O valor especificado aumenta `max_user_instances` para 8192. Esse valor é consideravelmente maior do que o valor padrão de 128, mas não sobrecarregará os recursos do host:

```
aws ssm send-command --document-name AWS-RunShellScript \
--instance-id i-02573cafcfEXAMPLE  --parameters \
"commands=sudo sysctl fs.inotify.max_user_instances=8192"
```

**Solução B: diminua as notificações de arquivo usadas pelo Session Manager no host de destino**

Execute o comando a seguir em um host Linux separado para listar as sessões em execução no host de destino:

```
aws ssm describe-sessions --state Active --filters key=Target,value=i-02573cafcfEXAMPLE
```

Revise a saída do comando para identificar as sessões que não são mais necessárias. É possível encerrar essas sessões executando o seguinte comando em um host Linux separado:

```
aws ssm terminate-session —session-id session ID
```

Opcionalmente, quando não houver mais sessões em execução no servidor remoto, você poderá liberar recursos adicionais executando o comando a seguir em um host Linux separado. Este comando encerra todos os processos do Session Manager em execução no host remoto e, consequentemente, todas as sessões no host remoto. Antes de executá-lo, verifique se não há sessões em andamento que você gostaria de manter:

```
aws ssm send-command --document-name AWS-RunShellScript \
            --instance-id i-02573cafcfEXAMPLE --parameters \
'{"commands":["sudo kill $(ps aux | grep ssm-session-worker | grep -v grep | awk '"'"'{print $2}'"'"')"]}'
```

## O Session Manager não consegue se conectar pelo console do Amazon EC2
<a name="session-manager-troubleshooting-EC2-console"></a>

**Problema**: após a criação de uma nova instância, o botão **Conectar** > guia **Gerenciador de Sessões** no console do Amazon Elastic Compute Cloud (Amazon EC2) não oferece a opção de conexão.

**Solução A: crie um perfil de instância**: se ainda não tiver feito isso (conforme instruído pelas informações na guia **Gerenciador de sessões** no console do EC2), crie um perfil de instância do AWS Identity and Access Management (IAM) usando a Quick Setup. A Quick Setup é uma ferramenta do AWS Systems Manager.

O Session Manager requer um perfil de instância do IAM para se conectar à instância. É possível criar um perfil de instância e atribuí-lo à instância criando uma [configuração de gerenciamento de host](https://docs.aws.amazon.com/systems-manager/latest/userguide/quick-setup-host-management.html) com a Quick Setup. Uma *configuração de gerenciamento de host* cria um perfil de instância com as permissões necessárias e o atribui à instância. Uma configuração de gerenciamento de host também habilita outras ferramentas do Systems Manager e cria perfis do IAM para executar essas ferramentas. Não há cobrança pelo uso da Quick Setup ou pelas ferramentas habilitadas pela configuração de gerenciamento do host. [Abra a Quick Setup e crie uma configuração de gerenciamento de host](https://console.aws.amazon.com/systems-manager/quick-setup/create-configuration&configurationType=SSMHostMgmt).

**Importante**  
Depois de criar a configuração de gerenciamento do host, o Amazon EC2 pode levar vários minutos para registrar a alteração e atualizar a guia **Gerenciador de Sessões**. Se a guia não exibir o botão **Conectar** após dois ou três minutos, reinicialize a instância. Após a reinicialização, caso ainda não veja a opção de se conectar, abra a [Configuração Rápida](https://console.aws.amazon.com/systems-manager/quick-setup/create-configuration&configurationType=SSMHostMgmt) e verifique se você tem apenas uma configuração de gerenciamento de host. Se houver duas, exclua a configuração mais antiga e espere alguns minutos.

Se mesmo assim você não conseguir se conectar depois de criar uma configuração de gerenciamento de host ou se receber um erro, incluindo um erro sobre o SSM Agent, consulte uma destas soluções:
+  [Solução B: não há erro, mas ainda não consigo conectar](#session-manager-troubleshooting-EC2-console-no-error) 
+  [Solução C: erro de SSM Agent ausente](#session-manager-troubleshooting-EC2-console-no-agent) 

### Solução B: não há erro, mas ainda não consigo conectar
<a name="session-manager-troubleshooting-EC2-console-no-error"></a>

Se você criou a configuração de gerenciamento de host, esperou alguns minutos antes de tentar se conectar e ainda não consegue se conectar, talvez seja necessário aplicar a configuração de gerenciamento de host à instância manualmente. Use o procedimento a seguir para atualizar uma configuração de gerenciamento de host da Quick Setup e aplicar alterações em uma instância.

**Para atualizar uma configuração de gerenciamento de host usando a Quick Setup**

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 **Quick Setup**.

1. Na lista **Configurações**, escolha a configuração do **Gerenciamento de host** que você criou.

1. Escolha **Ações** e depois **Editar configuração**.

1. Na parte inferior da seção **Targets**, em **Choose how you want to target instances**, escolha **Manual**.

1. Na seção **Instâncias**, escolha a instância que você criou.

1. Selecione **Atualizar**.

Aguarde alguns minutos para que o EC2 atualize a guia **Gerenciador de Sessões**. Se você ainda não conseguir se conectar ou receber um erro, revise as soluções restantes para o problema.

### Solução C: erro de SSM Agent ausente
<a name="session-manager-troubleshooting-EC2-console-no-agent"></a>

Se você não conseguiu criar uma configuração de gerenciamento de host usando a Quick Setup, ou se recebeu um erro sobre o SSM Agent não estar instalado, talvez seja necessário instalar o SSM Agent manualmente em sua instância. O SSM Agent é um software da Amazon que possibilita que o Systems Manager se conecte à sua instância usando o Session Manager. O SSM Agent é instalado por padrão na maioria das imagens de máquina da Amazon (AMI) (AMIs). Se sua instância foi criada com base em uma AMI não padrão ou em uma AMI mais antiga, talvez seja necessário instalar o agente manualmente. Para o procedimento de instalação do SSM Agent, consulte o tópico a seguir que corresponde ao sistema operacional da instância.
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html) 
+  [AlmaLinux](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-alma.html) 
+  [Amazon Linux 2 e AL2023](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-al2.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-deb.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-deb.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-oracle.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-oracle.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-rhel.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-rhel.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-rocky.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-rocky.html) 
+  [https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-ubuntu.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-ubuntu.html) 

Para problemas com o SSM Agent, consulte [Solução de problemas do SSM Agent](troubleshooting-ssm-agent.md).

## Sem permissão para iniciar uma sessão
<a name="session-manager-troubleshooting-start-permissions"></a>

**Problema**: você tenta iniciar uma sessão, mas o sistema informa que você não tem as permissões necessárias.
+ **Solução**: um administrador do sistema não concedeu permissões de políticas do AWS Identity and Access Management (IAM) para iniciar sessões do Session Manager. Para obter mais informações, consulte [Controlar o acesso de sessão do usuário às instâncias](session-manager-getting-started-restrict-access.md).

## SSM Agent não está online
<a name="session-manager-troubleshooting-agent-not-online"></a>

**Problema**: você vê uma mensagem na guia **Session Manager** da instância do Amazon EC2 que informa: "SSM Agent não está online. O SSM Agent não conseguiu se conectar a um endpoint do Systems Manager para se registrar no serviço".

**Solução**: SSM Agent é um software da Amazon executado em instâncias do Amazon EC2 para que o Session Manager possa se conectar a elas. Se você vir esse erro, SSM Agent não consegue estabelecer uma conexão com o endpoint do Systems Manager. As causas do problema podem ser restrições de firewall, problemas de roteamento ou falta de conectividade com a Internet. Para solucionar esse problema, investigue os problemas de conectividade de rede. Para obter mais informações, consulte [Solução de problemas do SSM Agent](troubleshooting-ssm-agent.md) e [Solução de problemas de disponibilidade do nó gerenciado](fleet-manager-troubleshooting-managed-nodes.md). Para obter informações sobre endpoints do Systems Manager, consulte [Endpoints e cotas do AWS Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html) na Referência Geral da AWS.

## Sem permissão para alterar as preferências da sessão
<a name="session-manager-troubleshooting-preferences-permissions"></a>

**Problema**: você tenta atualizar as preferências de sessões globais para sua organização, mas o sistema informa que você não tem as permissões necessárias.
+ **Solução**: um administrador do sistema não concedeu permissões de políticas do IAM para definir preferências do Session Manager. Para mais informações, consulte [Conceder ou negar permissões a um usuário para atualizar as preferências do Session Manager](preference-setting-permissions.md).

## Nó gerenciado não disponível ou não está configurado para o Session Manager
<a name="session-manager-troubleshooting-instances"></a>

**Problema 1**: você quer iniciar uma sessão na página do console **Start a session** (Iniciar uma sessão), mas um nó gerenciado não está na lista.
+ **Solução A**: o nó gerenciado ao qual você quer se conectar pode não ter sido configurado para o AWS Systems Manager. Para obter mais informações, consulte [Configurar o console unificado do Systems Manager para uma organização](systems-manager-setting-up-organizations.md). 
**nota**  
Se o SSM Agent do AWS Systems Manager já estiver em execução em um nó gerenciado ao associar o perfil da instância do IAM, talvez seja necessário reiniciar o agente antes que a instância seja listada na página do console **Start a session** (Iniciar uma sessão).
+ **Solução B**: a configuração de proxy que você aplicou ao SSM Agent em seu nó gerenciado pode estar incorreta. Se a configuração do proxy estiver incorreta, o nó gerenciado não conseguirá alcançar os endpoints de serviço necessários ou o poderá ser relatado como um sistema operacional diferente para o Systems Manager. Para obter mais informações, consulte [Configurar o SSM Agent para usar um proxy em nós do Linux](configure-proxy-ssm-agent.md) e [Configurar o SSM Agent para usar um proxy para instâncias do Windows Server](configure-proxy-ssm-agent-windows.md).

**Problema 2**: um nó gerenciado ao qual você quer se conectar está na lista da página do console **Start a session** (Iniciar uma sessão), mas a página informa que "A instância que você selecionou não está configurada para usar o Session Manager". 
+ **Solução A**: o nó gerenciado foi configurado para uso com o serviço do Systems Manager, mas o perfil da instância do IAM anexado ao nó pode não incluir permissões para a ferramenta Session Manager. Para obter informações, consulte [Verificar ou criar um perfil da instância do IAM com permissões do Session Manager](session-manager-getting-started-instance-profile.md).
+ **Solução B**: o nó gerenciado não está executando uma versão do SSM Agent que oferece suporte ao Session Manager. Atualize o SSM Agent do nó para a versão 2.3.68.0 ou posterior. 

  Atualize o SSM Agent manualmente em um nó gerenciado, seguindo as etapas em [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Windows Server](manually-install-ssm-agent-windows.md), [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para Linux](manually-install-ssm-agent-linux.md) ou [Instalar e desinstalar o SSM Agent manualmente em instâncias do EC2 para macOS](manually-install-ssm-agent-macos.md), dependendo do sistema operacional. 

  Como alternativa, use o documento do Run Command, `AWS-UpdateSSMAgent`, para atualizar a versão do agente em um ou mais nós gerenciados de uma vez. Para mais informações, consulte [Atualização do SSM Agent por meio de Run Command](run-command-tutorial-update-software.md#rc-console-agentexample).
**dica**  
Para manter o agente sempre atualizado, recomendamos atualizar SSM Agent para a versão mais recente através de um agendamento automatizado que você define usando um dos seguintes métodos:  
Executar `AWS-UpdateSSMAgent` como parte de uma associação do State Manager. Para mais informações, consulte [Walkthrough: Automatically update SSM Agent with the AWS CLI](state-manager-update-ssm-agent-cli.md).
Execute `AWS-UpdateSSMAgent` como parte de uma janela de manutenção. Para obter informações sobre como trabalhar com janelas de manutenção, consulte [Crie e gerencie janelas de manutenção usando o console](sysman-maintenance-working.md) e [Tutorial: Criar e configurar uma janela de manutenção usando a AWS CLI](maintenance-windows-cli-tutorials-create.md).
+ **Solução C**: o nó gerenciado não consegue alcançar os endpoints de serviço necessários. Você pode melhorar o procedimento de segurança dos nós gerenciados usando endpoints de interface habilitados pelo AWS PrivateLink para se conectar aos endpoints do Systems Manager. A alternativa ao uso de endpoints da interface é permitir o acesso à Internet de saída em seus nós gerenciados. Para obter mais informações, consulte [Usar PrivateLink para configurar um endpoint da VPC para o Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-privatelink.html).
+ **Solução D**: o nó gerenciado tem recursos limitados de CPU ou memória disponíveis. Embora o nó gerenciado possa ser funcional, se ele não tiver recursos disponíveis suficientes, você não poderá estabelecer uma sessão. Para obter mais informações, consulte [Solucionar problemas de uma instância inacessível](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html).

## Session ManagerO plugin não foi encontrado
<a name="plugin-not-found"></a>

Para usar a AWS CLI para executar comandos de sessão, o plugin do Session Manager também deve ser instalado em sua máquina local. Para mais informações, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).

## O plug-in Session Manager não é adicionado automaticamente ao caminho de linha de comando (Windows)
<a name="windows-plugin-env-var-not-set"></a>

Quando você instalar o plug-in do Session Manager no Windows, o `session-manager-plugin` executável deverá ser adicionado automaticamente à variável de ambiente `PATH` do sistema operacional. Se o comando falhou depois que você o executou para verificar se o plugin do Session Manager foi instalado corretamente (`aws ssm start-session --target instance-id`), pode ser necessário configurá-lo manualmente usando o procedimento a seguir.

**Para modificar sua variável PATH (Windows)**

1. Pressione a tecla Windows e digite **environment variables**.

1. Escolha **Edit environment variables for your account ** (Editar variáveis de ambiente para sua conta).

1. Selecione **PATH** e, em seguida, **Editar**.

1. Adicione caminhos ao campo **Variable value (Valor da variável)** separados por ponto e vírgula, conforme este exemplo: *`C:\existing\path`*;*`C:\new\path`*

   *`C:\existing\path`* representa o valor já no campo. *`C:\new\path`* representa o caminho que você deseja adicionar, como mostrado nos exemplos a seguir.
   + **64-Máquinas 64-bit**: `C:\Program Files\Amazon\SessionManagerPlugin\bin\`

1. Escolha **OK** duas vezes para aplicar as novas configurações.

1. Feche todas as solicitações de comando em execução e abra novamente.

## Session ManagerO plugin não responde
<a name="plugin-unresponsive"></a>

Durante uma sessão de encaminhamento de porta, o tráfego poderá interromper o encaminhamento se você tiver um software antivírus instalado em sua máquina local. Em alguns casos, o software antivírus interfere com o plugin Session Manager causando bloqueios de processo. Para resolver esse problema, permita ou exclua o plugin do Session Manager do software antivírus. Para obter informações sobre o caminho de instalação padrão para o plugin Session Manager, consulte [Instalar o plug-in do Session Manager para a AWS CLI](session-manager-working-with-install-plugin.md).

## TargetNotConnected
<a name="ssh-target-not-connected"></a>

**Problema**: você tenta iniciar uma sessão, mas o sistema retorna a mensagem de erro "Ocorreu um erro (TargetNotConnected) ao chamar a operação StartSession: *InstanceID* não está conectado".
+ **Solução A**: esse erro é retornado quando o nó gerenciado de destino especificado para a sessão não estiver totalmente configurado para uso com o Session Manager. Para mais informações, consulte [Configurar o Session Manager](session-manager-getting-started.md).
+ **Solução B**: esse erro também ocorre se você tentar iniciar uma sessão em um nó gerenciado localizado em uma Conta da AWS ou Região da AWS diferente.

## Tela em branco exibida após iniciar uma sessão
<a name="session-manager-troubleshooting-start-blank-screen"></a>

**Problema**: você inicia uma sessão e o Session Manager exibe uma tela em branco.
+ **Solução A**: esse problema pode ocorrer quando o volume raiz em seu nó gerenciado estiver cheio. Devido à falta de espaço em disco, o SSM Agent do nó para de funcionar. Para resolver esse problema, use o Amazon CloudWatch para coletar métricas e logs dos sistemas operacionais. Para obter informações, consulte [Coletar métricas, logs e rastreamentos com o agente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) no *Guia do usuário do Amazon CloudWatch*.
+ **Solução B**: uma tela em branco pode ser exibida se você acessou o console usando um link que inclui um par de endpoint e região incompatíveis. Por exemplo, no URL do console a seguir, `us-west-2` é o endpoint especificado, mas `us-west-1` é a região da Região da AWS especificada.

  ```
  https://us-west-2.console.aws.amazon.com/systems-manager/session-manager/sessions?region=us-west-1
  ```
+ **Solução C**: o nó gerenciado está se conectando ao Systems Manager usando endpoints da VPC, e suas preferências do Session Manager gravam a saída da sessão em um bucket do Amazon S3 ou grupo de logs do Amazon CloudWatch Logs, mas um endpoint de gateway do `s3` ou endpoint de interface do `logs` não existe na VPC. Um endpoint do `s3` no formato **`com.amazonaws.region.s3`** será necessário se os nós gerenciados estiverem conectados ao Systems Manager usando endpoints da VPC e suas preferências do Session Manager gravarem o resultado da sessão em um bucket do Amazon S3. Como alternativa, um endpoint do `logs` no formato **`com.amazonaws.region.logs`** será necessário, se os nós gerenciados estiverem se conectando ao Systems Manager usando endpoints da VPC, e as preferências do Session Manager gravarem a saída da sessão em um grupo de logs do CloudWatch Logs. Para obter mais informações, consulte [Criar endpoints da VPC para o Systems Manager](setup-create-vpc.md#create-vpc-endpoints).
+ **Solução D**: o grupo de logs ou bucket do Amazon S3 que você especificou nas preferências de sessão foi excluído. Para resolver esse problema, atualize suas preferências de sessão com um grupo de logs válido ou um bucket S3.
+ **Solução E**: o grupo de logs ou bucket do Amazon S3 que você especificou em suas preferências de sessão não está criptografado, mas você definiu a entrada `cloudWatchEncryptionEnabled` ou `s3EncryptionEnabled` como `true`. Para resolver esse problema, atualize suas preferências de sessão com um grupo de logs ou bucket do Amazon S3 criptografado ou defina a entrada `cloudWatchEncryptionEnabled` ou `s3EncryptionEnabled` como `false`. Esse cenário só é aplicável aos clientes que criam preferências de sessão usando ferramentas da linha de comando.

## O nó gerenciado deixa de responder durante sessões de execução longa
<a name="session-manager-troubleshooting-log-retention"></a>

**Problema**: seu nó gerenciado deixa de responder ou falha durante uma sessão de execução longa.

**Solução**: diminuir a duração da retenção de logs do SSM Agent para Session Manager.

**Para diminuir a duração da retenção de logs do SSM Agent para sessões**

1. Localize `amazon-ssm-agent.json.template` no diretório `/etc/amazon/ssm/` no Linux, ou em `C:\Program Files\Amazon\SSM` no Windows.

1. Copie o conteúdo do `amazon-ssm-agent.json.template` em um novo arquivo no mesmo diretório chamado `amazon-ssm-agent.json`.

1. Reduza o valor padrão do valor `SessionLogsRetentionDurationHours` na propriedade `SSM` e salve o arquivo.

1. Reiniciar o SSM Agent.

## Ocorreu um erro (InvalidDocument) ao chamar a operação StartSession
<a name="session-manager-troubleshooting-invalid-document"></a>

**Problema**: você recebe o seguinte erro ao iniciar uma sessão usando o AWS CLI.

```
An error occurred (InvalidDocument) when calling the StartSession operation: Document type: 'Command' is not supported. Only type: 'Session' is supported for Session Manager.
```

**Solução**: o documento SSM que você especificou para o `--document-name` parâmetro não é um documento de *sessão*. Use o procedimento a seguir para visualizar uma lista de documentos da sessão no Console de gerenciamento da AWS.

**Para visualizar uma lista de documentos da sessão**

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 **Documents**.

1. Na lista **Categorias**, escolha **Documentos da sessão**.