

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 更新 Session Manager 首选项（命令行）
<a name="getting-started-configure-preferences-cli"></a>

以下过程介绍了如何使用首选的命令行工具在选择的 AWS 区域中为您的 AWS 账户更改 AWS Systems Manager Session Manager 首选项。使用 Session Manager 首选项来指定在 Amazon Simple Storage Service (Amazon S3) 存储桶或 Amazon CloudWatch Logs 日志组中记录会话数据的选项。您还可以使用 Session Manager 首选项来加密您的会话数据。

**更新 Session Manager 首选项（命令行）**

1. 在本地计算机上使用 `SessionManagerRunShell.json` 之类的名称创建一个 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"
           }
       }
   }
   ```

1. 指定要发送会话数据的位置。您可以指定 S3 存储桶名称（包含可选前缀）或 CloudWatch Logs 日志组名称。如果您要进一步加密本地客户端与托管式节点之间的数据，请提供用于加密的 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}}"
       }
     }
   }
   ```
**注意**  
如果不需要加密会话日志数据，请将 `s3EncryptionEnabled` 的 `true` 更改为 `false`。  
如果您不是将日志发送到 Amazon S3 存储桶或 CloudWatch Logs 日志组，不希望加密活动会话的数据，或不希望为账户中的会话启用“运行身份”支持，则可以删除这些选项的行。确保 `inputs` 部分中的最后一行不以逗号结尾。  
如果您添加 KMS 密钥 ID 来加密会话数据，启动会话的用户及其所连接的托管式节点都必须具有使用该密钥的权限。您可以通过 AWS Identity and Access Management (IAM) 策略向 Session Manager 提供使用 KMS 密钥的权限。有关更多信息，请参阅以下主题：  
为您账户中的用户添加 AWS KMS 权限：[Session Manager 的 IAM policy 示例](getting-started-restrict-access-quickstart.md)。
为您账户中的托管式节点添加 AWS KMS 权限：[步骤 2：验证或添加 Session Manager 的实例权限](session-manager-getting-started-instance-profile.md)。

1. 保存该文件。

1. 在创建此 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"
       }
   }
   ```