Erstellen eines Dokuments mit Session Manager-Einstellungen (Befehlszeile) - AWS Systems Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen eines Dokuments mit Session Manager-Einstellungen (Befehlszeile)

Gehen Sie wie folgt vor, um SSM-Dokumente zu erstellen, die Ihre Einstellungen für AWS Systems Manager Session Manager Sitzungen definieren. Sie können das Dokument verwenden, um Sitzungsoptionen wie Datenverschlüsselung, Sitzungsdauer und Protokollierung zu konfigurieren. Sie können zum Beispiel angeben, ob Sitzungsprotokolldaten in einem Bucket von Amazon Simple Storage Service (Amazon S3) oder in einer Protokollgruppe von Amazon CloudWatch Logs gespeichert werden sollen. Sie können Dokumente erstellen, die allgemeine Einstellungen für alle Sitzungen für AWS-Konto und AWS-Region festlegen oder die Einstellungen für einzelne Sitzungen definieren.

Anmerkung

Sie können die allgemeinen Sitzungseinstellungen auch über die Session-Manager-Konsole konfigurieren.

Dokumente, die zum Einstellen von Session-Manager-Einstellungen verwendet werden, müssen einen sessionType von Standard_Stream haben. Weitere Informationen zu Sitzungs-Dokumenten finden Sie unter Schema des Sitzungsdokuments.

Weitere Informationen zur Verwendung der Befehlszeile zum Aktualisieren vorhandener Session Manager-Einstellungen finden Sie unter Aktualisieren von Session Manager-Einstellungen (Befehlszeile).

Ein Beispiel für die Erstellung von Sitzungseinstellungen mit AWS CloudFormation finden Sie unter Erstellen eines Systems Manager-Dokuments für Session Manager-Einstellungen im AWS CloudFormation-Benutzerhandbuch.

Anmerkung

Diese Vorgehensweise beschreibt, wie Sie Dokumente für die Festlegung von Session Manager-Einstellungen auf der AWS-Konto-Ebene erstellen. Um Dokumente zu erstellen, die für die Festlegung von Einstellungen auf Sitzungsebene verwendet werden, geben Sie einen anderen Wert als SSM-SessionManagerRunShell für die dateibezogenen Befehlseingaben an.

Wenn Sie Ihr Dokument verwenden möchten, um Einstellungen für Sitzungen festzulegen, die mit der AWS Command Line Interface (AWS CLI) gestartet wurden, geben Sie den Dokumentnamen als --document-name-Parameterwert an. Um Einstellungen für Sitzungen vorzunehmen, die von der Session-Manager-Konsole aus gestartet werden, können Sie den Namen Ihres Dokuments eingeben oder aus einer Liste auswählen.

So erstellen Sie Session Manager-Einstellungen (Befehlszeile)
  1. Erstellen Sie eine JSON-Datei auf Ihrem lokalen Computer und geben Sie Ihr beispielsweise einen Namen wie SessionManagerRunShell.json. Fügen Sie der Datei anschließend den folgenden Inhalt ein.

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

    Sie können Werte auch mithilfe von Parametern an Ihre Sitzungseinstellungen übergeben, anstatt die Werte fest zu kodieren, wie im folgenden Beispiel gezeigt.

    { "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. Legen Sie fest, wohin Sie die Sitzungsdaten senden möchten. Sie können einen S3-Bucketnamen (mit einem optionalen Präfix) oder eine CloudWatch Logs-Protokollgruppe angeben. Wenn Sie die Daten zwischen dem lokalen Client und den verwalteten Knoten weiter verschlüsseln möchten, geben Sie den KMS-Schlüssel ein, der für die Verschlüsselung verwendet werden soll. Im Folgenden wird ein Beispiel gezeigt.

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

    Wenn Sie die Protokolldaten der Sitzung nicht verschlüsseln möchten, ändern Sie für s3EncryptionEnabled true in false.

    Wenn Sie die Protokolle weder an einen Amazon S3-Bucket noch eine CloudWatch Logs-Protokollgruppe senden bzw. die aktiven Sitzungsdaten nicht verschlüsseln möchten oder die Run As-Unterstützung für die Sitzungen an Ihrem Konto nicht aktivieren möchten, können Sie die Zeilen für diese Optionen löschen. Überprüfen Sie, dass die letzte Zeile im Abschnitt inputs nicht mit einem Komma endet.

    Wenn Sie eine KMS-Schlüssel-ID zum Verschlüsseln Ihrer Sitzungsdaten hinzufügen, müssen sowohl die Benutzer, die die Sitzungen starten, als auch die verwalteten Knoten, mit denen sie sich verbinden, über die Berechtigung zur Verwendung des Schlüssels verfügen. Sie erteilen die Berechtigung zur Verwendung des KMS-Schlüssels mit Session Manager anhand von IAM-Richtlinien. Weitere Informationen finden Sie unter den folgenden Themen:

  3. Speichern Sie die Datei.

  4. Führen Sie in dem Verzeichnis, in dem Sie die JSON-Datei erstellt haben, den folgenden Befehl aus.

    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

    Bei erfolgreicher Ausführung gibt der Befehl eine Ausgabe zurück, die in etwa wie folgt aussieht:

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