通过在 IAM policy 中指定默认会话文档来启动默认 Shell 会话 - AWS Systems Manager

通过在 IAM policy 中指定默认会话文档来启动默认 Shell 会话

当您在 Systems Manager 控制台中为 AWS 账户 配置 Session Manager 或更改会话首选项时,系统会创建一个名为 SSM-SessionManagerRunShell 的 SSM 会话文档。这是默认的会话文档。Session Manager 使用此文档存储您的会话首选项,其中包括以下信息:

  • 您要保存会话数据的位置,例如 Amazon Simple Storage Service(Amazon S3)存储桶或 Amazon CloudWatch Logs 日志组。

  • 用于加密会话数据的 AWS Key Management Service(AWS KMS)密钥 ID。

  • 会话是否允许“运行身份”支持。

以下是 SSM-SessionManagerRunShell 会话首选项文档中包含的信息的示例。

{ "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": "MyCWLogGroup", "cloudWatchEncryptionEnabled": false, "kmsKeyId": "1a2b3c4d", "runAsEnabled": true, "runAsDefaultUser": "RunAsUser" } }

默认情况下,当用户 AWS Management Console 从启动会话时,Session Manager 使用默认会话文档。这适用于 Systems Manager 控制台中的 Fleet Manager 或 Session Manager,或 Amazon EC2 控制台中的 EC2 Connect。当用户使用如下示例所示的 AWS CLI 命令启动会话时,Session Manager 也会使用默认会话文档:

aws ssm start-session \ --target i-02573cafcfEXAMPLE

要开始默认 Shell 会话,您必需在 IAM 策略中指定默认会话文档,如以下示例所示。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSSMSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-02573cafcfEXAMPLE", "arn:aws:ssm:us-west-2:123456789012:document/SSM-SessionManagerRunShell" ] } ] }