Passaggio 8: (Facoltativo) Consenti e controlla le autorizzazioni per le connessioni SSH tramite Session Manager - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Passaggio 8: (Facoltativo) Consenti e controlla le autorizzazioni per le connessioni SSH tramite Session Manager

Puoi permettere agli utenti nel tuo account Account AWS di utilizzare la AWS Command Line Interface (AWS CLI) per stabilire connessioni Secure Shell (SSH) ai nodi gestiti mediante AWS Systems Manager Session Manager. Gli utenti che si connettono utilizzando SSH possono anche copiare i file tra i loro computer locali e gli nodi gestiti usando SCP (Secure Copy Protocol). Puoi usare questa funzionalità per connetterti ai nodi gestiti senza aprire porte in entrata o gestire host bastion.

Dopo aver abilitato le connessioni SSH, è possibile utilizzare le policy (IAM) AWS Identity and Access Management per consentire o rifiutare esplicitamente a utenti, gruppi o ruoli di effettuare connessioni SSH tramite Session Manager.

Nota

La registrazione non è disponibile per sessioni Session Manager che si connettono tramite port forwarding o SSH. Questo perché SSH crittografa tutti i dati di sessione e Session Manager serve solo come tunnel per le connessioni SSH.

Consentire connessioni SSH per Session Manager

Attenersi alla seguente procedura per abilitare le connessioni SSH tramite Session Manager su un nodo gestito.

Per consentire connessioni SSH per Session Manager
  1. Nel nodo gestito per cui si desidera permettere le connessioni SSH, procedere nel modo seguente:

  2. Sul computer locale da cui si desidera connettersi a un nodo gestito tramite SSH, procedi nel modo seguente:

    • Accertarsi che la versione 1.1.23.0 o successiva del plugin Session Manager sia installata.

      Per informazioni sull'istallazione del plugin Session Manager, consulta Installa il Session Manager plugin per AWS CLI.

    • Aggiornare il file di configurazione SSH per permettere l'esecuzione di un comando proxy che avvia una sessione Session Manager e trasferire tutti i dati tramite la connessione.

      Linux e macOS

      Suggerimento

      Il file di configurazione SSH si trova in genere nel percorso ~/.ssh/config.

      Aggiungere quanto segue al file di configurazione sul computer locale.

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

      Windows

      Suggerimento

      Il file di configurazione SSH si trova in genere nel percorso C:\Users\<username>\.ssh\config.

      Aggiungere quanto segue al file di configurazione sul computer locale.

      # 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"
    • Creare o verificare di disporre di un certificato Privacy Enhanced Mail Certificate (un file PEM) o almeno una chiave pubblica, da utilizzare quando si stabiliscono connessioni a nodi gestiti. Questa deve essere una chiave già associata al nodo gestito. Le autorizzazioni del file di chiavi private devono essere impostate in modo che tu sia l'unico a poterlo leggere. Puoi utilizzare il seguente comando per impostare le autorizzazioni del file di chiavi private in modo che tu sia l'unico a poterlo leggere.

      chmod 400 <my-key-pair>.pem

      Ad esempio, per un'istanza Amazon Elastic Compute Cloud (Amazon EC2), il file della coppia di chiavi creata o selezionata al momento della creazione dell'istanza. (Specificare il percorso al certificato o alla chiave come parte del comando per avviare una sessione. Per informazioni sull'avvio di una sessione tramite SSH, consultare ) Avvio di una sessione (SSH).)

Controllo delle autorizzazioni utente per le connessioni SSH tramite Session Manager

Dopo aver abilitato le connessioni SSH tramite Session Manager su un nodo gestito, è possibile utilizzare le policy IAM per consentire o impedire a utenti, gruppi o ruoli la possibilità di effettuare connessioni SSH tramite Session Manager.

Per utilizzare una policy IAM per consentire le connessioni SSH tramite Session Manager
  • Utilizzare una delle opzioni seguenti:

    • Opzione 1 Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

      Nel riquadro di navigazione scegliere Policies (Policy) e quindi aggiornare le policy di autorizzazioni per l'utente o il ruolo che si desidera possa avviare le connessioni SSH tramite Session Manager.

      Ad esempio, aggiungere il seguente elemento alla policy di avvio rapido creata in Policy di avvio rapido per utenti finali per Session Manager. Sostituisci ciascun segnaposto delle risorse di esempio con le tue informazioni.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:*:*:document/AWS-StartSSHSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } } ] }
    • Opzione 2: allegare una policy inline a una policy utente utilizzando la AWS Management Console, la AWS CLI o l'API AWS.

      Utilizzando il metodo preferito, allegare la dichiarazione di policy in Opzione 1 alla policy per un utente, gruppo o ruolo AWS.

      Per informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di IAM.

Per utilizzare una policy IAM per negare le connessioni SSH tramite Session Manager
  • Utilizzare una delle opzioni seguenti:

    • Opzione 1: Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/. Nel riquadro di navigazione, scegliere Policy e quindi aggiornare le policy di autorizzazione per l'utente o il ruolo per bloccare l'avvio delle sessioni Session Manager.

      Ad esempio, aggiungere il seguente elemento alla policy di avvio rapido creata in Policy di avvio rapido per utenti finali per Session Manager.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession" } ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }
    • Opzione 2: allegare una policy inline a una policy utente utilizzando la AWS Management Console, la AWS CLI o l'API AWS.

      Utilizzando il metodo preferito, allegare la dichiarazione di policy in Opzione 1 alla policy per un utente, gruppo o ruolo AWS.

      Per informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di IAM.