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

控制对 Maintenance Window 的访问 (Tools for Windows PowerShell)

以下过程介绍如何使用 Tools for Windows PowerShell 来创建Maintenance Window所需的角色和权限。

任务 1:创建 IAM Maintenance Window角色

  1. 将以下信任策略复制并粘贴到文本文件中。使用以下名称和文件扩展名保存此文件:mw-role-trust-policy.json

    注意

    仅当要使用 Amazon SNS 发送与通过 SendCommand API 运行的Maintenance Window任务相关的通知时,才需要 "sns.amazonaws.com"

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "ssm.amazonaws.com", "ec2.amazonaws.com", "sns.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }
  2. 打开 Tools for Windows PowerShell 并运行以下命令来创建角色 (其名称将此角色标识为Maintenance Window角色),例如 my-maintenance-window-role。该角色使用前一步中创建的策略。

    New-IAMRole -RoleName "mw-task-role" -AssumeRolePolicyDocument (Get-Content -raw .\mw-role-trust-policy.json)

    系统将返回类似于以下内容的信息。

    Arn : arn:aws:iam::123456789012:role/mw-task-role AssumeRolePolicyDocument : ExampleDoc12345678 CreateDate : 4/4/2017 11:24:43 Path : / RoleId : AROAIIZKPBKS2LEXAMPLE RoleName : mw-task-role
  3. 运行以下命令将 AmazonSSMMaintenanceWindowRole 管理的策略附加到上一步中创建的角色。

    Register-IAMRolePolicy -RoleName mw-task-role -PolicyArn arn:aws:iam::aws:policy/service-role/AmazonSSMMaintenanceWindowRole

任务 2:将 IAM PassRole 策略分配到 IAM 用户或组

在向Maintenance Window注册任务时,需要指定在上一步中创建的角色。这是代表您运行任务时服务要代入的角色。要注册任务,您必须将 IAM PassRole 策略分配给 IAM 用户账户。以下过程中的策略提供了向Maintenance Window注册任务所需的最低权限。

  1. 将以下 IAM 策略复制并粘贴到文本编辑器中,并使用 .json 文件扩展名保存文件。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"Stmt1491345526000", "Effect":"Allow", "Action":[ "iam:GetRole", "iam:PassRole", "ssm:RegisterTaskWithMaintenanceWindow" ], "Resource":[ "*" ] } ] }
  2. 打开 Tools for Windows PowerShell。

  3. 根据您是否要将权限分配到 IAM; 用户或组,运行以下任一命令。

    • 对于 IAM 用户

      Write-IAMUserPolicy -UserName user-name -PolicyDocument (Get-Content -raw path-to-document) -PolicyName policy-name

      对于 user-name,指定将向Maintenance Window分配任务的 IAM 用户。对于 policy-name,指定您用于标识策略的名称。对于 path-to-document,请指定步骤 1 中保存文件的路径。例如:C:\temp\passrole-policy.json

      注意

      如果您计划使用 AWS Systems Manager 控制台注册Maintenance Window的任务,则还必须将 AmazonSSMFullAccess 策略分配给您的用户账户。运行以下命令将此策略分配给您的账户。

      Register-IAMUserPolicy -UserName user-name -PolicyArn arn:aws:iam::aws:policy/AmazonSSMFullAccess
    • 对于 IAM 组:

      Write-IAMGroupPolicy -GroupName group-name -PolicyDocument (Get-Content -raw path-to-document) -PolicyName policy-name

      对于 group-name,请指定将任务分配到Maintenance Window的 IAM 组。对于 policy-name,指定要用于标识策略的名称。对于 path-to-document,请指定步骤 1 中保存文件的路径。例如:C:\temp\passrole-policy.json

    注意

    如果您计划使用 AWS Systems Manager 控制台注册Maintenance Window的任务,则还必须将 AmazonSSMFullAccess 策略分配给您的用户账户。运行以下命令将此策略分配给您的组。

    Register-IAMGroupPolicy -GroupName group-name -PolicyArn arn:aws:iam::aws:policy/AmazonSSMFullAccess
  4. 运行以下命令验证策略是否已分配给该组。

    Get-IAMGroupPolicies -GroupName group-name