Application Insights 中的資源、角色及存取控制

您可以使用 Azure 角色型存取控制 (Azure RBAC),控制誰對您在 Application Insights 中的資料具有讀取和更新存取權。

重要

指派存取權給您的應用程式資源所屬資源群組或訂閱 (而不是資源本身) 中的使用者。 指派 Application Insights 元件參與者角色。 此角色可確保 Web 測試和警示以及您應用程式資源的統一存取控制。 深入了解

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

資源、群組和訂閱

首先,讓我們定義一些字詞:

  • 資源:Azure 服務的執行個體。 您的 Application Insights 資源會收集、分析及顯示從您應用程式傳送的遙測資料。 其他類型的 Azure 資源包括 Web 應用程式、資料庫和 VM。

    若要查看您的資源,請開啟 Azure 入口網站進行登入,然後選取 [所有資源]。 若要尋找資源,請在篩選欄位中輸入其名稱的一部分。

    Screenshot that shows a list of Azure resources.

  • 資源群組:每個資源屬於一個群組。 群組是管理相關資源的便利方式,特別是針對存取控制。 例如,您可以在一個資源群組中放置一個 Web 應用程式、一個用於監視應用程式的 Application Insights 資源,以及一個用於保存匯出資料的 Azure 儲存體資源。
  • 訂閱:若要使用 Application Insights 或其他 Azure 資源,請登入 Azure 訂閱。 每個資源群組都屬於一個 Azure 訂用帳戶,您可以在其中選擇您的價格套件。 如果是組織訂閱,則擁有者可以選擇成員及其存取權限。
  • Microsoft 帳戶:您用來登入 Azure 訂閱、Xbox Live、Outlook.com 及其他 Microsoft 服務的使用者名稱和密碼。

控制資源群組中的存取

除了您為應用程式建立的資源之外,還有警示和 Web 測試的個別隱藏資源。 這些資源會附加至與您 Application Insights 資源相同的資源群組。 您也可以在那裡放置其他 Azure 服務,例如網站或儲存體。

提供存取權給其他使用者

您必須擁有訂用帳戶或資源群組的擁有者權限。

使用者必須擁有 Microsoft 帳戶,或其組織的 Microsoft 帳戶存取權。 您可以提供存取權給個人,也可以提供給在 Microsoft Entra ID 中定義的使用者群組。

前往資源群組或直接前往資源本身

將參與者角色指派給 Azure RBAC。

如需詳細步驟,請參閱使用 Azure 入口網站指派 Azure 角色

選取角色

下列連結會連線至相關聯的官方參考文件 (如果有的話)。

角色 在資源群組中
擁有者 可以變更任何項目,包括使用者存取。
參與者 可以編輯任何項目,包括所有資源。
Application Insights 元件參與者 可以編輯 Application Insights 資源。
讀取者 可以檢視 (但無法變更) 任何項目。
Application Insights 快照集偵錯工具 賦予使用者使用「Application Insights 快照集偵錯工具」功能的權限。 擁有者或參與者角色均不包含這個角色。
Azure 服務部署發行管理參與者 透過「Azure 服務部署」進行部署的服務參與者角色。
資料清除者 可清除個人資料的特殊角色。 如需詳細資訊,請參閱管理 Log Analytics 和 Application Insights 中的個人資料
Azure ExpressRoute 管理員 可建立、刪除及管理快速路由。
Log Analytics 參與者 「Log Analytics 參與者」角色可以讀取所有監視資料和編輯監視設定。 編輯監視設定包括將 VM 延伸模組新增至 VM、讀取儲存體帳戶金鑰以便能夠設定從 Azure 儲存體收集記錄、建立及設定自動化帳戶、新增解決方案,以及設定所有 Azure 資源上的 Azure 診斷。 如果您在設定 Azure 診斷時遇到問題,請參閱 Azure 診斷
Log Analytics 讀者 Log Analytics 讀者可以檢視和搜尋所有監視資料,以及檢視監視設定,包括檢視所有 Azure 資源上的 Azure 診斷設定。 如果您在設定 Azure 診斷時遇到問題,請參閱 Azure 診斷
masterreader 可讓使用者檢視所有項目,但是無法進行變更。
監視參與者 可讀取所有監視資料及更新監視設定。
監視計量發行者 針對 Azure 資源啟用發佈計量。
監視讀取器 可讀取所有監視資料。
資源原則參與者 (預覽) 從 Enterprise 合約回填的使用者,有權建立/修改資源原則、建立支援票證及讀取資源/階層。
使用者存取管理員 可讓使用者管理其他使用者對 Azure 資源的存取。
網站參與者 可讓您管理網站 (非 Web 方案),但無法進行存取。

編輯包括建立、刪除及更新:

  • 資源
  • Web 測試
  • 警示
  • 連續匯出

選取使用者

如果您想要的使用者不在目錄中,您可以邀請任何具有 Microsoft 帳戶的使用者。 如果他們使用 Outlook.com、OneDrive、Windows Phone 或 Xbox Live 等服務,就會有 Microsoft 帳戶。

請參閱 Azure 角色型存取控制 (Azure RBAC) 一文。

用於判斷角色成員資格的 PowerShell 查詢

因為特定角色可連結到通知與電子郵件警示,這對能夠產生屬於特定角色的使用者清單很有幫助。 為了協助產生這些類型的清單,您可以調整下列範例查詢來符合自己的特定需求。

查詢整個訂用帳戶以尋找系統管理員角色 + 參與者角色

(Get-AzRoleAssignment -IncludeClassicAdministrators | Where-Object {$_.RoleDefinitionName -in @('ServiceAdministrator', 'CoAdministrator', 'Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

在特定 Application Insights 資源的範圍中查詢,以尋找擁有者與參與者

$resourceGroup = "RGNAME"
$resourceName = "AppInsightsName"
$resourceType = "microsoft.insights/components"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup -ResourceType $resourceType -ResourceName $resourceName | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

在特定資源群組的範圍中查詢,以尋找擁有者與參與者

$resourceGroup = "RGNAME"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "