AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

更新 Session Manager 首选项 (AWS CLI)

以下过程介绍了如何使用 AWS CLI 和 update-document 命令在选择的 AWS 区域对您的账户的 Session Manager 首选项进行更改。使用 Session Manager 首选项来为 Amazon S3 存储桶或 Amazon CloudWatch Logs 日志组中的日志记录会话数据指定选项。您还可以使用 Session Manager 首选项来加密您的会话数据。

更新 Session Manager 首选项 (AWS CLI)

  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, "kmsKeyId": "", "runAsEnabled": "", "runAsDefaultUser": "" } }
  2. 指定要发送会话数据的位置。您可以指定 S3 存储桶名称(包含可选前缀)或 CloudWatch Logs 日志组名称。如果您要进一步加密本地客户端与 EC2 实例之间的数据,请提供用于加密的 AWS KMS 密钥。例如:

    { "schemaVersion": "1.0", "description": "Document to hold regional settings for Session Manager", "sessionType": "Standard_Stream", "inputs": { "s3BucketName": "MyBucketName", "s3KeyPrefix": "MyBucketPrefix", "s3EncryptionEnabled": true, "cloudWatchLogGroupName": "MyLogGroupName", "cloudWatchEncryptionEnabled": true, "kmsKeyId": "MyKMSKeyID", "runAsEnabled": true, "runAsDefaultUser": "MyDefaultRunAsUser" } }

    注意

    如果不需要加密会话日志数据,请将 s3EncryptionEnabled 的“true”更改为“false”。

    如果您不是将日志发送到 S3 存储桶或 CloudWatch Logs 日志组,不希望加密活动会话的数据,或不希望为账户中的会话启用“运行身份”支持,则可以删除这些选项的行。确保“inputs”部分中的最后一行不以逗号结尾。

    如果您添加 AWS KMS 密钥 ID 来加密会话数据,启动会话的用户及其所连接的实例都必须具有使用密钥的权限。您通过 IAM 策略提供使用 Session Manager 的 CMK 的权限。有关信息,请参阅以下主题:

  3. 保存文件。

  4. 在创建此 JSON 文件的目录中,运行以下命令:

    aws ssm update-document --name "SSM-SessionManagerRunShell" --content "file://SessionManagerRunShell.json" --document-version "\$LATEST"

    重要

    务必在文件名前包含 file://。此命令中需要该项。

    如果成功,命令返回类似以下内容的输出:

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