管理 Log Analytics 工作區的存取權

決定您可在 Log Analytics 工作區中存取哪些資料的因素如下:

  • 工作區本身的設定。
  • 您對將資料傳送至工作區之資源的存取權限。
  • 用來存取工作區的方法。

本文說明如何管理 Log Analytics 工作區中資料的存取權。

概觀

下表描述了可定義您有權存取資料的因素。 後續各節將進一步說明這其中的每個因素。

係數 描述
存取模式 用來存取工作區的方法。 定義可用資料的範圍,以及套用的存取控制模式。
存取控制模式 工作區上的設定,定義是否要在工作區或資源層級套用權限。
Azure 角色型存取控制 (RBAC) 個人或使用者群組針對工作區或傳送資料至工作區的資源所套用的權限。 定義您有權存取的資料。
資料表層級的 Azure RBAC 選擇性權限,定義工作區中您有權存取的特定資料類型。 可以套用至所有存取模式或存取控制模式。

存取模式

「存取模式」是指您存取 Log Analytics 工作區的方式,並定義您可以在目前工作階段期間存取的資料。 此模式取決於您在 Log Analytics 中所選的範圍

有兩種存取模式:

  • 工作區內容:您可以檢視有權存取之工作區中的所有記錄。 此模式中的查詢範圍限定於您在工作區中可存取之資料表中的所有資料。 這是以工作區為範圍來存取記錄時所使用的存取模式 (例如當您從 Azure 入口網站的 [Azure 監視器] 功能表中選取 [記錄] 時)。
  • 資源內容:當您存取特定資源、資源群組或訂閱的工作區時 (例如當您從 Azure 入口網站的資源功能表中選取 [記錄] 時),您只能檢視有權存取之所有資料表中的資源記錄。 此模式中的查詢範圍僅限於與該資源相關聯的資料。 此模式也會啟用細微 Azure RBAC。 工作區會使用資源內容記錄模型,其中 Azure 資源發出的每一筆記錄都會自動與此資源相關聯。

只有在記錄與相關資源相關聯時,才能在資源內容查詢中使用。 若要檢查此項關聯,請執行查詢,並確認已填入 _ResourceId 資料行。

下列資源有已知的限制:

比較存取模式

下表摘要說明存取模式:

問題 工作區內容 資源內容
每個模型的適用對象為誰? 管理中心。
需要設定資料收集的系統管理員,以及需要存取各種資源的使用者。 此外,必須存取 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 工作區] 功能表中的工作區的 [概觀] 頁面檢視目前的工作區存取控制模式。

Screenshot that shows the workspace access control mode.

在工作區的 [屬性] 頁面中變更此設定。 如果您沒有設定工作區的權限,則會停用變更設定。

Screenshot that shows changing workspace access mode.

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] 解決方案圖格中的資料。 系統管理員/共同管理員

存取使用傳統部署模型所部署的資源。
執行搜尋工作。 Microsoft.OperationalInsights/workspaces/tables/write
Microsoft.OperationalInsights/workspaces/searchJobs/write
從封存的資料表還原資料。 Microsoft.OperationalInsights/workspaces/tables/write
Microsoft.OperationalInsights/workspaces/restoreLogs/write

內建角色

指派使用者這些角色,可提供他們不同範圍的存取權:

  • 訂閱:存取訂閱中的所有工作區
  • 資源群組:存取資源群組中的所有工作區
  • 資源:僅存取指定的工作區

在資源層級 (工作區) 建立指派,以確保準確的存取控制。 使用自訂角色建立具備所需特定權限的角色。

注意

