AWS Systems Manager
Guia do usuário

AWS Systems Manager Session Manager

Session Manager é um recurso do AWS Systems Manager totalmente gerenciado que permite que você gerencie suas instâncias do Amazon EC2 por meio de um clique interativo baseado em navegador ou por meio do shell AWS CLI. Session Manager fornece gerenciamento de instâncias seguro e auditável sem a necessidade de abrir portas de entrada, manter bastion hosts ou gerenciar chaves SSH. Session Manager também facilita a conformidade com políticas corporativas que exigem acesso controlado a instâncias, práticas rigorosas de segurança e logs totalmente auditáveis com detalhes de acesso a instâncias, sem deixar de fornecer aos usuários finais acesso com um clique simples em plataformas diferentes a suas instâncias do Amazon EC2.

Como o Session Manager beneficia minha organização?

O Session Manager oferece estes benefícios:

  • Controle de acesso centralizado a instâncias usando as políticas do IAM

    Os administradores têm um único lugar para conceder e revogar o acesso a instâncias. 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 instâncias 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 suas instâncias aumenta muito o risco de entidades executarem comandos não autorizados ou mal-intencionados nas instâncias. Session Manager ajuda a melhorar a postura 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 a instâncias do console e da CLI

    Usando o console do AWS Systems Manager, você pode 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 as instâncias 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.

  • Encaminhamento de portas

    Redirecione todas as portas dentro da instância remota para uma porta local em um cliente. Depois disso, conecte-se à porta local e acesse o aplicativo do servidor que está sendo executado dentro da instância.

  • Suporte entre plataformas para Windows e Linux

    Session Manager fornece suporte para Windows e Linux a partir de uma única ferramenta. Por exemplo, você não precisa usar um cliente SSH para instâncias do Linux e uma conexão RDP para instâncias do Windows.

  • Registro e auditoria de atividade de sessão

    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 suas instâncias 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.

    Registro de recursos e auditoria são fornecidos por meio de integração com os seguintes serviços da AWS:

    • AWS CloudTrail – AWS CloudTrail captura informações sobre chamadas de API Session Manager feitas na conta da AWS e as grava em arquivos de log armazenados em um bucket do Amazon S3 especificado. Um bucket é usado em todos os logs CloudTrail para sua conta. Para obter mais informações, consulte Registrar chamadas de API do AWS Systems Manager com o AWS CloudTrail.

    • Amazon Simple Storage Service – Você pode optar por armazenar dados de log da sessão em um bucket do Amazon S3 de sua escolha para fins de auditoria. Os dados de log podem ser enviados ao seu bucket do S3 com ou sem criptografia usando sua chave do AWS Key Management Service (AWS KMS). Para obter mais informações, consulte Registrar dados de sessão usando o Amazon S3 (console).

    • 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 de sessão a um grupo de logs do CloudWatch Logs para fins de auditoria. Os dados de log podem ser enviados ao seu grupo de logs com ou sem criptografia do AWS KMS usando sua chave do AWS KMS. Para obter mais informações, consulte Registrar dados de sessão usando o Amazon CloudWatch Logs (console).

    • Amazon CloudWatch Events e Amazon Simple Notification Service – o CloudWatch Events 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 CloudWatch para acionar outras respostas. Para obter mais informações, consulte Monitorar atividades de sessão usando o Amazon CloudWatch Events (console).

Quem deve usar o Session Manager?

  • Qualquer cliente da AWS que quiser melhorar sua postura de segurança e auditoria, reduzir despesas operacionais centralizando o controle de acesso nas instâncias e reduzir o acesso de instâncias de entrada.

  • Especialistas em segurança da informação que desejam monitorar o acesso e a atividade de instâncias, fechar portas de entrada em instâncias ou habilitar a conexões a instâncias sem um endereço de IP público.

  • Administradores que desejam conceder ou revogar acesso a partir de um único lugar e desejam fornecer uma solução para usuários de ambas as instâncias do Windows e do Linux.

  • Os usuários finais que desejam se conectar a uma instância com apenas um clique no navegador ou CLI sem a necessidade de fornecer chaves SSH.

