在 Azure 自動化中管理角色權限和安全性
角色型存取控制 (Azure RBAC) 可以啟用對 Azure 資源的存取權管理。 您可以使用 Azure RBAC 來區隔小組內的職責,僅授與使用者、群組及應用程式執行作業所需的存取權範圍。 您可以使用 Azure 入口網站、Azure 命令列工具或 Azure 管理 API,授與使用者角色型存取權。
自動化帳戶中的角色
在Azure 自動化中,透過將適當的 Azure 角色指派給自動化帳戶範圍中的使用者、群組和應用程式,授與存取權。 以下是自動化帳戶支援的內建角色:
Role | 說明 |
---|---|
負責人 | 擁有者角色允許存取自動化帳戶內的所有資源和動作,包括提供對其他使用者、群組和應用程式的存取權來管理自動化帳戶。 |
參與者 | 參與者角色可讓您管理各個項目,修改其他使用者的自動化帳戶存取權限除外。 |
讀取者 | 讀取者角色可讓您檢視自動化帳戶中的所有資源,但無法進行任何更改。 |
自動化參與者 | 自動化參與者角色允許您管理自動化帳戶中的所有資源,但修改其他使用者對自動化帳戶的存取權限除外。 |
自動化操作員 | 自動化操作員角色可讓您檢視 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 自動化帳戶的使用者存取權。 |
角色權限
下表描述賦予每個角色的特定權限。 這可以包括賦予權限的動作和限制權限的非動作。
負責人
擁有者可以管理所有內容,包括存取權限。 下表顯示授與角色的權限:
動作 | 描述 |
---|---|
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 的存取權限,請不要設定此角色。 請改用自動化作業操作員和自動化 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/availabilityStatuses/read | 取得指定範圍中所有資源的可用性狀態。 |
自動化作業操作員
自動化作業操作員角色是在自動化帳戶範圍內授與的。 這可讓操作員權限為帳戶中的所有 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/delete | 虛擬機器 |
建立已儲存的搜尋 | 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/delete | 虛擬機器 |
建立/編輯已儲存的搜尋 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
建立/編輯範圍設定 | Microsoft.OperationalInsights/workspaces/write | 工作區 |
管理混合式背景工作角色群組和混合式背景工作角色的角色權限
您可以在自動化中建立 Azure 自訂角色,並將下列權限授與混合式背景工作角色群組和混合式背景工作角色:
更新管理權限
「更新管理」可用來在相同 Microsoft Entra 租用戶的多個訂用帳戶中,或使用 Azure Lighthouse 跨租用戶評估及排程機器的更新部署。 下表列出管理更新部署所需的權限。
資源 | Role | 範圍 |
---|---|---|
自動化帳戶 | 虛擬機器參與者 | 帳戶的「資源群組」 |
Log Analytics 工作區 | Log Analytics 參與者 | Log Analytics 工作區 |
Log Analytics 工作區 | Log Analytics 讀者 | 訂用帳戶 |
解決方案 | Log Analytics 參與者 | 解決方案 |
虛擬機器 | 虛擬機器參與者 | 虛擬機器 |
虛擬機器上的動作 | ||
檢視更新排程執行的記錄 (軟體更新組態機器執行) | 讀取者 | 自動化帳戶 |
虛擬機器上的動作 | 權限 | |
建立更新排程 (軟體更新組態) | Microsoft.Compute/virtualMachines/delete | 針對靜態 VM 清單及資源群組 |
建立更新排程 (軟體更新組態) | Microsoft.OperationalInsights/workspaces/analytics/query/action | 針對使用非 Azure 動態清單時的工作區資源識別碼。 |
注意
當您使用更新管理,請確保指令碼的執行原則為 RemoteSigned。
為您的自動化帳戶設定 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。