更新 Session Manager 偏好設定 (命令列) - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

更新 Session Manager 偏好設定 (命令列)

下列程序說明如何使用偏好的指令行工具來變更所選項目 AWS 帳戶 中的 AWS Systems Manager Session Manager偏好設定 AWS 區域。使用Session Manager偏好設定指定在 Amazon 簡單儲存服務 (Amazon S3) 儲存貯體或 Amazon CloudWatch 日誌日誌群組中記錄工作階段資料的選項。您也可以使用 Session Manager 偏好設定來加密工作階段資料。

更新 Session Manager 偏好設定 (命令列)
  1. 在本機電腦上使用名稱 (例如) 建立JSON檔案SessionManagerRunShell.json,然後將下列內容貼到其中。

    { "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": true, "runAsDefaultUser": "", "idleSessionTimeout": "", "maxSessionDuration": "", "shellProfile": { "windows": "date", "linux": "pwd;ls" } } }
  2. 指定您要傳送工作階段資料的位置。您可以指定 S3 儲存貯體名稱 (使用選用前置詞) 或 CloudWatch 日誌記錄群組名稱。如果您想要進一步加密本機用戶端和受管節點之間的資料,請提供 AWS KMS key 用於加密的資料。以下是範例。

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

    如果您不想加密工作階段日誌資料,請將 s3EncryptionEnabledtrue 設為 false

    如果您不將日誌傳送到 Amazon S3 儲存貯體或 CloudWatch 日誌日誌群組,不想加密作用中工作階段資料,或者不想為帳戶中的工作階段開啟執行身分支援,您可以刪除這些選項的行。請確定在 inputs 部分最後一行不是用逗號結尾。

    如果您新增KMS金鑰 ID 來加密工作階段資料,則啟動工作階段的使用者和他們連線的受管理節點都必須具有使用金鑰的權限。您提供了Session Manager通過 AWS Identity and Access Management (IAM)策略使用KMS密鑰的權限。如需詳細資訊,請參閱以下主題:

  3. 儲存檔案。

  4. 在您建立JSON檔案的目錄中,執行下列命令。

    Linux & macOS
    aws ssm update-document \ --name "SSM-SessionManagerRunShell" \ --content "file://SessionManagerRunShell.json" \ --document-version "\$LATEST"
    Windows
    aws ssm update-document ^ --name "SSM-SessionManagerRunShell" ^ --content "file://SessionManagerRunShell.json" ^ --document-version "$LATEST"
    PowerShell
    Update-SSMDocument ` -Name "SSM-SessionManagerRunShell" ` -Content (Get-Content -Raw SessionManagerRunShell.json) ` -DocumentVersion '$LATEST'

    如果成功,此命令傳回的輸出會類似如下。

    {
        "DocumentDescription": {
            "Status": "Updating",
            "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
            "Name": "SSM-SessionManagerRunShell",
            "Tags": [],
            "DocumentType": "Session",
            "PlatformTypes": [
                "Windows",
                "Linux"
            ],
            "DocumentVersion": "2",
            "HashType": "Sha256",
            "CreatedDate": 1537206341.565,
            "Owner": "111122223333",
            "SchemaVersion": "1.0",
            "DefaultVersion": "1",
            "DocumentFormat": "JSON",
            "LatestVersion": "2"
        }
    }