Quais são os principais recursos do Session Manager?

  • Suporte para ambas instâncias do Windows e Linux

    O Session Manager permite estabelecer conexões seguras com suas instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Para obter uma lista dos tipos de sistema operacional Windows e Linux compatíveis, consulte Conceitos Básicos do Session Manager.

    nota

    O suporte do Session Manager para servidores locais é fornecido somente para o nível de instâncias avançadas. Para informações, consulte (Opcional) Habilitar o nível de instâncias avançadas.

  • Acesso do Console, CLI e SDK aos recursos do Session Manager

    Você pode trabalhar com o 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.

    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 Session Manager plugin em sua máquina local. Para obter informações, consulte (Opcional) Instalação do Session Manager Plugin para AWS CLI.

    O SDK Session Manager consiste em bibliotecas e código de exemplo que permitem que os desenvolvedores de aplicativos criem aplicativos front-end, como shells personalizadas ou portais de autoatendimento para usuários internos que nativamente usam o Session Manager para se conectar às instâncias. Os desenvolvedores e parceiros podem integrar Session Manager em suas ferramentas do cliente ou fluxos de trabalho de Automação usando as APIs do Session Manager. Você pode até mesmo criar soluções personalizadas.

  • 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 instâncias e quais instâncias podem ser acessadas. Você também pode fornecer acesso temporário para suas instâncias. 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.

  • Registro de auditoria de suporte a recursos

    O Session Manager fornece opções de histórico de sessões de auditoria e registro na sua conta da AWS por meio de integração com uma série de outros serviços da AWS. Para obter mais informações, consulte Auditoria e registro de atividade de sessão.

  • Suporte para criptografia de dados de chaves do cliente

    Você pode configurar o Session Manager para criptografar os log de dados de sessão que envia a um bucket do Amazon S3 ou que transmite para um grupo de logs do CloudWatch Logs. Você também pode configurar o Session Manager para criptografar dados transmitidos entre máquinas clientes e suas instâncias durante sessões. Para obter informações, consulte Auditoria e registro de atividade de sessão e Configurar preferências da sessão.

  • Suporte ao AWS PrivateLink para instâncias sem endereços IP públicos

    Você também pode configurar VPC endpoints para o Systems Manager usando o AWS PrivateLink para proteger suas sessões. O PrivateLink limita todo o tráfego de rede entre suas instâncias gerenciadas Systems Manager e Amazon EC2 à rede da Amazon. Para obter mais informações, consulte (Opcional) Criar um endpoint da nuvem privada virtual.

  • Encapsulamento

    Em uma sessão, use um documento 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 uma instância.

  • Comandos interativos

    Crie um documento SSM de 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 uma instância.

O que é uma sessão?

A session is a connection made to an instance using Session Manager. Sessions are based on a secure bi-directional communication channel between the client (you) and the remote managed instance that streams inputs and outputs for commands. Traffic between a client and a managed instance is encrypted using TLS 1.2, and requests to create the connection are signed using Sigv4. This two-way communication enables interactive bash and PowerShell access to instances. You can also use an AWS Key Management Service (AWS KMS) key to further encrypt data beyond the default TLS encryption.

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 uma instância, como uma falha que requer a solução de problemas ou uma diretiva para alterar uma opção de configuração simples em uma instância. Usando o console do AWS Systems Manager ou a AWS CLI, John inicia uma sessão conectando-o com a instância, ele executa comandos na instância necessários para concluir a tarefa e, depois, 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 Agente do SSM para abrir a conexão bidirecional. Depois que a conexão é estabelecida e John digita o próximo comando, a saída do comando Agente do SSM é carregada para esse canal de comunicação e enviada de volta para sua máquina local.