若要新增及移除某個使用者角色的使用者,您必須具有 Microsoft.Authorization/*/DeleteMicrosoft.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 擴充功能和適用於 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:授與使用者讀取其資源中記錄資料的權限。

  • 設定工作區存取控制模式以「使用工作區或資源權限」
  • 授與使用者對其資源的 */readMicrosoft.Insights/logs/*/read 使用權限。 如果使用者已被指派工作區上的 Log Analytics 讀者角色,則已足夠。

範例 2:授與使用者讀取其資源中記錄資料並執行搜尋作業的權限。

  • 設定工作區存取控制模式以「使用工作區或資源權限」
  • 授與使用者對其資源的 */readMicrosoft.Insights/logs/*/read 使用權限。 如果使用者已被指派工作區上的 Log Analytics 讀者角色,則已足夠。
  • 授與使用者下列工作區權限:
    • Microsoft.OperationalInsights/workspaces/tables/write:需有才能建立搜尋結果資料表 (_SRCH)。
    • Microsoft.OperationalInsights/workspaces/searchJobs/write:需有才允許執行搜尋作業。

範例 3:授與使用者讀取其資源中記錄資料的權限,並將其資源設定為將記錄傳送至 Log Analytics 工作區。

  • 設定工作區存取控制模式以「使用工作區或資源權限」
  • 授與使用者下列工作區權限:Microsoft.OperationalInsights/workspaces/readMicrosoft.OperationalInsights/workspaces/sharedKeys/action。 使用這些權限時,使用者無法執行任何工作區層級的查詢。 使用者只能列舉工作區,並用作診斷設定或代理程式設定的目的地。
  • 授與使用者下列資源權限:Microsoft.Insights/logs/*/readMicrosoft.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工作區的有限權限:

  1. 在工作區層級建立自訂角色,讓使用者讀取工作區詳細資料並在工作區中執行查詢,而不需提供對於任何資料表資料的讀取權限:

    1. 瀏覽至您的工作區,然後選取 [存取控制 (IAM)] > [角色]

    2. 以滑鼠右鍵按一下讀者角色,並選取 [屬性]

      Screenshot that shows the Roles tab of the Access control screen with the clone button highlighted for the Reader role.

      這會開啟 [建立自訂角色] 畫面。

    3. 在畫面的 [基本] 索引標籤上:

      1. 輸入 [自訂角色名稱] 值並選擇性地提供描述。
      2. 將 [基準權限] 設定為 [從頭開始]

      Screenshot that shows the Basics tab of the Create a custom role screen with the Custom role name and Description fields highlighted.

    4. 選取 [JSON] 索引標籤 >[編輯]

      1. "actions" 區段中,新增下列動作:

        "Microsoft.OperationalInsights/workspaces/read",
        "Microsoft.OperationalInsights/workspaces/query/read" 
        
      2. "not actions" 區段中,新增:

        "Microsoft.OperationalInsights/workspaces/sharedKeys/read"
        

      Screenshot that shows the JSON tab of the Create a custom role screen with the actions section of the JSON file highlighted.

    5. 選取畫面底部的 [儲存]>[檢閱 + 建立],然後在下一個頁面上選取 [建立]

  2. 將您的自訂角色指派給相關的使用者:

    1. 選取 [存取控制 (AIM)] > [新增] > [角色指派]

      Screenshot that shows the Access control screen with the Add role assignment button highlighted.

    2. 選取您建立的自訂角色,然後選取 [下一步]

      Screenshot that shows the Add role assignment screen with a custom role and the Next button highlighted.

      這會開啟 [新增自訂角色指派] 畫面的 [成員] 索引標籤。

    3. 按一下 [+ 選取成員] 以開啟 [選取成員] 畫面。

      Screenshot that shows the Select members screen.

    4. 搜尋並選取使用者,然後按一下 [選取]

    5. 選取 [檢閱並指派]

使用者現在可以讀取工作區詳細資料並執行查詢,但無法讀取任何資料表中的資料。

若要授與使用者對於特定資料表的讀取權限:

  1. 從 [Log Analytics 工作區] 功能表選取 [資料表]

  2. 選取資料表右側的省略符號 (...),然後選取 [存取控制 (IAM)]

    Screenshot that shows the Log Analytics workspace table management screen with the table-level access control button highlighted.

  3. 在 [存取控制 (IAM)] 畫面上,選取 [新增]>[新增角色指派]

  4. 選取 [讀者] 角色,然後選取 [下一步]

  5. 按一下 [+ 選取成員] 以開啟 [選取成員] 畫面。

  6. 搜尋並選取使用者,然後按一下 [選取]

  7. 選取 [檢閱並指派]

使用者現在可以讀取此特定資料表中的資料。 視需要,授與使用者對於工作區中其他資料表的讀取權限。

設定資料表等級讀取權限的舊版方法

資料表層級的舊版方法也會使用 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 中,資料表層級的使用者可以看到工作區中所有資料表的清單,但只能從其可存取的資料表擷取資料。
  • 標準讀者或參與者角色,包括 */read 動作、覆寫資料表層級的存取控制,以及讓使用者存取所有記錄資料。
  • 具有資料表層級存取權但沒有任何工作區層級權限的使用者可以從 API 存取記錄資料,但無法從 Azure 入口網站進行存取。
  • 不管任何其他權限設定為何,訂用帳戶的系統管理員和擁有者都可以存取所有資料類型。
  • 工作區擁有者就像任何其他使用者一樣,可以取得每個資料表的存取控制。
  • 將角色指派給安全性群組而不是個別使用者,以減少指派數目。 此做法也可協助您使用現有的群組管理工具來設定和驗證存取權。

下一步