Creare un documento di preferenze di Session Manager (riga di comando) - 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à.

Creare un documento di preferenze di Session Manager (riga di comando)

Utilizza la seguente procedura per creare SSM documenti che definiscono le tue preferenze per le sessioni. AWS Systems Manager Session Manager Puoi utilizzare il documento per configurare le opzioni della sessione, tra cui la crittografia dei dati, la durata della sessione e la registrazione. Ad esempio, puoi specificare se archiviare i dati di log della sessione in un bucket Amazon Simple Storage Service (Amazon S3) o in un gruppo di log Amazon CloudWatch Logs. Puoi creare documenti che definiscono le preferenze generali per tutte le sessioni per un Account AWS and Regione AWS o che definiscono le preferenze per le singole sessioni.

Nota

Puoi inoltre configurare le preferenze generali di sessione utilizzando la console di Session Manager.

I documenti utilizzati per impostare le preferenze di Session Manager devono avere un sessionType di Standard_Stream. Per ulteriori informazioni sui documenti di sessione, consulta Schema documento di sessione.

Per informazioni sull'utilizzo della riga di comando per aggiornare le preferenze Session Manager esistenti, consulta Aggiornamento delle preferenze Session Manager (riga di comando).

Per un esempio di come creare preferenze di sessione utilizzando AWS CloudFormation, vedere Create a Systems Manager document for Session Manager preferences nella AWS CloudFormation User Guide.

Nota

Questa procedura descrive come creare documenti per impostare Session Manager le preferenze a Account AWS livello. Per creare documenti che verranno utilizzati per impostare le preferenze a livello di sessione, specifica un valore diverso da SSM-SessionManagerRunShell per il nome file relativo agli input dei comandi.

Per utilizzare il documento per impostare le preferenze per le sessioni avviate dalla AWS Command Line Interface (AWS CLI), fornisci il nome del documento come valore del parametro --document-name. Per impostare le preferenze per le sessioni avviate dalla console di Session Manager, puoi digitare o selezionare il nome del documento da un elenco.

Per creare preferenze Session Manager (riga di comando)
  1. Crea un JSON file sul tuo computer locale con un nome comeSessionManagerRunShell.json, quindi incolla il seguente contenuto al suo interno.

    { "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" } } }

    Puoi anche passare i valori alle preferenze delle sessioni utilizzando i parametri invece di codificare i valori come illustrato nell'esempio seguente.

    { "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":"" } }
  2. Specificare dove inviare i dati delle sessioni. Puoi specificare il nome di un bucket S3 (con un prefisso opzionale) o il nome del gruppo di CloudWatch log Logs. Se desideri crittografare ulteriormente i dati tra client locale e nodi gestiti, fornisci la KMS chiave da utilizzare per la crittografia. Di seguito è riportato un esempio.

    { "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 non si desidera crittografare i dati di registro della sessione, modificare true in false per s3EncryptionEnabled.

    Se non invii log a un bucket Amazon S3 o a CloudWatch un gruppo di log Logs, non desideri crittografare i dati delle sessioni attive o non desideri attivare il supporto RunAs per le sessioni del tuo account, puoi eliminare le righe relative a tali opzioni. Assicurarsi che l'ultima riga nella sezione inputs non termini con una virgola.

    Se aggiungi un ID KMS chiave per crittografare i dati della sessione, sia gli utenti che avviano le sessioni sia i nodi gestiti a cui si connettono devono disporre dell'autorizzazione per utilizzare la chiave. L'autorizzazione all'uso della KMS chiave viene fornita Session Manager tramite IAM policy. Per informazioni, consultare gli argomenti seguenti:

  3. Salvare il file.

  4. Nella directory in cui hai creato il JSON file, esegui il comando seguente.

    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 il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    {
        "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"
        }
    }