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 documenti SSM che definiscono le 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 di File di log Amazon CloudWatch. Puoi creare documenti che definiscono le preferenze generali per tutte le sessioni relative a un Account AWS e a una Regione AWS oppure 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 le preferenze delle sessioni mediante AWS CloudFormation, consulta Creare un documento Systems Manager per preferenze Session Manager nella Guida per l'utente di AWS CloudFormation.

Nota

Questa procedura descrive come creare documenti per impostare le preferenze di Session Manager a livello di Account AWS. 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. Sul proprio computer locale creare un file JSON denominato ad esempio SessionManagerRunShell.json, quindi incollarvi i seguenti contenuti:

    { "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. È possibile specificare un nome bucket S3 (con un prefisso facoltativo) o un nome del gruppo di registro CloudWatch Logs. Per crittografare ulteriormente i dati tra client locale e i nodi gestiti, fornire la chiave KMS 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": "DOC-EXAMPLE-BUCKET", "s3KeyPrefix": "MyBucketPrefix", "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 si inviano log a un bucket Amazon S3 o a un gruppo di registro CloudWatch Logs, non si desidera crittografare dati della sessione attiva o non si desidera attivare il supporto Run As per le sessioni nell'account, è possibile eliminare le righe per queste opzioni. Assicurarsi che l'ultima riga nella sezione inputs non termini con una virgola.

    Se si aggiunge un ID della chiave KMS per crittografare i dati della sessione, gli utenti che avviano le sessioni e i nodi gestiti a cui si collegano devono entrambi disporre dell'autorizzazione per utilizzare la chiave. Fornire l'autorizzazione a utilizzare la chiave KMS con il Session Manager tramite le policy IAM. Per informazioni, consultare gli argomenti seguenti:

  3. Salva il file.

  4. Nella directory in cui è stato creato il file JSON, eseguire 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"
        }
    }