对 强制实施会话文档权限检查AmazonCLI - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对 强制实施会话文档权限检查AmazonCLI

当您为您的账户配置会话管理器时,系统会创建一个SessionSSM 文档SSM-SessionManagerRunShell。此 SSM 文档存储您的会话首选项,例如会话数据是保存在 Amazon Simple Storage Service (Amazon S3) 存储桶还是 Amazon CloudWatch Logs 日志组中,会话数据是否使用Amazon Key Management Service(Amazon KMS),以及是否为您的会话启用 “运行方式” 支持。以下是示例。

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

默认情况下,如果您账户中的用户已在其 AWS Identity and Access Management (IAM) 用户策略中被授予启动会话的权限,则该用户可以访问SSM-SessionManagerRunShellSSM 文档。这意味着当他们使用AmazonCLI 来运行start-session命令,并且它们不会在--document-name选项,系统将使用SSM-SessionManagerRunShell并启动会话。即使用户的 IAM 策略未授予访问 SSM-SessionManagerRunShell 文档的显式权限,会话也会启动。

例如,以下命令不指定 Session 文档。

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

以下示例指定默认会话管理器会话文档。

aws ssm start-session \ --document-name SSM-SessionManagerRunShell \ --target i-02573cafcfEXAMPLE

要限制对默认文档或任何会话文档的访问,您可以向用户的 IAM 策略添加一个条件元素,以验证用户是否具有对会话文档的显式访问权限。应用此条件时,用户必须指定--document-name选项start-session AmazonCLI 命令。该值是默认会话 Management 会话文档或您创建的自定义会话文档。将以下条件元素添加到ssm:StartSession操作,执行会话文档访问检查。

"Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } }

将此条件元素设置为true,必须在 IAM 策略中授予对会话文档的显式访问权限,以便用户启动会话。以下是示例。

{ "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ] }

有关在 IAM 策略中指定会话管理器会话文档的示例,请参阅会话管理器的快速入门最终用户策略

其他 应用场景

使用默认的 SSM-SessionManagerRunShell 会话文档是可以从 start-session CLI 命令中省略文档名称的唯一情况。在其他情况下,用户必须指定--document-name选项start-session AmazonCLI 命令。系统会检查用户是否具有对他们指定的会话文档的显式访问权限。

例如,如果用户指定您创建的自定义会话文档的名称,则用户的 IAM 策略必须授予他们访问该文档的权限。

如果用户运行命令以使用 SSH 启动会话,则用户的策略必须授予他们访问 AWS-StartSSHSession 会话文档的权限。

注意

要使用 SSH 启动会话,必须同时在目标实例和用户的本地计算机上完成配置步骤。想要了解有关信息,请参阅(可选)通过启用 SSH 连接