管理 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 RBAC。 若要存取工作區,使用者必須 獲授與工作區 或 特定資料表 的許可權。
如果使用者在工作區內容模式 中 存取工作區,他們有權存取任何已獲授與存取權之資料表中的所有資料。 如果使用者在資源內容模式 中 存取工作區,他們只能存取任何已獲授與存取權之資料表中該資源的資料。
此設定是 2019 年 3 月之前建立之所有工作區的預設值。
使用資源或工作區許可權 。 此控制模式允許細微的 Azure RBAC。 使用者只能透過指派 Azure
read
許可權來授與他們可檢視之資源相關聯的資料存取權。當使用者以 工作區內容模式 存取工作區時,會套用工作區許可權。 當使用者以 資源內容模式 存取工作區時,只會驗證資源許可權,並忽略工作區許可權。 將 Azure RBAC 從工作區許可權中移除,並允許辨識其資源許可權,為使用者啟用 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.Resources/deployments/* Microsoft.OperationalInsights/* Microsoft.OperationsManagement/* Microsoft.Automation/* Microsoft.Resources/deployments/*/write 這些許可權必須在資源群組或訂用帳戶層級授與。 |
|
檢視備份 和 Site Recovery 解決方案圖格中的資料 。 | 管理員istrator/共同管理員 使用傳統部署模型存取部署的資源。 |
|
執行搜尋工作。 | Microsoft.OperationalInsights/workspaces/tables/write Microsoft.OperationalInsights/workspaces/searchJobs/write |
|
從封存資料表還原資料。 | Microsoft.OperationalInsights/workspaces/tables/write Microsoft.OperationalInsights/workspaces/restoreLogs/write |
內建角色
將使用者指派給這些角色,讓他們在不同的範圍存取權:
- 訂 用帳戶:存取訂用帳戶中的所有工作區
- 資源群組 :存取資源群組中的所有工作區
- 資源 :僅存取指定的工作區
在資源層級 (workspace) 建立指派,以確保精確的存取控制。 使用 自訂角色 來建立具有所需特定許可權的角色。
注意
若要將使用者新增和移除至使用者角色,您必須擁有 Microsoft.Authorization/*/Delete
和 Microsoft.Authorization/*/Write
許可權。
Log Analytics 讀者
Log Analytics 讀取者角色的成員可以檢視所有監視資料和監視設定,包括所有 Azure 資源的 Azure 診斷設定。
Log Analytics 讀取者角色的成員可以:
- 檢視及搜尋所有監視資料。
- 檢視監視設定,包括檢視所有 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 擴充功能和 OMS Agent for Linux 擴充功能。 |
Microsoft.ClassicStorage/storageAccounts/listKeys/action Microsoft.Storage/storageAccounts/listKeys/action |
檢視記憶體帳戶金鑰。 設定 Log Analytics 從 Azure 儲存體 帳戶讀取記錄的必要專案。 |
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
通常會從包含 */讀取或*許可權的角色授與,例如內建讀者和參與者角色。 包含特定動作或專用內建角色的自定義角色可能不會包含此許可權。
自定義角色範例
除了使用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
設定數據表層級讀取許可權
數據表層級存取設定可讓您將特定使用者或群組只讀許可權授與特定數據表的數據。 具有數據表層級讀取許可權的使用者可以從工作區和資源內容中的指定數據表讀取數據。
注意
建議您使用這裡所述的 方法,目前處於預覽狀態,以定義數據表層級存取。 或者,您可以使用 舊版方法來設定數據表層級讀取存取權,這有一些與自定義記錄數據表相關的限制。 在預覽期間,此處所述的建議方法不適用於 Microsoft Sentinel 偵測規則,這些規則可能具有比預期更多的數據表存取權。 使用任一方法之前,請參閱 數據表層級存取考慮和限制。
授與數據表層級讀取許可權牽涉到指派使用者兩個角色:
- 在工作區層級 - 提供有限許可權的自定義角色,可讀取工作區詳細數據並在工作區中執行查詢,但無法從任何數據表讀取數據。
- 在數據表層級 - 範圍 限定於特定數據表的讀取者 角色。
若要授與使用者或群組對 Log Analytics 工作區的有限許可權:
在工作區層級建立 自定義角色 ,讓使用者讀取工作區詳細數據並在工作區中執行查詢,而不需要提供任何數據表數據的讀取許可權:
流覽至您的工作區,然後選取 [訪問控制][IAM][>角色]。
以滑鼠右鍵按兩下 [ 讀取者 ] 角色,然後選取 [ 複製]。
這會開啟 [ 建立自定義角色 ] 畫面。
在畫面的 [ 基本] 索引 標籤上:
- 輸入 [ 自定義角色名稱] 值,並選擇性地提供描述。
- 將 [基準] 許可權 設定 為 [從頭 開始]。
選取 [JSON] 索引標籤 > [ 編輯 ]:
在 區
"actions"
段中,新增下列動作:"Microsoft.OperationalInsights/workspaces/read", "Microsoft.OperationalInsights/workspaces/query/read"
在 區
"not actions"
段中,新增:"Microsoft.OperationalInsights/workspaces/sharedKeys/read"
選取畫面底部的 [ 儲存 > 檢閱 + 建立 ],然後在 下一個頁面上選取 [建立]。
將自訂角色指派給相關使用者:
使用者現在可以讀取工作區詳細資料並執行查詢,但無法從任何資料表讀取資料。
若要將特定資料表的讀取權限授與使用者:
從 [Log Analytics 工作區] 功能表中,選取 [ 資料表 ]。
選取資料表右側的省略號 ( ... ),然後選取 [存取控制][IAM]。
在 [ 存取控制 (IAM) ] 畫面上,選取 [ 新增 > 新增角色指派]。
選取 [ 讀取者 ] 角色,然後選取 [ 下一步 ]。
按一下 [ + 選取成員] 以開啟 [ 選取成員 ] 畫面。
搜尋並選取使用者,然後按一下 [ 選取 ]。
選取 [ 檢閱並指派 ]。
使用者現在可以從這個特定資料表讀取資料。 視需要將工作區中其他資料表的讀取權限授與使用者。
設定資料表層級讀取存取的舊版方法
資料表層級的舊版方法也會使用 Azure 自訂角色 ,讓您授與工作區中特定資料表的特定使用者或群組存取權。 無論使用者的存取模式為何,Azure 自訂角色都會套用至具有工作區內容或資源內容 存取控制模式 的 工作區。
若要定義特定資料表的存取權,請建立 自訂角色 :
- 在角色定義的 [動作 ] 區段中設定使用者權限 。
- 用來
Microsoft.OperationalInsights/workspaces/query/*
授與所有資料表的存取權。 - 若要在 Actions 中使用 萬用字元時排除特定資料表的存取權,請在角色定義的 NotActions 區段中列出排除的資料表 。
以下是自訂角色動作的範例,可授與和拒絕特定資料表的存取權。
授與活動訊號和 AzureActivity 資料表的 存取 權:
"Actions": [
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/query/read",
"Microsoft.OperationalInsights/workspaces/query/Heartbeat/read",
"Microsoft.OperationalInsights/workspaces/query/AzureActivity/read"
],
僅授與 SecurityBaseline 資料表的 存取權:
"Actions": [
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/query/read",
"Microsoft.OperationalInsights/workspaces/query/SecurityBaseline/read"
],
授與 SecurityAlert 資料表以外的 所有資料表存取權:
"Actions": [
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/query/read",
"Microsoft.OperationalInsights/workspaces/query/*/read"
],
"notActions": [
"Microsoft.OperationalInsights/workspaces/query/SecurityAlert/read"
],
與自訂資料表相關的舊版方法限制
自訂資料表會儲存您從資料來源收集的資料,例如 文字記錄 檔和 HTTP 資料收集器 API 。 若要識別資料表類型, 請在 Log Analytics 中檢視資料表資訊。
使用舊版資料表層級存取方法,您無法授與資料表層級個別自訂記錄資料表的存取權,但您可以授與所有自訂記錄資料表的存取權。 若要建立具有所有自訂記錄資料表存取權的角色,請使用下列動作建立自訂角色:
"Actions": [
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/query/read",
"Microsoft.OperationalInsights/workspaces/query/Tables.Custom/read"
],
資料表層級存取考慮和限制
- 在 Log Analytics UI 中,具有資料表層級的使用者可以看到工作區中所有資料表的清單,但只能從可存取的資料表擷取資料。
- 標準讀取者或參與者角色,其中包括 */讀取 動作、覆寫資料表層級存取控制,並讓使用者存取所有記錄資料。
- 具有資料表層級存取權但沒有任何工作區層級許可權的使用者可以從 API 存取記錄資料,但無法從Azure 入口網站存取記錄資料。
- 不論任何其他許可權設定為何,管理員istrators 和訂用帳戶的擁有者都可以存取所有資料類型。
- 工作區擁有者會像任何其他使用者一樣處理每個資料表存取控制。
- 將角色指派給安全性群組,而不是個別使用者,以減少指派數目。 這種做法也會協助您使用現有的群組管理工具來設定和驗證存取權。
下一步
- 請參閱 Log Analytics 代理程式概觀 ,以從資料中心或其他雲端環境中的電腦收集資料。
- 請參閱 收集 Azure 虛擬機器 的相關資料,以設定從 Azure VM 收集資料。