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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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

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

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

重要

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

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

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

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

  3. 标记以下选择:

    1. 选择受信任实体的类型A區域:Amazon服务

    2. 选择将使用此角色的服务A區域:Systems Manager

    3. 选择您的使用案例A區域:Systems Manager.

      注意

      您正在选择选项Systems Manager而不是Systems Manager-库存和Maintenance Windows,以便创建仅与维护窗口一起使用的自定义角色。选择Systems Manager-库存和Maintenance Windows将导致您创建服务相关角色,用于多个 Systems Manager 功能。

  4. 选择 Next:。Permissions (下一步:权限)

  5. 在策略列表中,选中旁边的框。AmazonSSMMaintenanceWindowRole,然后选择后续:标签

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

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

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

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

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

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

  12. 验证以下策略是否显示在策略文档字段中返回的子位置类型。

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

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

    1. 选择 Permissions 选项卡。

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

    3. In策略文档,请将默认内容替换为以下内容。

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

      ReplaceSNS 访问角色 arn的 Amazon 资源名称 (ARN)Amazon Identity and Access Management(IAM) 角色,用于发送与维护时段相关的 Amazon SNS 通知,格式为arn:aws:iam::account-id:role/role-name.例如:arn:aws:iam::123456789012:role/my-sns-access-role. 有关为 Systems Manager 配置 Amazon SNS 通知的信息,包括创建用于发送 SNS 通知的 IAM 角色的信息,请参阅使用 Amazon SNS 通知监控 Systems Manager 状态更改.

      注意

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

    4. 选择查看策略

    5. 适用于名称中,输入名称,将其标识为允许发送 Amazon SNS 通知的策略。

  15. 选择 Create policy

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

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

具体取决于您是否将iam:Passrole权限,请使用以下过程之一,提供将任务注册到维护时段所需的最低权限。

为允许注册维护窗口任务的用户配置权限(控制台)

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

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

  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": "custom-role-arn" }, { "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/" } ] }

    custom-role-arn 替换为之前创建的自定义维护时段角色的 ARN,例如 arn:aws:iam::123456789012:role/my-maintenance-window-role

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

  6. 选择查看策略

  7. 在存储库的查看策略页面上,输入名称名称框来标识此PassRole策略,例如my-iam-passrole-policy,然后选择创建策略.

为允许注册维护窗口任务的组配置权限(控制台)

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

  2. 在导航窗格中,选择用户组.

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

  4. 在存储库的Permissions (权限)选项卡上,选择添加权限,创建内联策略,然后选择JSON选项卡。

  5. 将箱子中的脱漏内容替换为以下内容。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "custom-role-arn" }, { "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/" } ] }

    custom-role-arn 替换为之前创建的自定义维护时段角色的 ARN,例如 arn:aws:iam::123456789012:role/my-maintenance-window-role

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

  6. 选择查看策略

  7. 在存储库的查看策略页面上,输入名称名称框来标识此PassRole策略,例如my-group-iam-passrole-policy,然后选择创建策略.

任务 3:为不允许注册维护窗口任务的用户配置权限(控制台)

根据您是否拒绝ssm:RegisterTaskWithMaintenanceWindow权限,请使用以下过程之一,防止用户将任务注册到维护时段。

为不允许注册维护窗口任务的用户配置权限(控制台)

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

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

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

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
  5. 选择查看策略

  6. 在存储库的查看策略页面上,输入名称名称框来标识此策略,例如my-deny-mw-tasks-policy,然后选择创建策略.

为不允许注册维护窗口任务的组配置权限(控制台)

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

  2. 在导航窗格中,选择用户组.

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

  4. 在存储库的Permissions (权限)选项卡上,选择添加权限,创建内联策略.

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
  6. 选择查看策略

  7. 在存储库的查看策略页, 对于名称,输入用于标识此策略的名称,例如my-groups-deny-mw-tasks-policy,然后选择创建策略.