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

(快速入门)Session Manager 默认 IAM 策略

使用以下示例可帮助您创建 IAM 策略来提供进行 Session Manager 访问所需的常用权限。

注意

您还可以使用 AWS KMS 密钥策略来控制哪些 IAM 用户、IAM 角色和 AWS 账户被授予访问您的 CMK 的权限。有关信息,请参阅 AWS Key Management Service Developer Guide 中的管理对您的 AWS KMS 资源的访问概述使用 AWS KMS 中的密钥策略

(快速入门)Session Manager 最终用户策略

使用以下示例可创建用于 Session Manager 的 IAM 最终用户策略。它为最终用户提供启动特定实例会话以及仅终止自己的会话的功能。有关可能需要对策略进行的自定义的示例,请参阅 Session Manager 的其他示例 IAM 策略

instance-id 替换为要授予其访问权限的实例的 ID,格式为 i-02573cafcfEXAMPLE。将 regionaccount-id 替换为您的 AWS 区域和 AWS 账户 ID。例如,us-east-2111122223333

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

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

2 如果将条件元素 ssm:SessionDocumentAccessCheck 指定为 true,则系统会在允许会话启动之前检查是否已授予用户对配置文档 SSM-SessionManagerRunShell 的显式访问权限。有关更多信息,请参阅 针对默认 CLI 场景强制文档权限检查

关于“kms:GenerateDataKey”

kms:GenerateDataKey 权限可让您创建用于加密会话数据的数据加密密钥。如果您将为您的会话数据使用 AWS Key Management Service (AWS KMS) 加密,请将 key-name 替换为您要使用的客户主密钥 (CMK) 的 ARN,使用格式 arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE

如果您不为会话数据使用 AWS KMS 密钥加密,请从策略中删除以下内容:

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

有关用于加密会话数据的 AWS KMS 和 CMK 的信息,请参阅 启用会话数据 AWS KMS 密钥加密(控制台)

(快速入门)Session Manager 管理员策略

使用以下示例可创建用于 Session Manager 的 IAM 管理员策略。它为管理员提供启动标记为 Key=Finance,Value=WebServers 的实例的会话的功能,创建、更新和删除首选项的权限,以及仅终止自己的会话的权限。有关可能需要对策略进行的自定义的示例,请参阅 Session Manager 的其他示例 IAM 策略

注意

使用应用于实例的标签更新标签/值对 Key=Finance,Value=WebServers。将 regionaccount-id 替换为您的 AWS 区域和 AWS 账户 ID。例如,us-east-2111122223333

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:*: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" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }