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

配置对 Systems Manager 的访问权限

完成以下任务以配置 AWS Systems Manager 的访问权限。

注意

有关 Systems Manager 访问权限的更多信息,请参阅AWS Systems Manager 的身份验证和访问控制

任务 1:配置用户对 Systems Manager 的访问权限

如果已为您的 IAM 用户账户、组或角色分配管理员权限,则您可以访问 Systems Manager。您可以跳过此任务。如果您没有管理员权限,则管理员必须将您的 IAM 用户账户、组或角色更新为包含以下权限:

  • 访问资源组:您必须向您的 IAM 用户账户、组或角色添加 resource-groups:* 权限实体。有关更多信息,请参阅 AWS 资源组用户指南中的设置权限

  • 访问见解:您必须向您的用户账户、组或角色添加以下托管策略:

    • AWSHealthFullAccess

    • AWSConfigUserAccess

    • CloudWatchReadOnlyAccess

    注意

    以下策略涵盖清单访问权限和合规性。

  • 访问操作和共享资源:您必须添加 AmazonSSMFullAccess 策略或 AmazonSSMReadOnlyAccess 策略。

有关如何更改 IAM 用户账户、组或角色的权限的信息,请参阅 IAM User Guide 中的更改 IAM 用户的权限

任务 2:为 Systems Manager 创建实例配置文件角色

默认情况下,Systems Manager 没有在您的实例上执行操作的权限。您必须通过创建 IAM 实例配置文件角色来启用访问权限,如下所述。在创建角色后,您可以将其分配给现有实例,也可以创建使用此角色的新实例,如任务 3 中所述。

注意

如果要在混合环境中为 Systems Manager 配置服务器或虚拟机 (VM),则无需创建实例配置文件角色。相反,您必须将服务器和虚拟机配置为使用 IAM 服务角色。有关更多信息,请参阅 创建 IAM 服务角色

为 Systems Manager 托管实例创建实例配置文件角色

  1. Open the IAM console at https://console.amazonaws.cn/iam/.

  2. 在导航窗格中,选择 Roles,然后选择 Create Role

  3. Select type of trusted entity 页面上的 AWS Service 下,选择 EC2

  4. Select your use case 部分中,依次选择 EC2 Role for Simple Systems ManagerNext: Permissions

  5. Attached permissions policy 页面上,确认是否已列出 AmazonEC2RoleforSSM,然后选择 Next: Review

  6. Review 页面上,在 Role name 框中键入名称,然后键入描述。

    注意

    记下角色名称。在创建希望使用 Systems Manager 进行管理的新实例时,将选择该角色。

  7. 选择 Create role。系统将让您返回到 Roles 页。

注意

  • 如果更改了 IAM 实例配置文件角色,则您必须重启 SSM 代理,或重启实例。如果不重启,SSM 代理将无法处理请求。

  • 该过程根据预先存在的 IAM 策略或托管策略创建新角色。如果您选择根据自定义 策略创建角色,必须为角色 (创建角色之后) 添加 ssm.amazonaws.com 作为可信实体。在查看角色时,在 Trust Relationship 选项卡上添加可信实体。例如,必须在策略中添加以下 JSON 数据块作为可信实体。有关如何更新角色以包含可信实体的信息,请参阅修改角色

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":[ "ec2.amazonaws.com", "ssm.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }

有关如何将刚创建的角色附加到新实例或现有实例的信息,请参阅下一个任务。

任务 3:创建使用 Systems Manager 角色的 Amazon EC2 实例

此过程介绍如何启动 Amazon EC2 实例,该实例使用刚刚创建的角色。您还可以将角色附加到现有实例。有关更多信息,请参阅 Amazon EC2 用户指南 中的将 IAM 角色附加到实例

创建使用 Systems Manager 实例角色的实例

  1. Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/.

  2. 选择支持的区域

  3. 选择 Launch Instance 并选择实例。

  4. 选择实例类型,然后选择 Next: Configure Instance Details

  5. IAM role 下拉列表中,选择您先前创建的 EC2 实例角色。

  6. 完成向导。

如果您创建要使用 Systems Manager 配置的其他实例,则必须为每个实例指定实例配置文件角色。

可选的访问权限配置

通过执行本部分中的任务 1,您可以通过选择预先存在或托管 的 IAM 用户策略来为用户授予访问权限。如果需要限制用户对 Systems Manager 和 SSM 文档的访问权限,您可以如本部分所述创建您自己的限制性用户策略。有关如何创建自定义策略的更多信息,请参阅创建新策略

以下示例 IAM 策略允许用户执行以下操作。

  • 列出 Systems Manager 文档和文档版本。

  • 查看有关文档的详细信息。

  • 使用策略中指定的文档发送命令。

    文档名称由此条目确定:

    arn:aws-cn:ssm:us-east-1:*:document/name_of_restrictive_document
  • 发送命令到三个实例。

    实例由第二个 Resource 部分中的以下条目确定:

    "arn:aws-cn:ec2:us-east-1:*:instance/i-1234567890abcdef0", "arn:aws-cn:ec2:us-east-1:*:instance/i-0598c7d356eba48d7", "arn:aws-cn:ec2:us-east-1:*:instance/i-345678abcdef12345",
  • 发送命令后查看有关命令的详细信息。

  • 启动和停止 Automation 执行。

  • 获取有关 Automation 执行的信息。

如果您要授予用户权限以使用本文档向该用户目前有权访问 (取决于其 AWS 用户账户) 的任何实例发送命令,您可以在 Resource 部分指定以下条目并删除其他实例条目。

"arn:aws-cn:ec2:us-east-1:*:instance/*"

请注意,Resource 部分包含一个 Amazon S3 ARN 条目:

arn:aws-cn:s3:::bucket_name

您还可为此条目设置格式,如下所示:

arn:aws-cn:s3:::bucket_name/* -or- arn:aws-cn:s3:::bucket_name/key_prefix_name
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "ssm:ListDocuments", "ssm:ListDocumentsVersions", "ssm:DescribeDocument", "ssm:GetDocument", "ssm:DescribeInstanceInformation", "ssm:DescribeDocumentParameters", "ssm:DescribeInstanceProperties" ], "Effect":"Allow", "Resource":"*" }, { "Action":"ssm:SendCommand", "Effect":"Allow", "Resource": [ "arn:aws-cn:ec2:us-east-1:*:instance/i-1234567890abcdef0", "arn:aws-cn:ec2:us-east-1:*:instance/i-0598c7d356eba48d7", "arn:aws-cn:ec2:us-east-1:*:instance/i-345678abcdef12345", "arn:aws-cn:s3:::bucket_name", "arn:aws-cn:ssm:us-east-1:*:document/name_of_restrictive_document" ] }, { "Action":[ "ssm:CancelCommand", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Effect":"Allow", "Resource":"*" }, { "Action":"ec2:DescribeInstanceStatus", "Effect":"Allow", "Resource":"*" }, { "Action":"ssm:StartAutomationExecution", "Effect":"Allow", "Resource":[ "arn:aws:ssm:::automation-definition/" ] }, { "Action":"ssm:DescribeAutomationExecutions ", "Effect":"Allow", "Resource":[ "*" ] }, { "Action":[ "ssm:StopAutomationExecution", "ssm:GetAutomationExecution" ], "Effect":"Allow", "Resource":[ "arn:aws:ssm:::automation-execution/" ] } ] }