AWS Systems Manager
Guida per l'utente

AWS Systems Manager Session Manager

Il Session Manager è una funzionalità di AWS Systems Manager completamente gestita che consente di gestire le istanze di Amazon EC2 tramite una shell interattiva one-clic basata su browser o tramite AWS CLI. Il Session Manager fornisce una gestione delle istanze sicura e controllabile senza la necessità di aprire porte in ingresso, mantenere un bastion host e gestire chiavi SSH. Il Session Manager facilita inoltre l'ottemperanza alle policy di sicurezza e di conformità aziendali che richiedono l'accesso controllato alle istanze, severe practice di sicurezza e log di accesso completamente controllabili con i dettagli di accesso all'istanza, garantendo comunque agli utenti finali un accesso multipiattaforma semplice one-clic alle istanze di Amazon EC2.

Quali sono i vantaggi di Session Manager per la mia azienda?

Session Manager offre questi vantaggi:

  • Controllo degli accessi centralizzato alle istanze che utilizzano policy IAM

    Gli amministratori dispongono di un'unica posizione da cui concedere e revocare l'accesso alle istanze. Utilizzando solo policy AWS Identity and Access Management (IAM), puoi controllare quali utenti singoli o gruppi della tua organizzazione possono utilizzare Session Manager e a quali istanze possono accedere.

  • Nessuna porta in entrata aperta e nessuna necessità di gestire bastion host o chiavi SSH

    Lasciando le porte PowerShell remote o SSH in entrata aperte sulle istanze aumenta notevolmente il rischio che le entità eseguano comandi non autorizzati o dannosi sulle istanze. Il Session Manager ti aiuta a migliorare il tuo assetto di sicurezza consentendoti di chiudere le porte in entrata e liberandoti quindi dalla gestione di certificati e chiavi SSH, bastion host e jumpbox.

  • Accesso con un clic alle istanze dalla console e dall'interfaccia a riga di comando (CLI)

    Utilizzando la console AWS Systems Manager, puoi avviare una sessione con un solo clic. Utilizzando AWS CLI, puoi anche avviare una sessione che esegue un singolo comando o una sequenza di comandi. Poiché le autorizzazioni alle istanze vengono fornite tramite le policy IAM anziché le chiavi SSH o altri meccanismi, il tempo di connessione viene notevolmente ridotto.

  • Inoltro alla porta

    Reindirizzare qualsiasi porta all'interno dell'istanza remota a una porta locale su un client. Successivamente, connettersi alla porta locale e accedere all'applicazione server in esecuzione all'interno dell'istanza.

  • Supporto multipiattaforma per Windows e Linux

    Il Session Manager fornisce supporto per Windows e Linux da un unico strumento. Ad esempio, non è necessario utilizzare un client SSH per le istanze Linux e una connessione RDP per le istanze Windows.

  • Registrazione e controllo delle attività delle sessioni

    Per soddisfare i requisiti operativi o di sicurezza della tua organizzazione, potresti dover fornire un record delle connessioni effettuate alle istanze e dei comandi che sono stati eseguiti su di esse. Puoi anche ricevere notifiche quando un utente nella tua organizzazione inizia o termina un'attività della sessione.

    Le funzionalità di registrazione e controllo vengono fornite tramite l'integrazione con i seguenti servizi AWS:

    • AWS CloudTrail – AWS CloudTrail acquisisce informazioni sulle chiamate API del Session Manager effettuate nel tuo account AWS e le scrive nei file di log archiviati in un bucket Amazon S3 da te specificato. Per tutti i log CloudTrail dell'account viene utilizzato un solo bucket. Per ulteriori informazioni, consulta Registrazione delle chiamate API di AWS Systems Manager con AWS CloudTrail.

    • Amazon Simple Storage Service – Puoi decidere di archiviare i dati di log delle sessioni in un bucket Amazon S3 di tua scelta a scopi di controllo. I dati di log possono essere inviati al tuo bucket S3 con o senza crittografia utilizzando la tua chiave AWS Key Management Service (AWS KMS). Per ulteriori informazioni, consulta Registrazione dei dati delle sessioni mediante Amazon S3 (console).

    • Amazon CloudWatch Logs – CloudWatch Logs ti consente di monitorare, archiviare e accedere ai file di log da diversi servizi AWS. Puoi inviare i dati di log delle sessioni a un gruppo di log CloudWatch Logs a scopi di controllo. I dati di log possono essere inviati al tuo gruppo di log con o senza crittografia AWS KMS utilizzando la tua chiave AWS KMS. Per ulteriori informazioni, consulta Registrazione dei dati delle sessioni mediante Amazon CloudWatch Logs (console).

    • Amazon CloudWatch Events e Amazon Simple Notification Service – CloudWatch Events ti consente di impostare regole per rilevare quando vengono apportate modifiche alle risorse AWS specificate. Puoi creare una regola per rilevare quando un utente della tua organizzazione avvia o arresta una sessione e quindi ricevere una notifica tramite Amazon SNS (ad esempio, un testo o un messaggio e-mail) sull'evento. Puoi anche configurare un evento CloudWatch per attivare altre risposte. Per ulteriori informazioni, consulta Monitoraggio dell'attività delle sessioni mediante Amazon CloudWatch Events (console).

