角色型存取控制 (Azure RBAC) 可以啟用對 Azure 資源的存取權管理。 您可以使用 Azure RBAC 來區隔小組內的職責,僅授與使用者、群組及應用程式執行作業所需的存取權範圍。 您可以使用 Azure 入口網站、Azure 命令列工具或 Azure 管理 API,授與使用者角色型存取權。
自動化帳戶中的角色
在 Azure 自動化中,於自動化帳戶範圍將適當的 Azure 角色指派給使用者、群組和應用程式,即可授與存取權。 以下是自動化帳戶支援的內建角色:
| 角色 | 說明 |
|---|---|
| 擁有者 | 「擁有者」角色可讓您存取「自動化」帳戶內的所有資源和動作,包括提供存取權給其他使用者、群組及應用程式來管理「自動化」帳戶。 |
| 參與者 | 參與者角色可讓您管理各個項目,修改其他使用者的自動化帳戶存取權限除外。 |
| 讀取者 | 讀者角色可讓您檢視自動化帳戶中的所有資源,但無法進行任何變更。 |
| 自動化參與者 | 自動化參與者角色可讓您管理自動化帳戶中的所有資源,但無法修改其他使用者對自動化帳戶的存取權限。 |
| 自動化運算子 | 自動化操作員角色可讓您檢視 Runbook 的名稱和屬性,以及在自動化帳戶中建立及管理所有 Runbook 的作業。 如果您想要保護認證資產和 Runbook 等自動化帳戶資源,使其不會遭受檢視或修改,但仍然允許組織的成員來執行這些 Runbook,這個角色會有所幫助。 |
| 自動化作業運算子 | 「自動化作業操作員」角色可讓您建立和管理自動化帳戶中的所有 Runbook 作業。 |
| 自動化 Runbook 運算子 | 「自動化 Runbook 操作員」角色可讓您檢視 Runbook 的名稱和屬性。 |
| Log Analytics 參與者 | 「Log Analytics 參與者」角色可讓您讀取所有監視資料和編輯監視設定。 編輯監視設定包括將 VM 擴充功能新增至 VM、讀取儲存體帳戶金鑰以便能夠設定從「Azure 儲存體」收集記錄、建立及設定「自動化」帳戶、新增 Azure 自動化功能,以及設定所有 Azure 資源上的 Azure 診斷。 |
| Log Analytics 讀者 | 「Log Analytics 讀者」角色可讓您檢視和搜尋所有監視資料,以及檢視監視設定。 這包括檢視所有 Azure 資源上的 Azure 診斷設定。 |
| 監視參與者 | 「監視參與者」角色可讓您讀取所有監視資料和更新監視設定。 |
| 監視讀取器 | 「監視讀者」角色可讓您讀取所有監視資料。 |
| 使用者存取系統管理員 | 使用者存取系統管理員角色可讓您管理 Azure 自動化帳戶的使用者存取。 |
角色權限
下表描述賦予每個角色的特定權限。 這可能包括會授與權限的 “Actions” 和會限制權限的 “Not Actions”。
擁有者
「擁有者」可以管理所有項目,包括存取權。 下表說明針對此角色授與的權限:
| 動作 | 描述 |
|---|---|
| Microsoft.Automation/automationAccounts/* | 建立和管理所有類型的資源。 |
參與者
「參與者」可以管理存取權以外的所有項目。 下表說明針對此角色授與和拒絕的權限:
| 動作 | 說明 |
|---|---|
| Microsoft.Automation/automationAccounts/* | 建立和管理所有類型的資源 |
| 無法執行的動作 | |
| Microsoft.Authorization/*/Delete | 刪除角色和角色指派。 |
| Microsoft.Authorization/*/Write | 建立角色和角色指派。 |
| Microsoft.Authorization/elevateAccess/Action | 無法建立「使用者存取系統管理員」。 |
讀取者
附註
我們最近在自動化帳戶的內建讀者角色權限中已進行變更。 深入了解
「讀者」角色可以檢視「自動化」帳戶中的所有資源,但無法進行任何變更。
| 動作 | 說明 |
|---|---|
| Microsoft.Automation/automationAccounts/read | 檢視「自動化」帳戶中的所有資源。 |
自動化參與者
自動化參與者可以管理自動化帳戶中的所有資源,但無法管理存取權。 下表說明針對此角色授與的權限:
| 動作 | 說明 |
|---|---|
| Microsoft.Automation/automationAccounts/* | 建立和管理所有類型的資源。 |
| Microsoft.Authorization/*/read | 讀取角色和角色指派。 |
| Microsoft.Resources/deployments/* | 建立和管理資源群組部署。 |
| Microsoft.Resources/subscriptions/resourceGroups/read | 讀取資源群組部署。 |
| Microsoft.Support/* | 建立和管理支援票證。 |
| Microsoft.Insights/ActionGroups/* | 讀取/寫入/刪除動作群組。 |
| Microsoft.Insights/ActivityLogAlerts/* | 讀取/寫入/刪除活動記錄警示。 |
| Microsoft.Insights/diagnosticSettings/* | 讀取/寫入/刪除診斷設定。 |
| Microsoft.Insights/MetricAlerts/* | 讀取/寫入/刪除近乎即時的計量警示。 |
| Microsoft.Insights/ScheduledQueryRules/* | 讀取/寫入/刪除 Azure 監視器中的記錄警示。 |
| Microsoft.OperationalInsights/workspaces/sharedKeys/action | 列出 Log Analytics 工作區的金鑰 |
附註
如果目標資源上已設定適當的權限,或使用 [執行身分帳戶],可以使用自動化參與者角色來存取任何資源。 自動化 [執行身分帳戶] 預設為使用訂用帳戶的參與者權限進行設定。 請遵循最低使用權限的原則,並小心地僅指派執行 Runbook 所需的權限。 例如,如果只需要自動化帳戶才能啟動或停止 Azure VM,則指派給「執行身分帳戶」或受控識別的權限必須僅用於啟動或停止 VM。 同樣地,如果 Runbook 正在從 Blob 儲存體讀取,那麼請指派唯讀權限。
指派權限時,建議使用 Azure 角色型存取控制 (RBAC) 指派給受控識別。 檢閱使用系統或使用者指派的受控識別最佳方法建議,包括在其存留期內的管理與治理。
自動化運算子
自動化操作員可在自動化帳戶中建立和管理作業,以及讀取所有 Runbook 的名稱和屬性。
附註
如果您想控制操作員對單個 Runbook 的存取權限,請不要設定此角色。 請改用自動化作業操作員和自動化 Runbook 操作員角色的組合。
下表說明針對此角色授與的權限:
| 動作 | 說明 |
|---|---|
| Microsoft.Authorization/*/read | 讀取授權。 |
| Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read | 讀取混合式 Runbook 背景工作角色資源。 |
| Microsoft.Automation/automationAccounts/jobs/read | 列出 Runbook 的作業。 |
| Microsoft.Automation/automationAccounts/jobs/resume/action | 繼續執行暫停的作業。 |
| Microsoft.Automation/automationAccounts/jobs/stop/action | 取消進行中的作業。 |
| Microsoft.Automation/automationAccounts/jobs/streams/read | 讀取「作業串流」和「輸出」。 |
| Microsoft.Automation/automationAccounts/jobs/output/read | 取得作業的輸出。 |
| Microsoft.Automation/automationAccounts/jobs/suspend/action | 暫停進行中的作業。 |
| Microsoft.Automation/automationAccounts/jobs/write | 建立作業。 |
| Microsoft.Automation/automationAccounts/jobSchedules/read | 取得 Azure 自動化作業排程。 |
| Microsoft.Automation/automationAccounts/jobSchedules/write | 建立 Azure 自動化作業排程。 |
| Microsoft.Automation/automationAccounts/linkedWorkspace/read | 取得連結至自動化帳戶的工作區。 |
| Microsoft.Automation/automationAccounts/read | 取得 Azure 自動化帳戶。 |
| Microsoft.Automation/automationAccounts/runbooks/read | 取得 Azure 自動化 Runbook。 |
| Microsoft.Automation/automationAccounts/schedules/read | 取得 Azure 自動化排程資產。 |
| Microsoft.Automation/automationAccounts/schedules/write | 建立或更新 Azure 自動化排程資產。 |
| Microsoft.Resources/subscriptions/resourceGroups/read | 讀取角色和角色指派。 |
| Microsoft.Resources/deployments/* | 建立和管理資源群組部署。 |
| Microsoft.Insights/alertRules/* | 建立和管理警示規則。 |
| Microsoft.Support/* | 建立和管理支援票證。 |
| Microsoft.ResourceHealth/可用性狀態/讀取 | 取得指定範圍中所有資源的可用性狀態。 |
自動化作業運算子
授與「自動化作業操作員」角色時會在「自動化」帳戶範圍內授與。 這可讓操作員有權建立和管理帳戶中所有 Runbook 作業。 如果作業操作員角色被授與包含自動化帳戶的資源群組讀取權限,則角色的成員就能夠啟動 Runbook。 不過,該成員無法建立、編輯或刪除這些 Runbook。
下表說明針對此角色授與的權限:
| 動作 | 說明 |
|---|---|
| Microsoft.Authorization/*/read | 讀取授權。 |
| Microsoft.Automation/automationAccounts/jobs/read | 列出 Runbook 的作業。 |
| Microsoft.Automation/automationAccounts/jobs/resume/action | 繼續執行暫停的作業。 |
| Microsoft.Automation/automationAccounts/jobs/stop/action | 取消進行中的作業。 |
| Microsoft.Automation/automationAccounts/jobs/streams/read | 讀取「作業串流」和「輸出」。 |
| Microsoft.Automation/automationAccounts/jobs/suspend/action | 暫停進行中的作業。 |
| Microsoft.Automation/automationAccounts/jobs/write | 建立作業。 |
| Microsoft.Resources/subscriptions/resourceGroups/read | 讀取角色和角色指派。 |
| Microsoft.Resources/deployments/* | 建立和管理資源群組部署。 |
| Microsoft.Insights/alertRules/* | 建立和管理警示規則。 |
| Microsoft.Support/* | 建立和管理支援票證。 |
| Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read | 讀取混合式 Runbook 背景工作角色群組。 |
| Microsoft.Automation/automationAccounts/jobs/output/read | 取得作業的輸出。 |
自動化 Runbook 運算子
授與「自動化 Runbook 運算子」角色時,會在 Runbook 範圍授與。 「自動化 Runbook 操作員」可檢視 Runbook 的名稱和屬性。 此角色與自動化作業操作員角色結合,可讓操作員也建立及管理 Runbook 的作業。 下表說明針對此角色授與的權限:
| 動作 | 說明 |
|---|---|
| Microsoft.Automation/automationAccounts/runbooks/read | 列出 Runbook。 |
| Microsoft.Authorization/*/read | 讀取授權。 |
| Microsoft.Resources/subscriptions/resourceGroups/read | 讀取角色和角色指派。 |
| Microsoft.Resources/deployments/* | 建立和管理資源群組部署。 |
| Microsoft.Insights/alertRules/* | 建立和管理警示規則。 |
| Microsoft.Support/* | 建立和管理支援票證。 |
Log Analytics 參與者
「Log Analytics 參與者」角色可以讀取所有監視資料和編輯監視設定。 編輯監視設定包括將 VM 擴充功能新增至 VM、讀取儲存體帳戶金鑰以便能夠設定從「Azure 儲存體」收集記錄、建立及設定「自動化」帳戶、新增功能,以及設定所有 Azure 資源上的 Azure 診斷。 下表說明針對此角色授與的權限:
| 動作 | 說明 |
|---|---|
| */read | 讀取密碼以外的所有類型的資源。 |
| Microsoft.ClassicCompute/virtualMachines/extensions/* | 建立和管理虛擬機器延伸模組。 |
| Microsoft.ClassicStorage/storageAccounts/listKeys/action | 列出傳統儲存體帳戶金鑰。 |
| Microsoft.Compute/virtualMachines/extensions/* | 建立和管理傳統虛擬機器延伸模組。 |
| Microsoft.Insights/alertRules/* | 讀取/寫入/刪除警示規則。 |
| Microsoft.Insights/diagnosticSettings/* | 讀取/寫入/刪除診斷設定。 |
| Microsoft.OperationalInsights/* | 管理 Azure 監視器記錄。 |
| Microsoft.OperationsManagement/* | 管理工作區中的 Azure 自動化功能。 |
| Microsoft.Resources/deployments/* | 建立和管理資源群組部署。 |
| Microsoft.Resources/subscriptions/resourcegroups/deployments/* | 建立和管理資源群組部署。 |
| Microsoft.Storage/storageAccounts/listKeys/action | 列出儲存體帳戶金鑰。 |
| Microsoft.Support/* | 建立和管理支援票證。 |
| Microsoft.HybridCompute/machines/extensions/write | 安裝或更新 Azure Arc 延伸模組。 |
Log Analytics 讀者
「Log Analytics 讀者」可以檢視和搜尋所有監視資料,以及檢視監視設定,包括檢視所有 Azure 資源上的 Azure 診斷設定。 下表說明針對此角色授與或拒絕的權限:
| 動作 | 說明 |
|---|---|
| */read | 讀取密碼以外的所有類型的資源。 |
| Microsoft.OperationalInsights/workspaces/analytics/query/action | 管理 Azure 監視器記錄中的查詢。 |
| Microsoft.OperationalInsights/workspaces/search/action | 搜尋 Azure 監視器記錄資料。 |
| Microsoft.Support/* | 建立和管理支援票證。 |
| 無法執行的動作 | |
| Microsoft.OperationalInsights/workspaces/sharedKeys/read | 無法讀取共用存取金鑰。 |
監視參與者
「監視參與者」可以讀取所有監視資料和更新監視設定。 下表說明針對此角色授與的權限:
| 動作 | 說明 |
|---|---|
| */read | 讀取密碼以外的所有類型的資源。 |
| Microsoft.AlertsManagement/alerts/* | 管理「警示」。 |
| Microsoft.AlertsManagement/alertsSummary/* | 管理「警示」儀表板。 |
| Microsoft.Insights/AlertRules/* | 管理警示規則。 |
| Microsoft.Insights/components/* | 管理 Application Insights 元件。 |
| Microsoft.Insights/DiagnosticSettings/* | 管理診斷設定。 |
| Microsoft.Insights/eventtypes/* | 列出訂用帳戶中的活動記錄檔事件 (管理事件)。 此權限適用於以程式設計方式存取和入口網站存取活動記錄檔。 |
| Microsoft.Insights/LogDefinitions/* | 此為使用者需要透過入口網站存取活動記錄時所需的權限。 列出活動記錄檔中的記錄檔分類。 |
| Microsoft.Insights/MetricDefinitions/* | 讀取度量定義 (可用資源的度量類型清單)。 |
| Microsoft.Insights/Metrics/* | 讀取資源的度量。 |
| Microsoft.Insights/Register/Action | 註冊 Microsoft Insights 提供者。 |
| Microsoft.Insights/webtests/* | 管理 Application Insights Web 測試。 |
| Microsoft.OperationalInsights/workspaces/intelligencepacks/* | 管理 Azure 監視器記錄解決方案套件。 |
| Microsoft.OperationalInsights/workspaces/savedSearches/* | 管理 Azure 監視器記錄已儲存的搜尋。 |
| Microsoft.OperationalInsights/workspaces/search/action | 搜尋 Log Analytics 工作區。 |
| Microsoft.OperationalInsights/workspaces/sharedKeys/action | 列出 Log Analytics 工作區的金鑰。 |
| Microsoft.OperationalInsights/workspaces/storageinsightconfigs/* | 管理 Azure 監視器記錄儲存體見解設定。 |
| Microsoft.Support/* | 建立和管理支援票證。 |
| Microsoft.WorkloadMonitor/workloads/* | 管理「工作負載」。 |
監視讀取器
「監視讀者」可以讀取所有監視資料。 下表說明針對此角色授與的權限:
| 動作 | 說明 |
|---|---|
| */read | 讀取密碼以外的所有類型的資源。 |
| Microsoft.OperationalInsights/workspaces/search/action | 搜尋 Log Analytics 工作區。 |
| Microsoft.Support/* | 建立和管理支援票證 |
使用者存取系統管理員
「使用者存取系統管理員」可以管理使用者對 Azure 資源的存取權。 下表說明針對此角色授與的權限:
| 動作 | 說明 |
|---|---|
| */read | 讀取所有資源 |
| Microsoft.Authorization/* | 管理授權 |
| Microsoft.Support/* | 建立和管理支援票證 |
讀者角色型存取權限
重要事項
為了加強整體 Azure 自動化安全性狀態,內建的 RBAC 讀取器無法透過 API 呼叫 - GET /AUTOMATIONACCOUNTS/AGENTREGISTRATIONINFORMATION 存取自動化帳戶金鑰。
自動化帳戶的內建讀者角色無法使用 API – GET /AUTOMATIONACCOUNTS/AGENTREGISTRATIONINFORMATION 來擷取自動化帳戶金鑰。 這是一項高權限作業,提供敏感性資訊,可能會造成具有低權限之惡意執行者的安全性風險,這些惡意執行者可以存取自動化帳戶金鑰,並可執行具有更高權等級的動作。
若要存取 API – GET /AUTOMATIONACCOUNTS/AGENTREGISTRATIONINFORMATION,建議您切換至內建角色,例如擁有者、參與者或自動化參與者來存取自動化帳戶金鑰。 根據預設,這些角色將會具有 listKeys 權限。 建議您的最佳做法是建立具有有限權限的自訂角色來存取自動化帳戶金鑰。 針對自訂角色,您必須將 Microsoft.Automation/automationAccounts/listKeys/action 權限新增至角色定義。
深入了解如何從 Azure 入口網站建立自訂角色。
功能設定權限
下列各節說明啟用更新管理和變更追蹤和清查功能所需的最低權限。
從 VM 啟用更新管理和變更追蹤和清查的權限
| 動作 | 權限 | 最基本範圍 |
|---|---|---|
| 寫入新的部署 | Microsoft.Resources/deployments/* | 訂用帳戶 |
| 寫入新的資源群組 | Microsoft.Resources/subscriptions/resourceGroups/write | 訂用帳戶 |
| 建立新的預設「工作區」 | Microsoft.OperationalInsights/workspaces/write | 資源群組 |
| 建立新的「帳戶」 | Microsoft.Automation/automationAccounts/write | 資源群組 |
| 連結工作區和帳戶 | Microsoft.OperationalInsights/workspaces/write Microsoft.Automation/automationAccounts/read |
工作區 自動化帳戶 |
| 建立 MMA 延伸模組 | Microsoft.Compute/virtualMachines/write | 虛擬機器 |
| 建立已儲存的搜尋 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
| 建立範圍設定 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
| 上線狀態檢查 - 讀取工作區 | Microsoft.OperationalInsights/workspaces/read | 工作區 |
| 上線狀態檢查 - 讀取帳戶的已連結工作區屬性 | Microsoft.Automation/automationAccounts/read | 自動化帳戶 |
| 上線狀態檢查 - 讀取解決方案 | Microsoft.OperationalInsights/workspaces/intelligencepacks/read | 解決方法 |
| 上線狀態檢查 - 讀取 VM | Microsoft.Compute/virtualMachines/read | 虛擬機器 |
| 上線狀態檢查 - 讀取帳戶 | Microsoft.Automation/automationAccounts/read | 自動化帳戶 |
| VM 的上線工作區檢查1 | Microsoft.OperationalInsights/workspaces/read | 訂用帳戶 |
| 註冊 Log Analytics 提供者 | Microsoft.Insights/register/action | 訂用帳戶 |
1 需要此權限,才能透過 VM 入口網站體驗來啟用功能。
從自動化帳戶啟用更新管理和變更追蹤和清查的權限
| 動作 | 權限 | 最基本範圍 |
|---|---|---|
| 建立新的部署 | Microsoft.Resources/deployments/* | 訂用帳戶 |
| 建立新的資源群組 | Microsoft.Resources/subscriptions/resourceGroups/write | 訂用帳戶 |
| AutomationOnboarding 刀鋒視窗 - 建立新的工作區 | Microsoft.OperationalInsights/workspaces/write | 資源群組 |
| AutomationOnboarding 刀鋒視窗 - 讀取已連結的工作區 | Microsoft.Automation/automationAccounts/read | 自動化帳戶 |
| AutomationOnboarding 刀鋒視窗 - 讀取解決方案 | Microsoft.OperationalInsights/workspaces/intelligencepacks/read | 解決方法 |
| AutomationOnboarding 刀鋒視窗 - 讀取工作區 | Microsoft.OperationalInsights/workspaces/intelligencepacks/read | 工作區 |
| 為工作區和帳戶建立連結 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
| 寫入 Shoebox 的帳戶 | Microsoft.Automation/automationAccounts/write | 帳戶 |
| 建立/編輯已儲存的搜尋 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
| 建立/編輯範圍設定 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
| 註冊 Log Analytics 提供者 | Microsoft.Insights/register/action | 訂用帳戶 |
| 步驟 2 - 啟用多個 VM | ||
| VMOnboarding 刀鋒視窗 - 建立 MMA 延伸模組 | Microsoft.Compute/virtualMachines/write | 虛擬機器 |
| 建立/編輯已儲存的搜尋 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
| 建立/編輯範圍設定 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
管理混合式背景工作角色群組和混合式背景工作角色的角色權限
您可以在自動化中建立 Azure 自訂角色,並將下列權限授與混合式背景工作角色群組和混合式背景工作角色:
為您的自動化帳戶設定 Azure RBAC
下一節將說明如何透過 Azure 入口網站和 PowerShell,在您的自動化帳戶上設定 Azure RBAC。
使用 Azure 入口網站設定 Azure RBAC
登入 Azure 入口網站,並從 [自動化帳戶] 分頁開啟您的自動化帳戶。
請選取 [存取控制 (IAM)] ,然後從可用角色清單中選取角色。 您可以選擇「自動化」帳戶支援的任何可用內建角色,或您已定義的任何自訂角色。 將角色指派給您想要向其授與權限的使用者。
如需詳細步驟,請參閱使用 Azure 入口網站指派 Azure 角色。
附註
您只能在「自動化」帳戶範圍設定角色型存取控制,而無法在「自動化」帳戶以下的任何資源設定。
從使用者移除角色指派
您可以針對未管理「自動化」帳戶的使用者,或不再為組織工作的使用者,移除存取權限。 下列步驟說明如何從使用者移除角色指派。 如需詳細步驟,請參閱移除 Azure 角色指派:
針對您要移除存取權的範圍 (例如管理群組、訂用帳戶、資源群組或資源) 開啟 [存取控制 (IAM)]。
請選取 [角色指派] 索引標籤以檢視此範圍中的所有角色指派。
在 [角色指派清單] 中,於想要移除其角色指派的使用者旁增添核取記號。
選取 [移除]。
使用 PowerShell 設定 Azure RBAC
您也可以使用下列 Azure PowerShell Cmdlet,設定對自動化帳戶的角色型存取:
Get-AzRoleDefinition 會列出 Microsoft Entra ID 中可用的所有 Azure 角色。 您可以使用此 Cmdlet 搭配 Name 參數,列出特定角色可以執行的所有動作。
Get-AzRoleDefinition -Name 'Automation Operator'
以下是範例輸出:
Name : Automation Operator
Id : d3881f73-407a-4167-8283-e981cbba0404
IsCustom : False
Description : Automation Operators are able to start, stop, suspend, and resume jobs
Actions : {Microsoft.Authorization/*/read, Microsoft.Automation/automationAccounts/jobs/read, Microsoft.Automation/automationAccounts/jobs/resume/action,
Microsoft.Automation/automationAccounts/jobs/stop/action...}
NotActions : {}
AssignableScopes : {/}
Get-AzRoleAssignment 會列出在指定範圍的 Azure 角色指派。 如果沒有任何參數,此 Cmdlet 會傳回在訂閱下所做的所有角色指派。 使用 ExpandPrincipalGroups 參數,列出特定使用者以及該使用者所屬群組的存取權指派。
範例:使用下列 Cmdlet 列出自動化帳戶中的所有使用者以及其角色。
Get-AzRoleAssignment -Scope '/subscriptions/<SubscriptionID>/resourcegroups/<Resource Group Name>/Providers/Microsoft.Automation/automationAccounts/<Automation account name>'
以下是範例輸出:
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Automation/automationAccounts/myAutomationAccount/provid
ers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Automation/automationAccounts/myAutomationAccount
DisplayName : admin@contoso.com
SignInName : admin@contoso.com
RoleDefinitionName : Automation Operator
RoleDefinitionId : d3881f73-407a-4167-8283-e981cbba0404
ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
ObjectType : User
使用 New-AzRoleAssignment 可將特定範圍的存取權指派給使用者、群組及應用程式。
範例:請使用下列命令來為「自動化帳戶」範圍內的使用者指派「自動化運算子」角色。
New-AzRoleAssignment -SignInName <sign-in Id of a user you wish to grant access> -RoleDefinitionName 'Automation operator' -Scope '/subscriptions/<SubscriptionID>/resourcegroups/<Resource Group Name>/Providers/Microsoft.Automation/automationAccounts/<Automation account name>'
以下是範例輸出:
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myResourceGroup/Providers/Microsoft.Automation/automationAccounts/myAutomationAccount/provid
ers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myResourceGroup/Providers/Microsoft.Automation/automationAccounts/myAutomationAccount
DisplayName : admin@contoso.com
SignInName : admin@contoso.com
RoleDefinitionName : Automation Operator
RoleDefinitionId : d3881f73-407a-4167-8283-e981cbba0404
ObjectId : bbbbbbbb-1111-2222-3333-cccccccccccc
ObjectType : User
使用 Remove-AzRoleAssignment 從特定範圍移除所指定使用者、群組或應用程式的存取權。
範例:請使用下列命令,從「自動化」帳戶範圍內的「自動化操作員」角色中移除使用者。
Remove-AzRoleAssignment -SignInName <sign-in Id of a user you wish to remove> -RoleDefinitionName 'Automation Operator' -Scope '/subscriptions/<SubscriptionID>/resourcegroups/<Resource Group Name>/Providers/Microsoft.Automation/automationAccounts/<Automation account name>'
在上述範例中,請以您的帳戶詳細資料取代 sign-in ID of a user you wish to remove、SubscriptionID、Resource Group Name和Automation account name。 當系統提示您確認時,請選擇 [是],然後再繼續移除使用者角色指派。
自動化操作員角色的使用者體驗 - 自動化帳戶
當獲指派自動化帳戶範圍的「自動化操作員」角色的使用者檢視獲指派的自動化帳戶時,該使用者只能檢視在該自動化帳戶中建立的 Runbook、Runbook 作業及排程的清單。 此使用者無法檢視這些項目的定義。 使用者可以啟動、停止、暫停、繼續或排程 Runbook 作業。 不過,使用者無法存取其他「自動化」資源,例如設定、混合式 Runbook 背景工作角色群組或 DSC 節點。
為 Runbook 設定 Azure RBAC
Azure 自動化可讓您將 Azure 角色指派給特定 Runbook。 若要達成目的,請執行下列指令碼,將使用者新增至特定 Runbook。 自動化帳戶管理員或租用戶系統管理員可以執行此指令碼。
$rgName = "<Resource Group Name>" # Resource Group name for the Automation account
$automationAccountName ="<Automation account name>" # Name of the Automation account
$rbName = "<Name of Runbook>" # Name of the runbook
$userId = "<User ObjectId>" # Azure Active Directory (AAD) user's ObjectId from the directory
# Gets the Automation account resource
$aa = Get-AzResource -ResourceGroupName $rgName -ResourceType "Microsoft.Automation/automationAccounts" -ResourceName $automationAccountName
# Get the Runbook resource
$rb = Get-AzResource -ResourceGroupName $rgName -ResourceType "Microsoft.Automation/automationAccounts/runbooks" -ResourceName "$rbName"
# The Automation Job Operator role only needs to be run once per user.
New-AzRoleAssignment -ObjectId $userId -RoleDefinitionName "Automation Job Operator" -Scope $aa.ResourceId
# Adds the user to the Automation Runbook Operator role to the Runbook scope
New-AzRoleAssignment -ObjectId $userId -RoleDefinitionName "Automation Runbook Operator" -Scope $rb.ResourceId
執行指令碼後,使用者就可以登入 Azure 入口網站,並選取 [所有資源]。 在清單中,使用者可以看到已將其新增為自動化 Runbook 操作員的 Runbook。
自動化操作員角色的使用者體驗 - Runbook
當指派至 Runbook 範圍之自動化操作員角色的使用者檢視已指派的 Runbook 時,只能啟動 Runbook 並檢視 Runbook 作業。
後續步驟
- 若要了解安全性指導方針,請參閱 Azure 自動化的安全性最佳做法。
- 若要深入了解使用 PowerShell 的 Azure RBAC,請參閱使用 Azure PowerShell 新增或移除 Azure 角色指派。
- 如需 Runbook 類型的詳細資料,請參閱 Azure 自動化 Runbook 類型。
- 若要啟動 Runbook,請參閱在 Azure 自動化中啟動 Runbook。