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

为 AWS Systems Manager 使用基于身份的策略 (IAM 策略)

下面基于身份的策略示例说明账户管理员如何将权限策略附加到 IAM 身份 (即用户、组和角色),从而授予对 Systems Manager 资源执行操作的权限。

重要

我们建议您首先阅读以下介绍性主题,这些主题讲解了管理 Systems Manager 资源访问的基本概念和选项。有关更多信息,请参阅 管理您的 AWS Systems Manager 资源的访问权限概述

以下是一个权限策略示例,允许用户删除 us-west-2 区域中名称以 MyDocument- 开头的文档。

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "ssm:DeleteDocument" ], "Resource" : [ "arn:aws:ssm:us-west-2:123456789012:document:MyDocument-*" ] } ] }co

使用 AWS Systems Manager 控制台所需的权限

要使用 AWS Systems Manager 控制台,用户必须拥有一组最低的权限,这样该用户才能在自己的 AWS 账户中描述其他 AWS 资源。要充分使用 Systems Manager 控制台中的 Systems Manager,您必须拥有来自以下服务的权限:

  • AWS Systems Manager

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • AWS Identity and Access Management (IAM)

可以使用以下策略声明授予所需权限:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:*", "ec2:describeInstances", "iam:PassRole", "iam:ListRoles" ], "Resource": "*" } ] }

如果创建比必需的最低权限更为严格的 IAM 策略,对于附加了该 IAM 策略的用户,控制台将无法按预期正常运行。为确保这些用户能够使用 Systems Manager 控制台,同时向用户附加 AmazonSSMReadOnlyAccess 托管策略,请参阅适用于 AWS Systems Manager 的 AWS 托管(预定义)策略

对于只需要调用 AWS CLI 或 Systems Manager API 的用户,您无需为其提供最低控制台权限。

适用于 AWS Systems Manager 的 AWS 托管(预定义)策略

AWS 通过提供由 AWS 创建和管理的独立 IAM 策略来解决许多常用案例。这些 AWS 托管策略 授予常用案例的必要权限,这样您不必调查需要哪些权限。有关更多信息,请参阅 IAM User Guide 中的 AWS 托管策略

以下 AWS 托管策略 (可附加到账户中的用户) 特定于 AWS Systems Manager:

  • AmazonSSMFullAccess - 授予 Systems Manager API 和文档完全访问权限的用户信任策略。

  • AmazonSSMAutomationRole - 为 AWS Systems Manager 自动化服务提供权限以执行在自动化文档中定义的活动的服务角色。将此策略分配给管理员和可信高级用户。

     

  • AmazonSSMReadOnlyAccess - 授予 Systems Manager 只读 API 操作 (例如 Get*List*) 访问权限的用户信任策略。

     

  • AmazonSSMMaintenanceWindowRole - Systems Manager Maintenance Window 的服务角色。

     

  • AmazonEC2RoleforSSM - 使实例能够与 Systems Manager API 进行通信的实例信任策略。

此外,您还可以创建自己的自定义 IAM 策略,以授予 Systems Manager 操作和资源的相关权限。您可以将这些自定义策略挂载到需要这些权限的 IAM 用户或组。

注意

在混合环境中,您需要一个额外的 IAM 角色,以允许服务器和虚拟机与 Systems Manager 服务进行通信。这就是 Systems Manager 的 IAM 服务角色。此角色向 AWS Security Token Service (AWS STS) AssumeRole 授予对 Systems Manager 服务的信任。AssumeRole 操作返回一组临时安全凭证 (由访问密钥 ID、秘密访问密钥和安全令牌组成)。您使用这些临时凭证访问通常可能无法访问的 AWS 资源。有关更多信息,请参阅 AWS Security Token Service API Reference 中的 为混合环境创建 IAM 服务角色AssumeRole

客户托管策略示例

您可以创建在自己的 AWS 账户中管理的独立策略。我们将它们称作客户托管策略。您可以将这些策略附加到 AWS 账户中的多个委托人实体。将策略附加到委托人实体时,便向实体授予了策略中定义的权限。有关更多信息,请参阅 IAM User Guide 中的客户托管策略

以下用户策略示例授予执行各种 AWS Systems Manager 操作的权限。可以使用它们限制 IAM 用户和角色的 Systems Manager 访问。在 Systems Manager API、AWS 软件开发工具包或 AWS CLI 中执行操作时,这些策略将会发挥作用。对于使用控制台的用户,需要授予特定于控制台的其他权限。有关更多信息,请参阅 使用 AWS Systems Manager 控制台所需的权限

注意

所有示例都使用 US West (Oregon) Region (us-west-2) 和虚构的账户 ID。

示例

示例 1:允许用户在单个区域中执行 Systems Manager 操作

以下示例授予仅在 us-west-2 区域执行 AWS Systems Manager 操作的权限:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "arn:aws:ssm:*" ], "Resource" : [ "arn:aws::aws:ssm:us-west-2:111222333444:*" ] } ] }

示例 2:允许用户列出某个区域的文档

以下示例授予列出 us-west-2 区域中所有以 Update 开头的文档名称的权限:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "ssm:ListDocuments" ], "Resource" : [ "arn:aws:ssm:us-west-2:111222333444:document/Update*" ] } ] }