Chi deve utilizzare Session Manager?

  • Qualsiasi cliente AWS che desideri migliorare la propria sicurezza e il livello di controllo, ridurre l'overhead operativo centralizzando il controllo accessi sulle istanze e ridurre l'accesso all'istanza in entrata.

  • Gli esperti di sicurezza delle informazioni che desiderano monitorare e tracciare l'accesso e le attività delle istanze e chiudere le porte in entrata sulle istanze o abilitare le connessioni alle istanze che non dispongono di un indirizzo IP pubblico.

  • Gli amministratori che desiderano concedere e revocare l'accesso da una singola postazione e fornire agli utenti una soluzione per le istanze Windows e Linux.

  • Gli utenti finali che desiderano connettersi a un'istanza con un solo clic dal browser o dall'interfaccia a riga di comando (CLI) senza dover fornire le chiavi SSH.

Quali sono le caratteristiche principali del Session Manager?

  • Supporto delle istanze Windows e Linux

    Session Manager consente di stabilire connessioni sicure alle istanze Windows Amazon Elastic Compute Cloud (Amazon EC2). Per un elenco dei tipi di sistema operativo Windows e Linux supportati, consulta Nozioni di base su Session Manager.

    Nota

    Il supporto Session Manager per server locali è fornito solo per il piano istanze avanzate. Per informazioni, consulta (Facoltativo) Attivare il livello istanze avanzate.

  • Accesso alle funzionalità del Session Manager tramite console, interfaccia a riga di comando (CLI) e SDK

    Puoi utilizzare il Session Manager nei modi seguenti:

    La console AWS Systems Manager include l'accesso a tutte le funzionalità del Session Manager sia per gli amministratori sia per gli utenti finali. Tramite la console Systems Manager, puoi eseguire qualsiasi attività correlata alle tue sessioni.

    AWS CLI include l'accesso alle funzionalità del Session Manager per gli utenti finali. Tramite AWS CLI, puoi avviare una sessione, visualizzare un elenco di sessioni e terminare definitivamente una sessione.

    Nota

    Per utilizzare AWS CLI per eseguire i comandi della sessione, devi utilizzare la versione 1.16.12 dell'interfaccia a riga di comando (CLI) o successiva e sul computer locale deve essere installato Session Manager plugin. Per informazioni, consulta (Facoltativo) Installazione del Session Manager Plugin per AWS CLI.

    L'SDK del Session Manager è composto da librerie e codice di esempio che consentono agli sviluppatori di creare applicazioni front-end, ad esempio shell personalizzate o portali self-service per gli utenti interni che utilizzano in modo nativo il Session Manager per connettersi alle istanze. Gli sviluppatori e i partner possono integrare il Session Manager nei propri strumenti lato client o nei propri flussi di lavoro di automazione tramite le API del Session Manager. Puoi anche creare soluzioni personalizzate.

  • Controllo degli accessi IAM

    Mediante le policy IAM, puoi controllare quali membri della tua organizzazione possono avviare sessioni alle istanze e a quali istanze possono accedere. Puoi anche fornire un accesso temporaneo alle tue istanze. Ad esempio, puoi assegnare a un tecnico reperibile (o a un gruppo di tecnici reperibili) l'accesso al server di produzione solo per la durata della loro rotazione.

  • Supporto delle funzionalità di registrazione e audit

    Il Session Manager fornisce le opzioni per il controllo e la registrazione delle cronologie delle sessioni nell'account AWS attraverso l'integrazione con diversi altri servizi AWS. Per ulteriori informazioni, consulta Controllo e registrazione dell'attività delle sessioni.

  • Supporto per la crittografia dei dati della chiave del cliente

    Puoi configurare Session Manager per crittografare i log dei dati della sessione inviati a un bucket Amazon S3 o tramite streaming a un gruppo di log CloudWatch Logs. Puoi anche configurare Session Manager per crittografare ulteriormente i dati trasmessi tra computer client e istanze durante le sessioni. Per informazioni, consulta Controllo e registrazione dell'attività delle sessioniConfigurazione delle preferenze delle sessioni.

  • Supporto AWS PrivateLink per le istanze senza indirizzi IP pubblici

    Puoi anche configurare endpoint VPC per Systems Manager utilizzando AWS PrivateLink per proteggere ulteriormente le tue sessioni. PrivateLink limita il traffico di rete tra istanze gestite, Systems Manager ed Amazon EC2 alla rete Amazon. Per ulteriori informazioni, consulta (Facoltativo) Creazione di un endpoint di un Virtual Private Cloud.

  • Tunneling

    In una sessione, utilizza un documento SSM di tipo sessione per eseguire il tunneling del traffico, ad esempio http o un protocollo personalizzato, tra una porta locale su un computer client e una porta remota su un'istanza.

  • Comandi interattivi

    Crea un documento SSM di tipo sessione che utilizza una sessione per eseguire in modo interattivo un singolo comando, offrendo un modo per gestire ciò che gli utenti possono eseguire su un'istanza.

Che cos'è una sessione?

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.

Ad esempio, supponi che John sia un tecnico reperibile del tuo reparto IT. Riceve una notifica di un problema che richiede di connettersi da remoto a un'istanza, ad esempio un errore che richiede la risoluzione del problema o una direttiva per modificare una semplice opzione di configurazione su un'istanza. Tramite console AWS Systems Manager o AWS CLI, John avvia una sessione per collegarsi all'istanza, esegue sull'istanza i comandi necessari per completare l'attività, quindi termina la sessione.

Quando John invia il primo comando per avviare la sessione, il servizio Session Manager autentica il suo ID, verifica le autorizzazioni concesse da una policy IAM, controlla le impostazioni di configurazione (ad esempio verifica i limiti consentiti per le sessioni) e invia un messaggio all'Agente SSM per aprire il collegamento bidirezionale. Una volta stabilita la connessione e dopo aver digitato il comando successivo, l'output del comando da parte dell'Agente SSM viene caricato su questo canale di comunicazione e inviato nuovamente al computer locale di John.