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à.
Fase 5: (facoltativo) limitazione dell'accesso ai comandi in una sessione
È possibile limitare i comandi che un utente può eseguire in una AWS Systems Manager Session Manager sessione utilizzando un documento Session
di tipo personalizzato AWS Systems Manager (SSM). Nel documento, puoi definire il comando che viene eseguito quando l'utente avvia una sessione e i parametri che l’utente può fornire al comando. Il documento Session
schemaVersion
deve essere 1.0 e il sessionType
del documento deve essere InteractiveCommands
. Puoi quindi creare policy AWS Identity and Access Management
(IAM) che consentano agli utenti di accedere solo ai documenti Session
definiti. Per ulteriori informazioni sull'utilizzo delle policy IAM per limitare l'accesso ai comandi in una sessione, consulta Esempi di policy IAM per comandi interattivi.
I documenti con sessionType
of InteractiveCommands
sono supportati solo per le sessioni iniziate da AWS Command Line Interface (AWS CLI). L'utente fornisce il nome del documento personalizzato come valore del parametro --document-name
e specifica tutti i valori dei parametri del comando utilizzando l'opzione --parameters
. Per ulteriori informazioni sull'esecuzione di comandi interattivi, consulta Avvio di una sessione (comandi interattivi e non interattivi).
Utilizza la procedura seguente per creare un documento SSM di tipo Session
personalizzato che definisce il comando che un utente può eseguire.
Limitare l'accesso ai comandi in una sessione (console)
Per limitare i comandi che un utente può eseguire in una sessione Session Manager (console)
Apri la AWS Systems Manager console all'indirizzo https://console.aws.amazon.com/systems-manager/
. -
Nel riquadro di navigazione, scegli Documenti.
-
Scegliere Create command or session (Crea comando o sessione).
-
Per Name (Nome), inserire un nome descrittivo per il documento.
-
Per Document type (Tipo documento), scegliere Session document (Documento di sessione).
-
Immettere il contenuto del documento che definisce il comando che un utente può eseguire in una sessione Session Manager utilizzando JSON o YAML, come illustrato nell'esempio seguente.
-
Scegliere Create document (Crea documento).
Limitare l'accesso ai comandi in una sessione (riga di comando)
Prima di iniziare
Se non l'hai già fatto, installa e configura AWS Command Line Interface (AWS CLI) o AWS Strumenti per PowerShell. Per informazioni, consulta le pagine Installazione o aggiornamento della versione più recente di AWS CLI e Installazione di AWS Strumenti per PowerShell.
Per limitare i comandi che un utente può eseguire in una sessione Session Manager (riga di comando)
-
Creare un file JSON o YAML per il contenuto del documento che definisce il comando che un utente può eseguire in una sessione Session Manager, come illustrato nell'esempio seguente.
-
Eseguire i comandi seguenti per creare un documento SSM utilizzando il contenuto che definisce il comando che un utente può eseguire in una sessione Session Manager.
Parametri di comando interattivi e AWS CLI
È possibile fornire parametri di comando interattivi quando si utilizza la AWS CLI. A seconda del sistema operativo (OS) del computer client utilizzato per la connessione ai nodi gestiti con AWS CLI, la sintassi fornita per i comandi che contengono caratteri speciali o di escape potrebbe essere diversa. Gli esempi seguenti mostrano alcuni dei diversi modi in cui è possibile fornire i parametri di comando quando si AWS CLI utilizza e come gestire caratteri speciali o di escape.
Parameter StoreÈ possibile fare riferimento ai parametri memorizzati in nei parametri del AWS CLI comando, come illustrato nell'esempio seguente.
L'esempio seguente mostra come puoi utilizzare una sintassi abbreviata con la AWS CLI per passare i parametri.
Puoi anche fornire parametri facoltativi in JSON , come mostrato nel seguente esempio.
I parametri possono anche essere memorizzati in un file JSON e forniti AWS CLI come illustrato nell'esempio seguente. Per ulteriori informazioni sull'utilizzo di parametri AWS CLI da un file, consulta Caricamento di parametri AWS CLI da un file nella Guida per l'utente di AWS Command Line Interface .
{ "command": [ "
my command
" ] }
È inoltre possibile generare AWS CLI uno scheletro da un file di input JSON, come illustrato nell'esempio seguente. Per ulteriori informazioni sulla generazione di AWS CLI scheletri da file di input JSON, consulta Generazione di AWS CLI scheletri e parametri di input da un file di input JSON o YAML nella Guida per l'utente.AWS Command Line Interface
{ "Target": "
instance-id
", "DocumentName": "MyInteractiveCommandDocument
", "Parameters": { "command": [ "my command
" ] } }
Per eseguire l'escape dei caratteri all'interno delle virgolette, è necessario aggiungere ulteriori barre rovesciate ai caratteri di escape, come illustrato nell'esempio seguente.
Per ulteriori informazioni sulla citazione con parametri di comando nella AWS CLI, consulta Utilizzo di virgolette con stringhe nella AWS CLI nella Guida per l'utente della AWS Command Line Interface .
Esempi di policy IAM per comandi interattivi
Puoi creare policy IAM che consentono agli utenti di accedere solo ai documenti Session
definiti. Ciò limita i comandi che un utente può eseguire in una sessione Session Manager ai soli comandi definiti nei documenti SSM di tipo Session
personalizzati.
- Consentire a un utente di eseguire un comando interattivo su un singolo nodo
-
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ssm:StartSession", "Resource":[ "arn:aws:ec2:
region
:987654321098
:instance/i-02573cafcfEXAMPLE
", "arn:aws:ssm:region
:987654321098
:document/exampleAllowedSessionDocument
" ] } ] }, { "Effect": "Allow", "Action": ["ssmmessages:OpenDataChannel"], "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"] } - Consentire a un utente di eseguire un comando interattivo su tutti i nodi gestiti
-
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ssm:StartSession", "Resource":[ "arn:aws:ec2:
us-west-2
:987654321098
:instance/*", "arn:aws:ssm:us-west-2
:987654321098
:document/exampleAllowedSessionDocument
" ] } ] }, { "Effect": "Allow", "Action": ["ssmmessages:OpenDataChannel"], "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"] } - Consentire a un utente di eseguire più comandi interattivi su tutti i nodi gestiti
-
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ssm:StartSession", "Resource":[ "arn:aws:ec2:
us-west-2
:987654321098
:instance/*", "arn:aws:ssm:us-west-2
:987654321098
:document/exampleAllowedSessionDocument
", "arn:aws:ssm:us-west-2
:987654321098
:document/exampleAllowedSessionDocument2
" ] } ] }, { "Effect": "Allow", "Action": ["ssmmessages:OpenDataChannel"], "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"] }