控制对维护时段的访问权限(控制台) - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

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

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

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

重要

如果您转而选择使用 Systems Manager 服务相关角色来让维护时段代表您运行任务,则不需要自定义服务角色。如果您的账户中没有 Systems Manager 服务相关角色,则可以在使用 Systems Manager 控制台创建或更新维护时段任务时创建该角色。有关更多信息,请参阅以下主题:

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

  1. 访问 https://console.aws.amazon.com/iam/,打开 IAM 控制台。

  2. 在导航窗格中,选择 Roles (角色),然后选择 Create role (创建角色)

  3. 标记以下选择:

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

    2. Choose a use case(选择使用案例)区域:Systems Manager

    3. Select your use case(选择您的使用案例)区域:Systems Manager

      注意

      您将选择选项 Systems Manager 而不是 Systems Manager - Inventory and Maintenance Windows (Systems Manager - 库存和维护时段),以便创建仅与维护时段一起使用的自定义角色。选择 Systems Manager - Inventory and Maintenance Windows (Systems Manager - 库存和维护时段) 将导致您创建服务相关角色,以便与多种 Systems Manager 功能一起使用。

  4. 选择 下一步:权限)

  5. 在搜索框中,输入 AmazonSSMMaintenanceWindowRole,选中 AmazonSSMMaintenanceWindowRole 旁边的复选框,然后选择 Next: Tags(下一步:标签)。

  6. (可选)添加一个或多个标签键值对,以组织、跟踪或控制此角色的访问,然后选择 Next: Review (下一步:审核)

  7. 对于 Role name(角色名称),输入用于将此角色标识为 Maintenance Windows 角色的名称。例如:my-maintenance-window-role

  8. (可选)更改默认角色描述,以反映此角色的用途。例如:Performs maintenance window tasks on your behalf

  9. 选择 Create role (创建角色)。系统将使您返回到 Roles (角色) 页面。

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

  11. 选择 Trust relationships (信任关系) 选项卡,然后选择 Edit trust relationship (编辑信任关系)

  12. 验证并确保 Policy Document (策略文档) 字段中显示以下策略。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  13. 选择 Update Trust Policy (更新信任策略),然后复制或记下角色名称和 Summary (摘要) 页面上的 Role ARN (角色 ARN) 值。您将在创建维护时段时指定该信息。

  14. (可选)如果您打算将维护时段配置为在运行 Systems Manager Run Command 命令任务时,使用 Amazon Simple Notification Service (Amazon SNS) 发送有关命令状态的通知,请执行以下操作:

    1. 选择 Permissions (权限) 选项卡。

    2. 选择 Add inline policy (添加内联策略),然后选择 JSON 选项卡。

    3. Policy Document (策略文档) 中,请将默认内容替换为以下内容。

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

      account-id 表示 Amazon 账户的 12 位标识符,格式为 123456789012

      my-sns-access-role 表示现有 Amazon Identity and Access Management (IAM) 角色的名称,用于发送与维护时段相关的 Amazon SNS 通知.

      有关为 Systems Manager 配置 Amazon SNS 通知的信息,包括有关创建用于发送 SNS 通知的 IAM 角色的信息,请参阅 使用 Amazon SNS 通知监控 Systems Manager 状态更改

      注意

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

    4. 选择 Review policy (审核策略)

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

  15. 选择 Create policy (创建策略)

任务 2:为已获允许注册维护时段任务的用户配置权限(控制台)

在将任务注册到维护时段时,您可以指定自定义服务角色或 Systems Manager 服务相关角色来运行实际任务操作。这是代表您运行任务时服务要代入的角色。在此之前,要注册任务本身,请将 IAM PassRole 策略分配给 IAM 用户账户或 IAM 组。这将允许 IAM 用户或 IAM 组指定运行任务时应使用的角色,作为将这些任务注册到维护时段的一部分。有关信息,请参阅 IAM 用户指南中的向用户授予将角色传递到 Amazon Service 的权限

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

为已获允许注册维护时段任务的用户配置权限(控制台)

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

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

  4. 选择 Add inline policy (添加内联策略),然后选择 JSON 选项卡。

  5. 将方框中的默认内容替换为以下内容。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/my-maintenance-window-role" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/" } ] }

    my-maintenance-window-role 表示您之前创建的自定义维护时段角色的名称。

    account-id 表示 Amazon Web Services 账户 的 ID。为资源 arn:aws:iam::account-id:role/ 添加此权限允许用户在创建维护时段任务时在控制台中查看和选择客户角色。为 arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ 添加此权限允许用户在创建维护时段任务时在控制台中选择 Systems Manager 服务相关角色。

  6. 选择 Review policy (审核策略)

  7. Review policy (审核策略) 页面上的 Name (名称) 框中,输入名称以标识此 PassRole 策略,例如 my-iam-passrole-policy,然后选择 Create policy (创建策略)

为已获允许注册维护时段任务的组配置权限(控制台)

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 User groups (用户组)

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

  4. Permissions(权限)选项卡上,请选择 Add permissions, Create inline policy(添加权限、创建内联策略),然后选择 JSON 选项卡。

  5. 将方框中的默认内容替换为以下内容。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/my-maintenance-window-role" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/" } ] }

    my-maintenance-window-role 表示您之前创建的自定义维护时段角色的名称。

    account-id 表示 Amazon Web Services 账户 的 ID。为资源 arn:aws:iam::account-id:role/ 添加此权限允许用户在创建维护时段任务时在控制台中查看和选择客户角色。为 arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ 添加此权限允许用户在创建维护时段任务时在控制台中选择 Systems Manager 服务相关角色。

  6. 选择 Review policy (审核策略)

  7. Review policy (审核策略) 页面上的 Name (名称) 框中,输入名称以标识此 PassRole 策略,例如 my-group-iam-passrole-policy,然后选择 Create policy (创建策略)

任务 3:为未获允许注册维护时段任务的用户配置权限(控制台)

根据您是拒绝向单个用户还是组授予 ssm:RegisterTaskWithMaintenanceWindow 权限,使用以下过程之一,阻止用户将任务注册到维护时段。

为未获允许注册维护时段任务的用户配置权限(控制台)

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

  3. 选择 Add inline policy (添加内联策略),然后选择 JSON 选项卡。

  4. 将方框中的默认内容替换为以下内容。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
  5. 选择 Review policy (审核策略)

  6. Review policy (审核策略) 页面上的 Name (名称) 框中,输入名称以标识此 my-deny-mw-tasks-policy 策略,例如 ,然后选择 Create policy (创建策略)

为未获允许注册维护时段任务的组配置权限(控制台)

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 User groups (用户组)

  3. 在组列表中,选择要拒绝来自它的 ssm:RegisterTaskWithMaintenanceWindow 权限的组的名称。

  4. Permissions(权限)选项卡上,请选择 Add permissions, Create inline policy(添加权限、创建内联策略)。

  5. 选择 JSON 选项卡,然后将方框中的默认内容替换为以下内容。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
  6. 选择 Review policy (审核策略)

  7. Review policy (查看策略) 页面上,对于 Name (名称),输入名称以标识此策略,例如 my-groups-deny-mw-tasks-policy,然后选择 Create policy (创建策略)