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

控制对维护时段的访问权限(控制台)

以下过程介绍如何使用 AWS Systems Manager 控制台来创建维护时段所需的角色和权限。

任务 1:(可选)为维护时段创建自定义服务角色(控制台)

使用以下过程为维护时段功能创建自定义服务角色,以便 Systems Manager 可以代表您运行任务。

重要

A custom service role is not required if you choose to use a Systems Manager service-linked role to let maintenance windows run tasks on your behalf instead. If you do not have a Systems Manager service-linked role in your account, you can create it when you create or update a maintenance window task using the Systems Manager console. For more information, see the following topics:

创建自定义服务角色(控制台)

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

  2. 在导航窗格中,选择角色,然后选择创建角色

  3. 标记以下选择:

    1. Select type of trusted entity (选择受信任实体的类型) 区域:AWS 服务

    2. 选择将使用此角色的服务 区域:EC2

    3. 选择您的使用案例区域:EC2

  4. 选择 Next: Permissions

  5. 在策略列表中,选中 AmazonSSMMaintenanceWindowRole 旁边的复选框,然后选择 Next: Review

  6. 角色名称中,输入用于将此角色标识为维护时段角色的名称,例如 my-maintenance-window-role.

  7. 可选:更改默认角色描述,以反映此角色的用途。例如:“代表您执行维护时段任务”。

  8. 选择创建角色。系统将您返回到角色页。

  9. 选择刚才创建的角色的名称。

  10. 选择 Trust relationships 选项卡,然后选择 Edit trust relationship

  11. 删除当前策略,然后将下面的策略复制并粘贴到 Policy Document 字段中:

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

    注意

    仅当打算使用 Amazon SNS 发送与通过 Run Command 运行的维护时段任务相关的通知时,才需要 "sns.amazonaws.com"。有关更多信息,请参阅步骤 13。

  12. 选择 Update Trust Policy,然后复制或记下 Summary 页面上的角色名称和 Role ARN 值。您在创建维护时段时指定该信息。

  13. 如果您打算将维护时段配置为在通过 Run Command 命令任务运行时,使用 Amazon SNS 发送有关命令状态的通知,请执行以下操作:

    1. 选择 Permissions 选项卡。

    2. 选择 Add inline policy,然后选择 JSON 选项卡。

    3. Policy Document 中,粘贴以下内容:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "sns-access-role-arn" } ] }

      sns-access-role-arn 表示用于发送与维护时段相关的 SNS 通知的现有 IAM 角色的 ARN,格式为 arn:aws:iam::account-id:role/role-name. 例如:arn:aws:iam::111222333444:role/my-sns-access-role

      注意

      在 Systems Manager 控制台中,可在 Register run command task (注册运行命令任务) 页面上的 IAM Role (IAM 角色) 列表中选择此 ARN。有关信息,请参阅 为维护时段分配任务(控制台)。在 Systems Manager API 中,在 SendCommand 请求中作为 ServiceRoleArn 的值输入此 ARN。

    4. 选择查看策略

    5. 对于 Name (名称),输入名称,将其标识为允许发送 Amazon SNS 通知的策略。

  14. 选择 Create policy

任务 2:将 IAM PassRole 策略分配到 IAM 用户或组(控制台)

When you register a task with a maintenance window, you specify either a custom service role or a Systems Manager service-linked role to run the actual task operations. This is the role that the service assumes when it runs tasks on your behalf. Before that, to register the task itself, you must assign the IAM PassRole policy to an IAM user account or an IAM group. This allows the IAM user or IAM group to specify, as part of registering those tasks with the maintenance window, the role that should be used when running tasks. For information, see Granting a User Permissions to Pass a Role to an AWS Service in the IAM User Guide.

根据您将 iam: Passrole 权限分配给单独用户还是组,使用以下过程之一,提供将任务注册到维护时段所需的最低权限。

将 IAM PassRole 策略分配给 IAM 用户账户(控制台)

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

  2. 选择用户,然后选择您要更新的用户账户的名称。

  3. 权限选项卡的策略列表中,验证是否已列出 AmazonSSMFullAccess 策略,或是否存在可向 IAM 用户授予调用 Systems Manager API 的权限的类似策略。如果尚未包括,则添加权限。有关信息,请参阅 IAM User Guide 中的添加和删除 IAM 策略(控制台)

  4. 选择添加内联策略

  5. 创建策略页面的 Visual edtior (可视编辑器) 选项卡中,在选择服务区域中选择 IAM

  6. 操作区域中,选择 PassRole

    提示

    在筛选框中键入 passr 可快速找到 PassRole

  7. 选择资源行,然后选择添加 ARN

  8. 对于 Specify ARN for role (为角色指定 ARN),粘贴您在上一过程中创建的角色 ARN,然后选择 Save changes (保存更改)

  9. 选择查看策略

  10. 查看策略页面的名称框中,输入名称以标识此 PassRole 策略,然后选择创建策略

将 IAM PassRole 策略分配给 IAM 组(控制台)

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

  2. 在导航窗格中,选择 Groups

  3. 在组列表中,选择要将 iam:PassRole 权限分配到的组的名称。

  4. 内联策略区域中,执行下列操作之一:

    • 如果尚未添加任何内联策略,请选择单击此处

    • 如果已添加了一个或多个内联策略,请选择创建组策略

  5. 选择策略生成器,然后选择选择

  6. 做出以下选择:

    1. 效果:允许

    2. AWS 服务:Identity and Access Management

    3. 操作:PassRole

    4. Amazon 资源名称 (ARN):输入您在任务 1:(可选)为维护时段创建自定义服务角色(控制台)中创建的维护时段的 ARN

  7. 选择 Add Statement,然后选择 Next Step

  8. 选择 Apply Policy