

• 2026 年 4 月 30 日之後， AWS Systems Manager CloudWatch Dashboard 將不再可用。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板，就像現在一樣。如需詳細資訊，請參閱 [Amazon CloudWatch Dashboard 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用主控台控制對維護時段的存取權
<a name="configuring-maintenance-window-permissions-console"></a>

下列程序說明如何使用 AWS Systems Manager 主控台建立維護時段所需的許可和角色。

**Topics**
+ [任務 1：使用主控台為維護時段服務角色建立自訂政策](#create-custom-policy-console)
+ [任務 2：使用主控台為維護時段建立自訂服務角色](#create-custom-role-console)
+ [任務 3：使用主控台向指定使用者授予註冊維護時段任務的許可](#allow-maintenance-window-access-console)
+ [任務 4：使用主控台防止指定的使用者註冊維護時段任務](#deny-maintenance-window-access-console)

## 任務 1：使用主控台為維護時段服務角色建立自訂政策
<a name="create-custom-policy-console"></a>

維護時段任務需要 IAM 角色提供在目標資源上執行所需的許可。許可透過連接到角色的 IAM 政策提供。您執行的任務類型及其他的操作要求決定了此政策的內容。我們提供您可以根據需求調整的基本政策。根據維護時段執行的任務及任務類型，您可能不需要此政策中的所有許可，而您可能需要包含其他的許可。您可以將此政策附加至稍後在 [任務 2：使用主控台為維護時段建立自訂服務角色](#create-custom-role-console) 建立的角色。

**使用主控台建立自訂政策**

1. 在 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 中開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **Policies (政策)**，然後選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**區段中，選擇 **JSON**。

1. 將預設內容取代為以下內容：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:SendCommand",
                   "ssm:CancelCommand",
                   "ssm:ListCommands",
                   "ssm:ListCommandInvocations",
                   "ssm:GetCommandInvocation",
                   "ssm:GetAutomationExecution",
                   "ssm:StartAutomationExecution",
                   "ssm:ListTagsForResource",
                   "ssm:DescribeInstanceInformation",
                   "ssm:GetParameters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "states:DescribeExecution",
                   "states:StartExecution"
               ],
               "Resource": [
                   "arn:aws:states:*:*:execution:*:*",
                   "arn:aws:states:*:*:stateMachine:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:*:*:function:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "resource-groups:ListGroups",
                   "resource-groups:ListGroupResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/maintenance-window-role-name",
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": [
                           "ssm.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. 根據您在帳户中執行的維護任務及其需要來修改 JSON 內容。您所做的變更專為您的操作而規劃。

   例如：
   + 您可以為特定功能及狀態機器提供 Amazon Resource Names (ARNs)，而不是使用萬用字圓 (\$1) 限定詞。
   + 如果您不打算執行 AWS Step Functions 任務，您可以移除`states`許可 和 ARNs)。
   + 如果您不打算執行 AWS Lambda 任務，您可以移除`lambda`許可和 ARNs。
   + 如果您不打算執行自動化任務，您可以移除 `ssm:GetAutomationExecution` 及 `ssm:StartAutomationExecution` 許可。
   + 新增執行任務可能需要的其他許可。例如，有些自動化動作搭配 AWS CloudFormation 堆疊運作。因此，`cloudformation:CreateStack`、`cloudformation:DescribeStacks` 以及 `cloudformation:DeleteStack` 許可是必要的。

     另一個例子：Automation Runbook `AWS-CopySnapshot` 需建立 Amazon Elastic Block Store (Amazon EBS) 快照的權限。因此，服務角色需要 `ec2:CreateSnapshot` 許可。

     如需有關 Automation 執行手冊所需的角色權限的資訊，請參閱 [AWS Systems Manager Automation Runbook Reference](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html) 中的執行手冊描述。

1. 完成政策修訂後，選擇**下一步**。

1. 在**政策名稱**中輸入名稱，該名稱將政策標識為連接至所建立之服務角色的政策。例如：**my-maintenance-window-role-policy**。

1. (選用) 在**新增標籤**區段中，新增一個或多個標籤鍵值對來組織、追蹤或控制對此政策的存取。

1. 選擇**建立政策**。

   記下為政策指定的名稱。您可以在接下來的程序 [任務 2：使用主控台為維護時段建立自訂服務角色](#create-custom-role-console) 加以引用。

## 任務 2：使用主控台為維護時段建立自訂服務角色
<a name="create-custom-role-console"></a>

在先前任務中建立的政策會連接至您在此任務中建立的維護時段服務角色。使用者註冊維護時段任務時，他們將此 IAM 角色指定為任務組態的一部分。此角色的權限可讓 Systems Manager 代您在維護時段執行任務。

**重要**  
先前，Systems Manager 主控台可讓您選擇要`AWSServiceRoleForAmazonSSM`用作任務維護角色的 AWS 受管 IAM 服務連結角色。不再建議將此角色及其關聯政策 `AmazonSSMServiceRolePolicy`，用於維護時段任務。如果您現在將此角色用於維護時段任務，我們建議您停止使用。相反地，請建立您自己的 IAM 角色，以便在維護時段任務執行 AWS 服務 時啟用 Systems Manager 與其他 之間的通訊。

請使用下列步驟來為 Maintenance Windows 建立自訂服務角色，讓 Systems Manager 能代表您執行 Maintenance Windows 任務。您需要將在前一任務中建立的政策連接至所建立的自訂服務角色。

**使用主控台為維護時段建立自訂服務角色**

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 對於 **Select trusted entity** (選擇信任的實體)，請執行以下選項：

   1. 針對**信任的實體類型**，請選擇 **AWS 服務**。

   1. 對於**使用案例**，選擇 **Systems Manager**

   1. 選擇 **Systems Manager**。

      下圖反白顯示了 Systems Manager 選項的位置。  
![\[Systems Manager 是使用案例的選項之一。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/iam_use_cases_for_MWs.png)

1. 選擇**下一步**。

1. 在**許可政策**區域的搜尋方塊中，輸入在 [任務 1：使用主控台為維護時段服務角色建立自訂政策](#create-custom-policy-console) 中建立的政策名稱，選取其名稱旁邊的方塊，然後選擇**下一步**。

1. 在 **Role name** (角色名稱) 中，輸入識別此角色為 Maintenance Windows 角色的名稱。例如：**my-maintenance-window-role**。

1. (選用) 變更預設的角色描述以反映此角色的用途。例如：**Performs maintenance window tasks on your behalf**。

1. 對於**步驟 1：選取信任的實體**，確認下列政策顯示在**信任的政策**方塊中。

------
#### [ JSON ]

****  

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

------

1. 對於**步驟 2：新增許可**，確認您在 [任務 1：使用主控台為維護時段服務角色建立自訂政策](#create-custom-policy-console) 中建立的政策存在。

1. (選用) 在**步驟 3：新增標籤**中，新增一個或多個標籤鍵值對來組織、追蹤或控制對此角色的存取。

1. 選擇 **Create role** (建立角色)。系統會讓您回到 **Roles (角色)** 頁面。

1. 選擇剛建立之 IAM 角色的名稱。

1. 複製或記下角色名稱及**摘要**區的 **ARN** 值。您帳户的使用者在建立維護時段時指定此訊息。

## 任務 3：使用主控台向指定使用者授予註冊維護時段任務的許可
<a name="allow-maintenance-window-access-console"></a>

為使用者提供存取維護時段自訂服務角色的許可，可讓他們將其用於維護時段任務。這是對您已經授予他們將 Systems Manager API 命令用於 Maintenance Windows 工具的許可的補充。此 IAM 角色傳遞了執行維護時段任務所需的許可。因此，如果無法傳遞這些 IAM 許可，使用者就無法使用您的自訂服務角色向維護時段註冊任務。

在向維護時段註冊任務時，需要指定服務角色來執行實際的任務操作。這是服務代您執行任務時所擔任的角色。在此之前，若要註冊任務本身，請將 IAM `PassRole` 政策指派給 IAM 實體 (例如使用者或群組)。這樣便讓 IAM 實體可以指定執行任務時應使用的角色，而指定角色是向維護時段註冊這些任務的其中一步。如需相關資訊，請參閱《IAM 使用者指南》**中的 [Grant a user permissions to pass a role to an AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html)。

**設定許可以允許使用者註冊維護時段任務**

如果 IAM 實體 (使用者、角色或群組) 設定為具有管理員許可，則該 IAM 使用者或角色可以存取維護時段。對於沒有管理員許可的 IAM 實體，管理員必須將以下許可授予給 IAM 實體。以下是在維護時段中註冊任務所需的最低許可：
+ `AmazonSSMFullAccess` 受管政策或提供相當許可的政策。
+ 以下是 `iam:PassRole` 和 `iam:ListRoles` 許可。

------
#### [ JSON ]

****  

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

------

  *my-maintenance-window-role* 代表您先前建立之自訂維護時段服務角色的名稱。

  *account-id* 代表您的 AWS 帳戶 ID。新增此資源 `arn:aws:iam::account-id:role/` 的許可，可讓使用者在建立維護時段任務時，檢視主控台中的客戶角色，並從中選擇客戶角色。新增 `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` 的許可，可讓使用者在建立維護時段任務時，在主控台中選擇 Systems Manager 服務連結的角色。

  若要提供存取權，請新增權限至您的使用者、群組或角色：
  + 中的使用者和群組 AWS IAM Identity Center：

    建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
  + 透過身分提供者在 IAM 中管理的使用者：

    建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
  + IAM 使用者：
    + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
    + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

**使用主控台為可以註冊維護時段任務的群組設定許可**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **User groups** (使用者群組)。

1. 在群組清單中，選取要為其指派 `iam:PassRole` 許可的群組的名稱，或先建立新的群組 (如有必要) 

1. 在 **Permissions** (許可) 索引標籤上，選擇 **Add permissions, Create inline policy** (新增許可、建立內嵌政策)。

1. 在**政策編輯器**區域中，選擇 **JSON** 並使用列內容取代方塊中的預設內容。

------
#### [ JSON ]

****  

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

------

   *my-maintenance-window-role* 代表您先前建立之自訂維護時段角色的名稱。

   *account-id* 代表您的 AWS 帳戶 ID。新增此資源 `arn:aws:iam::account-id:role/` 的許可，可讓使用者在建立維護時段任務時，檢視主控台中的客戶角色，並從中選擇客戶角色。新增 `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` 的許可，可讓使用者在建立維護時段任務時，在主控台中選擇 Systems Manager 服務連結的角色。

1. 選擇**下一步**。

1. 在**檢閱並建立**頁面上，在**政策名稱**方塊中輸入名稱以識別此 `PassRole` 政策 (例如 **my-group-iam-passrole-policy**)，然後選擇**建立政策**。

## 任務 4：使用主控台防止指定的使用者註冊維護時段任務
<a name="deny-maintenance-window-access-console"></a>

您可以拒絕 AWS 帳戶 您不想向維護時段註冊任務之 中使用者的`ssm:RegisterTaskWithMaintenanceWindow`許可。這針對不應註冊維護時段任務的使用者提供了額外的保護層。

**使用主控台為無法註冊維護時段任務的群組設定許可**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **User groups** (使用者群組)。

1. 在群組清單中，選取要為其拒絕 `ssm:RegisterTaskWithMaintenanceWindow` 許可的群組名稱，或先建立新的群組 (如有必要)。

1. 在 **Permissions** (許可) 索引標籤上，選擇 **Add permissions, Create inline policy** (新增許可、建立內嵌政策)。

1. 在**政策編輯器**區域中，選擇 **JSON**，然後使用下列內容取代方塊中的預設內容。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "ssm:RegisterTaskWithMaintenanceWindow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 選擇**下一步**。

1. 在**檢閱和建立**頁面上，在**政策名稱**中輸入名稱以識別此政策 (例如 **my-groups-deny-mw-tasks-policy**)，然後選擇**建立政策**。