会话管理器的快速入门默认 IAM 策略 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

会话管理器的快速入门默认 IAM 策略

使用本节中的示例可帮助您创建Amazon Identity and Access Management(IAM) 策略,提供会话管理器访问所需的常用权限。

注意

您还可以使用Amazon KMS key策略来控制哪些 IAM 用户、IAM 角色和 Amazon Web Services 账户 被授予对您的 KMS 密钥的访问权限。想要了解有关信息,请参阅管理对您的访问概述Amazon KMS资源使用 中的密钥策略Amazon KMS中的Amazon Key Management Service开发人员指南

会话管理器的快速入门最终用户策略

使用以下示例可为会话管理器创建 IAM 最终用户策略。

您可以创建一个策略,允许用户仅从 Session Manager 控制台和启动会话。Amazon Command Line Interface(Amazon CLI)、仅从 Amazon Elastic Compute Cloud (Amazon EC2) 控制台或全部三种控制台进行。

这些策略为最终用户提供启动特定实例会话以及仅结束自己的会话的功能。有关可能需要对策略进行的自定义的示例,请参阅 会话管理器的其他示例 IAM 策略

注意

在以下所有示例策略中,将 instance-id 替换为要授予其访问权限的实例的 ID,格式为 i-02573cafcfEXAMPLE。Replace区域account-id对于,将您的 Amazon Web Services 区域 和 Amazon Web Services 账户 ID,例如us-east-2111122223333

从以下选项卡中进行选择,查看要提供的会话访问范围的示例策略。

Session Manager and CLI

使用该示例策略可向用户提供仅从会话管理器控制台和恢复会话的功能。Amazon CLI。该策略不提供从 Amazon EC2 控制台启动会话所需的所有权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:987654321098:instance/i-02573cafcfEXAMPLE", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" } ] }
Amazon EC2

使用该示例策略可向用户提供仅从 Amazon EC2 控制台启动和恢复会话的功能。该策略不提供从 Session Manager 控制台和启动会话所需的所有权限。Amazon CLI。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:region:987654321098:instance/i-02573cafcfEXAMPLE" ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }
Session Manager, CLI, and Amazon EC2

使用该示例策略可向用户提供从会话管理器控制台启动和恢复会话的功能。Amazon CLI和 Amazon EC2 控制台。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:region:987654321098:instance/i-02573cafcfEXAMPLE", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" } ] }

1 SSM-SessionManagerRunShell是会话管理器创建的用于存储会话配置首选项的 SSM 文档的默认名称。您可以创建自定义会话文档,并在此策略中指定它。您还可在其他实例上指定Amazon提供的文档AWS-StartSSHSession对于使用 SSH 启动会话的用户。有关使用 SSH 支持会话所需的配置步骤的信息,请参阅(可选)通过会话管理器允许 SSH 连接

2如果指定条件元素,ssm:SessionDocumentAccessCheck, 作为true,系统会检查用户是否具有对定义的会话文档(在本例中为)的显式访问权限。SSM-SessionManagerRunShell,然后再建立会话。有关更多信息,请参阅 对 Amazon CLI 强制实施会话文档权限检查

3 kms:GenerateDataKey 权限可让您创建用于加密会话数据的数据加密密钥。如果您将使用Amazon Key Management Service(Amazon KMS) 对会话数据进行加密,请将密钥名称与要使用 KMS 密钥的 Amazon 资源名称 (ARN),格式为arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE。如果您不为会话数据使用 KMS 密钥加密,请从策略中删除以下内容。

, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" }

有关使用的信息Amazon KMS有关加密会话数据的信息,请参阅打开会话数据的 KMS 密钥加密(控制台)

4的权限SendCommand需要用户尝试从 Amazon EC2 控制台启动会话,但必须发送命令以首先更新 SSM 代理。

会话管理器的快速入门管理员策略

使用以下示例可为会话管理器创建 IAM 管理员策略。

这些策略为管理员提供启动标记为Key=Finance,Value=WebServers、创建、更新和删除首选项的权限,以及仅结束自己的会话的权限。有关可能需要对策略进行的自定义的示例,请参阅 会话管理器的其他示例 IAM 策略

您可以创建一个策略,允许管理员仅从 Session Manager 控制台和执行这些任务。Amazon CLI、仅从 Amazon EC2 控制台或全部三项控制台提供。

注意

Replace区域account-id对于,将您的 Amazon Web Services 区域 和 Amazon Web Services 账户 ID,例如us-east-2111122223333

从以下选项卡中进行选择,查看要支持的访问方案的示例策略。

Session Manager and CLI

使用该示例策略可向管理员提供仅从 Session Manager 控制台和Amazon CLI。该策略不提供从 Amazon EC2 控制台执行会话相关任务所需的所有权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:us-west-2:987654321098:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/Finance": [ "WebServers" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }
Amazon EC2

使用该示例策略可向管理员提供仅从 Amazon EC2 控制台执行会话相关任务的功能。该策略不提供从会话管理器控制台和执行会话相关任务所需的所有权限。Amazon CLI。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:us-west-2:987654321098:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }
Session Manager, CLI, and Amazon EC2

使用该示例策略可向管理员提供从会话管理器控制台、Amazon CLI和 Amazon EC2 控制台。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:us-west-2:987654321098:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }

1的权限SendCommand需要用户尝试从 Amazon EC2 控制台启动会话,但必须发送命令以首先更新 SSM 代理。