Chaos Studio 工作空間中的權限與身份

Chaos Studio Workspaces 的權限控制誰可以執行場景,以及這些場景可能影響哪些 Azure 資源。 Azure 角色型存取控制(RBAC)會控管對工作區的存取權,而其受控識別則需要在其探索及測試的資源上具備角色指派。 請使用本指南設定發現範圍、指派執行角色,並在情境執行前解決權限驗證錯誤。

這很重要

Chaos Studio 的工作空間與場景目前已公開預覽。 Microsoft 提供此預覽版「現況」與「可用狀態」,不受服務等級協議或有限保固保護。 Microsoft 以盡力而為的方式提供預覽版的客戶支援。 這個預覽並非為製作用途設計。 欲了解更多資訊,請參閱以下文章:

Workspace 身份的運作方式

每個工作區都有一個受管理身份(系統指派、使用者指派或兩者兼具),作為情境的執行主體。 當情境執行時,Chaos Studio 會利用工作空間的管理身份來呼叫 Azure 管理 API、啟動基於代理的動作,並與範圍內的資源互動。

受控識別會控制任何案例執行的影響範圍。 您只會在確切想要測試的資源上授與其角色,而且它無法影響這些指派以外的任何項目。 結合工作區本身的 Azure RBAC(控制誰能觸發執行),這建立了兩層授權模型:觸發執行的人必須有權限操作工作區,而工作區的身份必須有權限對目標資源採取行動。 必須通過這兩個檢定,任何行動才會執行。

執行開始前,驗證會報告工作區識別缺少的角色指派。 如果執行開始時仍缺少必要的指派,受影響的動作會因權限錯誤而失敗。

範圍決定工作區可發現哪些資源

當你建立工作區時,你會為它指派一個範圍,也就是工作區能發現、鎖定並影響的資源範圍。 支援的範圍類型:

範圍類型 內容涵蓋
Subscription 訂閱中所有資源。 範圍最廣。
資源群組 所有屬於指定資源群組的資源。
服務群 一組你明確定義的自訂資源。

範圍會控制 探索 邊界:只有範圍內的資源會出現在工作區的資源清單中,且可作為 Scenarios 的目標。

Workspace 身分識別所需的角色指派

工作區的受控識別必須具備其所執行之每個動作所需的角色。 常見範例:

動作類別 所需角色 Scope
虛擬機關機、重新啟動、重新部署 虛擬機貢獻者 目標虛擬機或資源群組
NSG 規則注入(DNS,網路動作) 網路參與者 目標網路安全性群組 (NSG) 或資源群組
資料庫故障轉移(SQL、PostgreSQL、MySQL) Contributor 目標資料庫資源
Cosmos DB 故障轉移 Cosmos DB 操作員 Target Cosmos 資料庫帳戶
基於代理的動作(CPU、記憶體、網路) Reader 目標虛擬機(代理程式獨立認證)

關於目前 Scenario 範本所使用的動作,請參見 Azure Chaos Studio 中的 Scenarios。 若要從驗證回傳的權限建立自訂角色,請參見 Chaos Studio Workspaces 的最小權限自訂角色

這很重要

在啟動情境前先解決權限驗證錯誤。 如果動作仍然失敗,請檢查 情境報告 是否有權限相關的錯誤。

角色分配是如何發生的

您可以透過三種方式將角色授與工作區識別:

  • 修正 Workspace 橫幅中缺少讀取權限的問題。 如果該身份在工作區範圍內沒有讀取權限,入口網站會在工作區顯示橫幅。 選取 [在工作區範圍指派讀者角色],以指派「讀者」角色。
  • 從設定頁面修正情境權限。 當你儲存情境設定時,驗證會檢查該身份是否能對目標資源執行所有必要的動作。 若缺少權限,請選擇 「固定權限 」以指派推薦的內建角色。 以程式方式透過 REST API,也可在 Scenario 組態上使用相同的操作,即 fixResourcePermissions
  • 自己分配角色。 對目標資源使用 存取控制(IAM )。 如果內建角色授予的權限超過你的政策允許,請從驗證輸出 中建立權限最低的自訂角色

要用這些方法建立角色指派,你需要對目標範圍擁有擁有者或使用者存取管理員權限。

哪些人可以使用 Workspace

對工作區資源本身的存取是透過標準的 Azure RBAC 控制,與工作區的管理身份分開。 使用者若要與工作區互動,需要:

動作 工作區資源上的最低角色
查看工作空間及其情境 Reader
執行一個情境 貢獻者(或具有 Microsoft.Chaos/workspaces/scenarios/run/action 的自訂角色)
建立或修改工作區 參與者或擁有者
將角色指派給工作區的受控識別 目標資源上的擁有者或使用者存取管理員

系統指派與使用者指派的身分識別

身份類型 何時使用
系統指派 最簡單的設定。 身份是透過工作區建立並刪除的。 適合單一工作區環境。
使用者指派 當多個工作區共用相同角色指派,或您需要識別的存留期超過工作區資源時使用。 在有集中式身份管理的企業環境中很常見。

你可以同時指派兩種類型。 如果你同時使用兩個身份,請設定工作區指定執行時使用哪個身份,或確保兩個身份都有相同的角色分配,以避免模糊。

與實驗(經典)權限的關係

Chaos Studio 的工作空間和實驗(經典版)使用不同的權限模型。 在實驗(經典)模型中,每個實驗都有自己的受管理身份與角色分配。 在 Workspaces 模型中,Workspace 身份會在所有情境間共享,因此你只需指派一次角色,而不是每個實驗一次。

關於經典權限模型,請參見實驗的權限與安全性(經典版)。

下一步