管理 Log Analytics 工作區的存取權
決定您可在 Log Analytics 工作區中存取哪些資料的因素如下:
- 工作區本身的設定。
- 您對將資料傳送至工作區之資源的存取權限。
- 用來存取工作區的方法。
本文說明如何管理 Log Analytics 工作區中資料的存取權。
概觀
下表描述了可定義您有權存取資料的因素。 後續各節將進一步說明這其中的每個因素。
係數 | 描述 |
---|---|
存取模式 | 用來存取工作區的方法。 定義可用資料的範圍,以及套用的存取控制模式。 |
存取控制模式 | 工作區上的設定,定義是否要在工作區或資源層級套用權限。 |
Azure 角色型存取控制 (RBAC) | 個人或使用者群組針對工作區或傳送資料至工作區的資源所套用的權限。 定義您有權存取的資料。 |
資料表層級的 Azure RBAC | 選擇性權限,定義工作區中您有權存取的特定資料類型。 可以套用至所有存取模式或存取控制模式。 |
存取模式
「存取模式」是指您存取 Log Analytics 工作區的方式,並定義您可以在目前工作階段期間存取的資料。 此模式取決於您在 Log Analytics 中所選的範圍。
有兩種存取模式:
- 工作區內容:您可以檢視有權存取之工作區中的所有記錄。 此模式中的查詢範圍限定於您在工作區中可存取之資料表中的所有資料。 這是以工作區為範圍來存取記錄時所使用的存取模式 (例如當您從 Azure 入口網站的 [Azure 監視器] 功能表中選取 [記錄] 時)。
- 資源內容:當您存取特定資源、資源群組或訂閱的工作區時 (例如當您從 Azure 入口網站的資源功能表中選取 [記錄] 時),您只能檢視有權存取之所有資料表中的資源記錄。 此模式中的查詢範圍僅限於與該資源相關聯的資料。 此模式也會啟用細微 Azure RBAC。 工作區會使用資源內容記錄模型,其中 Azure 資源發出的每一筆記錄都會自動與此資源相關聯。
只有在記錄與相關資源相關聯時,才能在資源內容查詢中使用。 若要檢查此項關聯,請執行查詢,並確認已填入 _ResourceId 資料行。
下列資源有已知的限制:
- Azure 以外的電腦:資源內容僅支援適用於伺服器的 Azure Arc。
- Application Insights:只有在使用以工作區為基礎的 Application Insights 資源時,才支援資源內容。
- Azure Service Fabric
比較存取模式
下表摘要說明存取模式:
問題 | 工作區內容 | 資源內容 |
---|---|---|
每個模型的適用對象為誰? | 管理中心。 需要設定資料收集的系統管理員,以及需要存取各種資源的使用者。 此外,必須存取 Azure 外部資源記錄的使用者目前也需要。 |
應用程式小組。 受監視 Azure 資源的系統管理員。 讓管理員專注於自己的資源,而不需要篩選條件。 |
使用者需要哪些權限才能檢視記錄? | 工作區的權限。 請參閱使用工作區權限管理存取權中的「工作區權限」。 |
資源的讀取存取權。 請參閱使用 Azure 權限管理存取權中的「資源權限」。 權限可以從資源群組或訂閱繼承,或直接指派給資源。 系統會自動指派資源記錄的權限。 使用者不需要存取工作區。 |
權限的範圍為何? | 工作區。 具有工作區存取權的使用者,可以在工作區中從有權存取的資料表查詢所有記錄。 請參閱設定資料表等級讀取權限。 |
Azure 資源。 使用者可以在任何工作區中查詢他們有權存取的特定資源、資源群組或訂閱的記錄,但他們無法查詢其他資源的記錄。 |
使用者如何存取記錄? | 在 [Azure 監視器] 功能表中選取 [記錄]。 從 [Log Analytics 工作區] 中選取 [記錄]。 從 Azure 監視器活頁簿。 |
選取 Azure 資源功能表中的 [記錄]。 使用者將可存取該資源的資料。 在 [Azure 監視器] 功能表中選取 [記錄]。 使用者可以存取其有權存取之所有資源的資料。 如果使用者具有工作區的存取權,請從 [Log Analytics 工作區] 選取 [記錄]。 從 Azure 監視器活頁簿。 |
存取控制模式
「存取控制模式」是每個工作區的設定,可定義如何決定適用於工作區的權限。
需要工作區權限。 此控制模式不允許細微的 Azure 角色型存取控制。 若要能夠存取工作區,則必須將工作區或特定資料表的權限授與使用者。
如果使用者在工作區內容模式中存取工作區,他們就能存取已獲授與存取權之任何資料表中的所有資料。 如果使用者在資源內容模式中存取工作區,他們就只能存取任何已獲授與存取權之資料表中該資源的資料。
此設定是在 2019 年 3 月前建立的所有工作區的預設設定。
使用資源或工作區權限。 此控制模式可允許細微的 Azure RBAC。 使用者只能透過指派 Azure
read
權限,獲授與他們可檢視之資源相關聯的資料的存取權。當使用者以工作區內容模式存取工作區時,會套用工作區權限。 當使用者以資源內容模式存取工作區時,只會驗證資源權限,並忽略工作區權限。 透過從工作區權限移除使用者,並允許辨識其資源權限,為使用者啟用 Azure RBAC。
此設定是在 2019 年 3 月後建立的所有工作區的預設。
注意
如果使用者只有工作區的資源權限,則他們只能使用資源內容模式存取工作區 (假設工作區存取模式設定為 [使用資源或工作區權限])。
設定工作區的存取控制模式
在 [Log Analytics 工作區] 功能表中的工作區的 [概觀] 頁面檢視目前的工作區存取控制模式。
在工作區的 [屬性] 頁面中變更此設定。 如果您沒有設定工作區的權限,則會停用變更設定。
Azure RBAC
使用 Azure RBAC 管理工作區存取權。 若要使用 Azure 權限授與 Log Analytics 工作區的存取權,請遵循指派 Azure 角色以管理 Azure 訂閱資源的存取權中所述的步驟。
工作區權限
每個工作區可以有多個與其相關聯的帳戶。 每個帳戶可以存取多個工作區。 下表列出不同工作區動作的 Azure 權限:
動作 | 所需的 Azure 權限 | 備註 |
---|---|---|
變更定價層。 | Microsoft.OperationalInsights/workspaces/*/write |
|
在 Azure 入口網站中建立工作區。 | Microsoft.Resources/deployments/* Microsoft.OperationalInsights/workspaces/* |
|
檢視工作區基本屬性,並輸入入口網站中的工作區窗格。 | Microsoft.OperationalInsights/workspaces/read |
|
使用任何介面查詢記錄。 | Microsoft.OperationalInsights/workspaces/query/read |
|
使用查詢存取所有記錄類型。 | Microsoft.OperationalInsights/workspaces/query/*/read |
|
存取特定記錄資料表 - 舊版方法 | Microsoft.OperationalInsights/workspaces/query/<table_name>/read |
|
讀取工作區金鑰以允許將記錄傳送至此工作區。 | Microsoft.OperationalInsights/workspaces/sharedKeys/action |
|
建立或更新摘要規則 | Microsoft.Operationalinsights/workspaces/summarylogs/write |
|
新增及移除監視解決方案。 | Microsoft.Resources/deployments/* Microsoft.OperationalInsights/* Microsoft.OperationsManagement/* Microsoft.Automation/* Microsoft.Resources/deployments/*/write 必須在資源群組或訂用帳戶層級授與這些權限。 |
|
檢視 [備份] 和 [Site Recovery] 解決方案圖格中的資料。 | 系統管理員/共同管理員 存取使用傳統部署模型所部署的資源。 |
|
執行搜尋工作。 | Microsoft.OperationalInsights/workspaces/tables/write Microsoft.OperationalInsights/workspaces/searchJobs/write |
|
從長期保留還原資料。 | Microsoft.OperationalInsights/workspaces/tables/write Microsoft.OperationalInsights/workspaces/restoreLogs/write |
內建角色
指派使用者這些角色,可提供他們不同範圍的存取權:
- 訂閱:存取訂閱中的所有工作區
- 資源群組:存取資源群組中的所有工作區
- 資源:僅存取指定的工作區
在資源層級 (工作區) 建立指派,以確保準確的存取控制。 使用自訂角色建立具備所需特定權限的角色。
注意
若要新增及移除某個使用者角色的使用者,您必須具有 Microsoft.Authorization/*/Delete
和 Microsoft.Authorization/*/Write
權限。
Log Analytics 讀者
Log Analytics 讀取者角色的成員可以檢視所有監視資料和監視設定,包括所有 Azure 資源的 Azure 診斷設定。 可讓成員檢視指派範圍內資源的所有數據,包括:
- 檢視及搜尋所有監視資料。
- 檢視監視設定,包括檢視所有 Azure 資源的 Azure 診斷設定。
Log Analytics 讀者角色包含下列 Azure 動作:
類型 | 權限 | 描述 |
---|---|---|
動作 | */read |
檢視所有 Azure 資源和資源組態的能力。 包括檢視: - 虛擬機器擴充功能狀態。 - 在資源上設定 Azure 診斷。 - 所有資源的所有屬性和設定。 對於工作區,允許完整、不受限制的使用權限,以讀取工作區設定並查詢資料。 請參閱上述清單中更細微的選項。 |
動作 | Microsoft.Support/* |
能夠開啟支援案例。 |
不是動作 | Microsoft.OperationalInsights/workspaces/sharedKeys/read |
防止讀取在使用資料收集 API 和安裝代理程式時所需的工作區金鑰。 這可防止使用者將新資源新增至工作區。 |
Log Analytics 參與者
Log Analytics 參與者角色的成員可以:
- 讀取 Log Analytics 讀取者角色授與的所有監視資料。
- 編輯 Azure 資源的監視設定,包括:
- 將 VM 延伸模組新增至 VM。
- 在所有 Azure 資源上設定 Azure 診斷。
- 建立及設定自動化帳戶。 權限必須在資源群組或訂用帳戶層級授與。
- 新增和移除管理解決方案。 權限必須在資源群組或訂用帳戶層級授與。
- 讀取儲存體帳戶金鑰。
- 設定從 Azure 儲存體收集記錄。
- 設定資料匯出規則。
- 執行搜尋作業。
- 從長期保留還原資料。
警告
您可以使用將虛擬機器擴充功能新增至虛擬機器的權限,取得虛擬機器的完整控制權。
Log Analytics 參與者角色包含下列 Azure 動作:
權限 | 描述 |
---|---|
*/read |
檢視所有 Azure 資源和資源組態的能力。 包括檢視: - 虛擬機器擴充功能狀態。 - 在資源上設定 Azure 診斷。 - 所有資源的所有屬性和設定。 對於工作區,允許完整、不受限制的使用權限,以讀取工作區設定並查詢資料。 請參閱上述清單中更細微的選項。 |
Microsoft.Automation/automationAccounts/* |
能夠建立及設定 Azure 自動化帳戶,包括新增和編輯 Runbook。 |
Microsoft.ClassicCompute/virtualMachines/extensions/* Microsoft.Compute/virtualMachines/extensions/* |
新增、更新及移除虛擬機器擴充功能,包括 Microsoft Monitoring Agent 擴充功能和適用於 Linux 的 OMS 代理程式擴充功能。 |
Microsoft.ClassicStorage/storageAccounts/listKeys/action Microsoft.Storage/storageAccounts/listKeys/action |
檢視儲存體帳戶金鑰。 需具備此權限,才能設定 Log Analytics 以讀取 Azure Blob 儲存體帳戶中的記錄。 |
Microsoft.Insights/alertRules/* |
新增、更新和移除警示規則。 |
Microsoft.Insights/diagnosticSettings/* |
在 Azure 資源上新增、更新和移除診斷設定。 |
Microsoft.OperationalInsights/* |
新增、更新和移除 Log Analytics 工作區的設定。 若要編輯工作區進階設定,使用者需要 Microsoft.OperationalInsights/workspaces/write 。 |
Microsoft.OperationsManagement/* |
新增和移除管理解決方案。 |
Microsoft.Resources/deployments/* |
建立及刪除部署。 需具備此權限,才能新增及移除解決方案、工作區和自動化帳戶。 |
Microsoft.Resources/subscriptions/resourcegroups/deployments/* |
建立及刪除部署。 需具備此權限,才能新增及移除解決方案、工作區和自動化帳戶。 |
資源權限
若要在資源內容中從工作區讀取資料或將資料傳送至其中,您需要資源的下列權限:
權限 | 描述 |
---|---|
Microsoft.Insights/logs/*/read |
能夠檢視資源的所有記錄資料 |
Microsoft.Insights/logs/<tableName>/read 範例: Microsoft.Insights/logs/Heartbeat/read |
能夠檢視此資源的特定資料表 - 舊版方法 |
Microsoft.Insights/diagnosticSettings/write |
能夠設定診斷設定,以允許設定此資源的記錄 |
/read
權限授與通常來自含有 */read or* 權限的角色,例如內建的讀者和參與者角色。 包含特定動作或專用內建角色的自訂角色,可能不含此權限。
自訂角色範例
除了使用 Log Analytics 工作區的內建角色之外,您還可以建立自訂角色來指派更細微的權限。 以下是一些常見範例。
範例 1:授與使用者讀取其資源中記錄資料的權限。
- 設定工作區存取控制模式以「使用工作區或資源權限」。
- 授與使用者對其資源的
*/read
或Microsoft.Insights/logs/*/read
使用權限。 如果使用者已被指派工作區上的 Log Analytics 讀者角色,則已足夠。
範例 2:授與使用者讀取其資源中記錄資料並執行搜尋作業的權限。
- 設定工作區存取控制模式以「使用工作區或資源權限」。
- 授與使用者對其資源的
*/read
或Microsoft.Insights/logs/*/read
使用權限。 如果使用者已被指派工作區上的 Log Analytics 讀者角色,則已足夠。 - 授與使用者下列工作區權限:
Microsoft.OperationalInsights/workspaces/tables/write
:需有才能建立搜尋結果資料表 (_SRCH)。Microsoft.OperationalInsights/workspaces/searchJobs/write
:需有才允許執行搜尋作業。
範例 3:授與使用者讀取其資源中記錄資料的權限,並將其資源設定為將記錄傳送至 Log Analytics 工作區。
- 設定工作區存取控制模式以「使用工作區或資源權限」。
- 授與使用者下列工作區權限:
Microsoft.OperationalInsights/workspaces/read
和Microsoft.OperationalInsights/workspaces/sharedKeys/action
。 使用這些權限時,使用者無法執行任何工作區層級的查詢。 使用者只能列舉工作區,並用作診斷設定或代理程式設定的目的地。 - 授與使用者下列資源權限:
Microsoft.Insights/logs/*/read
和Microsoft.Insights/diagnosticSettings/write
。 如果已獲指派 Log Analytics 參與者角色、獲指派讀者角色或已被授與此資源的*/read
權限,則已足夠。
範例 4:授與使用者讀取其資源中記錄資料的權限,但不會將記錄傳送至 Log Analytics 工作區或讀取安全性事件。
- 設定工作區存取控制模式以「使用工作區或資源權限」。
- 授與使用者下列資源權限:
Microsoft.Insights/logs/*/read
。 - 新增下列 NonAction 以封鎖使用者讀取 SecurityEvent 類型:
Microsoft.Insights/logs/SecurityEvent/read
。 NonAction 所屬的自訂角色,應與提供讀取權限的動作相同 (Microsoft.Insights/logs/*/read
)。 如果使用者從指派給此資源、訂閱或資源群組的另一個角色繼承了讀取動作,則可以讀取所有記錄類型。 如果使用者繼承了既有的*/read
,例如從「讀者」或「參與者」角色繼承而來,則也可以讀取所有記錄類型。
範例 5:授與使用者權限,以從其資源和所有 Microsoft Entra 登入讀取記錄資料,以及讀取 Log Analytics 工作區中的更新管理解決方案記錄資料。
- 設定工作區存取控制模式以「使用工作區或資源權限」。
- 授與使用者下列工作區權限:
Microsoft.OperationalInsights/workspaces/read
:必要權限,讓使用者可以在 Azure 入口網站列舉工作區,並開啟工作區窗格Microsoft.OperationalInsights/workspaces/query/read
:執行查詢的每個使用者都需要此權限Microsoft.OperationalInsights/workspaces/query/SigninLogs/read
:能夠讀取 Microsoft Entra 登入記錄Microsoft.OperationalInsights/workspaces/query/Update/read
:能夠讀取「更新管理」解決方案記錄Microsoft.OperationalInsights/workspaces/query/UpdateRunProgress/read
:能夠讀取「更新管理」解決方案記錄Microsoft.OperationalInsights/workspaces/query/UpdateSummary/read
:能夠讀取「更新管理」記錄Microsoft.OperationalInsights/workspaces/query/Heartbeat/read
:使用「更新管理」解決方案的必要權限Microsoft.OperationalInsights/workspaces/query/ComputerGroup/read
:使用「更新管理」解決方案的必要權限
- 授與使用者其資源的下列權限:指派給讀者角色的
*/read
,或是Microsoft.Insights/logs/*/read
範例 6:限制使用者從長期保留還原資料。
- 設定工作區存取控制模式以「使用工作區或資源權限」。
- 將使用者指派至 Log Analytics 參與者角色。
- 新增下列 NonAction 來封鎖使用者從長期保留還原資料:
Microsoft.OperationalInsights/workspaces/restoreLogs/write
設定資料表等級的讀取權限
請參閱管理資料表等級讀取權限。
下一步
- 請參閱 Log Analytics 代理程式概觀,從您資料中心或其他雲端環境中的電腦收集資料。
- 請參閱收集關於 Azure 虛擬機器的資料,以設定 Azure VM 資料收集。