控制對維護時段的存取 (主控台)
下列程序說明如何使用 AWS Systems Manager 主控台來建立維護時段所需的角色與許可。
任務 1:(選用) 為維護時段建立自訂服務角色 (主控台)
請使用下列處理程序為 Maintenance Windows (Systems Manager 功能) 建立自訂服務角色,讓 Systems Manager 能代您執行任務。
如果選擇使用 Systems Manager 服務連結的角色,讓維護時段代替您執行任務,則不需要自訂服務角色。如果您的帳戶中沒有 Systems Manager 服務連結的角色,則您可以在使用 Systems Manager 主控台建立或更新維護時段任務時建立該角色。如需詳細資訊,請參閱下列主題:
建立自訂服務角色 (主控台)
在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)。
-
已記錄了下列各節:
-
Select type of trusted entity (選取信任的實體類型) 區域:AWS service ( 服務)。
-
Choose a use case (選擇使用案例) 區域:Systems Manager
-
Select your use case (選取使用案例) 區域:Systems Manager
注意 您正在選擇選項 Systems Manager (Systems Manager),而不是 Systems Manager - Inventory and Maintenance Windows (Systems Manager - 庫存和維護時段),以便建立僅用於維護時段的自訂角色。選擇 Systems Manager - Inventory and Maintenance Windows (Systems Manager - 庫存和維護時段) 會導引您建立與多個 Systems Manager 功能搭配使用的服務連結角色。
-
-
選擇 Next: Permissions (下一步:許可)。
-
在搜尋方塊中輸入
AmazonSSMMaintenanceWindowRole
,選取 AmazonSSMMaintenanceWindowRole 旁的方塊,然後選擇 Next: Tags (下一步:標籤)。 -
(選用) 新增一或多個標籤鍵/值組來組織、追蹤或控制存取此角色,然後選擇 Next: Review (下一步:檢視)。
-
在 Role name (角色名稱) 中,輸入識別此角色為 Maintenance Windows 角色的名稱。例如:
my-maintenance-window-role
。 -
(選用) 變更預設的角色描述以反映此角色的用途。例如:
Performs maintenance window tasks on your behalf
。 -
選擇 Create role (建立角色)。系統會讓您回到 Roles (角色) 頁面。
-
選擇剛建立之角色的名稱。
-
選擇 Trust Relationships (信任關係) 標籤,然後選擇 Edit Trust Relationship (編輯信任關係)。
-
驗證下列政策是否顯示在 Policy Document (政策文件) 欄位中。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
選擇 Update Trust Policy (更新信任政策),然後複製或記下 Summary (摘要) 頁面上的角色名稱和 Role ARN (角色 ARN) 值。當您建立維護時段時,請指定此資訊。
-
(選用) 當您在透過 Systems Manager Run Command 命令任務執行時,如果計畫將維護時段設定為使用 Amazon Simple Notification Service (Amazon SNS) 傳送與命令狀態相關的通知,請執行下列動作:
-
選擇 Permissions (許可) 索引標籤。
-
選擇 Add inline policy (新增內嵌政策),然後選擇 JSON 標籤。
-
在 Policy Document (政策文件) 中,請以下列項目取代預設內容。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws::iam::
account-id
:role/my-sns-access-role
" } ] }
代表您的 12 位數識別符的 AWS 帳戶,格式為account-id
123456789012
。my-sns-access-role
代表現有 AWS Identity and Access Management (IAM) 角色的名稱,用來傳送與維護時段相關的 Amazon SNS 通知.
如需有關設定 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 值。
-
選擇 Review policy (檢閱政策)。
-
對於 Name (名稱),輸入一個名稱將此識別為一個政策以允許傳送 Amazon SNS 通知。
-
-
選擇 Create policy (建立政策)。
任務 2:設定允許註冊維護時段任務的使用者許可 (主控台)
當您使用維護時段註冊任務時,您需要指定自訂服務角色或 Systems Manager 服務連結角色來執行實際的任務操作。這是服務代您執行任務時所擔任的角色。在此之前,若要註冊任務本身,請將 IAM PassRole 政策指派給 IAM 使用者帳戶或 IAM 群組。這可讓 IAM 使用者或 IAM 群組指定執行任務時應使用的角色,作為在維護時段中註冊這些任務的一部分。如需詳細資訊,請參閱《IAM 使用者指南》中的授予使用者將角色傳遞至 AWS 服務的許可。
無論您是根據個別使用者或群組來指派 iam:Passrole
許可,請使用下列其中一個程序,來提供向維護時段註冊任務所需的最低許可。
設定允許註冊維護時段任務的使用者許可 (主控台)
在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/
。 -
選擇 Users (使用者),接著選擇您想要更新的使用者帳戶名稱。
-
在 Permissions (許可) 索引標籤的政策清單中,確認
AmazonSSMFullAccess
政策已列出,或是會有同等的政策給予 IAM 使用者呼叫 Systems Manager API 的許可。如果未含在內,則新增許可。如需相關資訊,請參閱《IAM 使用者指南》中的新增和移除 IAM 身分許可。 -
選擇 Add inline policy (新增內嵌政策),然後選擇 JSON 標籤。
-
將方塊中的內容取代為:
{ "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
代表您的 AWS 帳戶 ID。新增此資源arn:aws:iam::
的許可,可讓使用者在建立維護時段任務時,檢視主控台中的客戶角色,並從中選擇客戶角色。新增account-id
:role/arn:aws:iam::
的許可,可讓使用者在建立維護時段任務時,在主控台中選擇 Systems Manager 服務連結的角色。account-id
:role/aws-service-role/ssm.amazonaws.com/ -
選擇 Review policy (檢閱政策)。
-
在 Review policy (檢閱政策) 頁面,在 Name (名稱) 方塊中輸入名稱以識別
my-iam-passrole-policy
之類的此PassRole
政策,然後選擇 Create policy (建立政策)。
設定允許註冊維護時段任務之群組的許可 (主控台)
在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇 User groups (使用者群組)。
-
在群組清單中,選取您要為其指派
iam:PassRole
許可的群組的名稱。 -
在 Permissions (許可) 索引標籤上,選擇 Add permissions, Create Inline Policy (新增許可、建立內嵌政策),然後選擇 JSON 索引標籤。
-
將方塊中的預設內容取代為:
{ "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
代表您的 AWS 帳戶 ID。新增此資源arn:aws:iam::
的許可,可讓使用者在建立維護時段任務時,檢視主控台中的客戶角色,並從中選擇客戶角色。新增account-id
:role/arn:aws:iam::
的許可,可讓使用者在建立維護時段任務時,在主控台中選擇 Systems Manager 服務連結的角色。account-id
:role/aws-service-role/ssm.amazonaws.com/ -
選擇 Review policy (檢閱政策)。
-
在 Review policy (檢閱政策) 頁面,在 Name (名稱) 方塊中輸入名稱以識別
my-group-iam-passrole-policy
之類的此PassRole
政策,然後選擇 Create policy (建立政策)。
任務 3:設定允許註冊維護時段任務的使用者許可 (主控台)
無論您是根據個別使用者還是群組來拒絕 ssm:RegisterTaskWithMaintenanceWindow
許可,請使用下列其中一個處理程序,來阻止使用者向維護時段註冊任務。
設定允許註冊維護時段任務的使用者許可 (主控台)
在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/
。 -
選擇 Users (使用者),接著選擇您想要更新的使用者帳戶名稱。
-
選擇 Add inline policy (新增內嵌政策),然後選擇 JSON 標籤。
-
將方塊中的預設內容取代為:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
-
選擇 Review policy (檢閱政策)。
-
在 Review policy (檢閱政策) 頁面,在 Name (名稱) 方塊中輸入名稱以識別
my-deny-mw-tasks-policy
之類的此政策,然後選擇 Create policy (建立政策)。
設定允許註冊維護時段任務之群組的許可 (主控台)
在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇 User groups (使用者群組)。
-
在群組清單中,選取您要為其拒絕
ssm:RegisterTaskWithMaintenanceWindow
許可的群組名稱。 -
在 Permissions (許可) 索引標籤上,選擇 Add permissions, Create inline policy (新增許可、建立內嵌政策)。
-
選擇 JSON (JSON) 標籤,並將方塊中的預設內容取代為下列內容。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
-
選擇 Review policy (檢閱政策)。
-
在 Review policy (檢閱政策) 頁面,在 Name (名稱) 中輸入名稱以識別
my-groups-deny-mw-tasks-policy
之類的此政策,然後選擇 Create policy (建立政策)。