控制對維護時段的存取 (主控台) - AWS Systems Manager

控制對維護時段的存取 (主控台)

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

任務 1:(選用) 為維護時段建立自訂服務角色 (主控台)

請使用下列處理程序為 Maintenance Windows (Systems Manager 功能) 建立自訂服務角色,讓 Systems Manager 能代您執行任務。

重要

如果選擇使用 Systems Manager 服務連結的角色,讓維護時段代替您執行任務,則不需要自訂服務角色。如果您的帳戶中沒有 Systems Manager 服務連結的角色,則您可以在使用 Systems Manager 主控台建立或更新維護時段任務時建立該角色。如需詳細資訊,請參閱下列主題:

建立自訂服務角色 (主控台)

  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)

  3. 已記錄了下列各節:

    1. Select type of trusted entity (選取信任的實體類型) 區域:AWS service (AWS 服務)。

    2. Choose the service that will use this role (選擇將使用此角色的服務) 區域:Systems Manager (Systems Manager)

    3. Select your use case (選取您的使用案例) 區域:Systems Manager (Systems Manager)。

      注意

      您正在選擇選項 Systems Manager (Systems Manager),而不是 Systems Manager - Inventory and Maintenance Windows (Systems Manager - 庫存和維護時段),以便建立僅用於維護時段的自訂角色。選擇 Systems Manager - Inventory and Maintenance Windows (Systems Manager - 庫存和維護時段) 會導引您建立與多個 Systems Manager 功能搭配使用的服務連結角色。

  4. 選擇 Next: Permissions (下一步:許可)

  5. 在政策清單中,選取 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": "sns-access-role-arn" } ] }

      sns-access-role-arn 取代為現有的 AWS Identity and Access Management (IAM) 角色 Amazon 資源名稱 (ARN),其用來傳送與維護時段相關的 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 會在 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 使用者指南》中的授予使用者將角色傳遞至 AWS 服務的許可

無論您是根據個別使用者或群組來指派 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": "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

    使用 AWS 帳戶 ID 取代兩個 iam:ListRoles 許可中的 account-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 (名稱) 方塊中輸入名稱以識別 my-iam-passrole-policy 之類的此 PassRole 政策,然後選擇 Create policy (建立政策)。

設定允許註冊維護時段任務之群組的許可 (主控台)

  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇 User groups (使用者群組)。

  3. 在群組清單中,選取您要為其指派iam:PassRole 許可的群組的名稱。

  4. 選擇 Permissions (許可) 標籤,選擇 Add permissions, Create Inline Policy (新增許可、建立內嵌政策),然後選擇 JSON (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

    使用 AWS 帳戶 ID 取代兩個 iam:ListRoles 許可中的 account-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 (名稱) 方塊中輸入名稱以識別 my-group-iam-passrole-policy 之類的此 PassRole 政策,然後選擇 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 (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 (建立政策)。