什麼是 Azure Resource Graph?

Azure Resource Graph 是 Azure 的服務,其設計訴求為延伸 Azure 資源管理,藉由提供有效且效能更佳的資源探索,讓您能夠在一組指定的訂閱之間大規模地查詢,以便有效地控管您的環境。 這些查詢提供下列功能:

  • 使用複雜的篩選、分組和依資源屬性排序來查詢資源。
  • 根據治理需求反覆探索資源。
  • 評估在龐大的雲端環境中套用原則的效果。
  • 查詢對資源屬性所做的變更。

在本檔中,您會詳細檢閱每項功能。

注意

Azure Resource Graph 提供 Azure 入口網站 搜尋列、新的流覽 [所有資源] 體驗,以及 Azure 原則 的 [變更歷程記錄] 視覺效果差異。 其設計目的是協助客戶管理大規模的環境。

注意

此服務支援 Azure Lighthouse,可讓服務提供者登入自己的租使用者,以管理客戶委派的訂用帳戶和資源群組。

Resource Graph 如何補充 Azure Resource Manager

Azure Resource Manager 目前支援基本資源字段的查詢,特別是:

  • 資源名稱
  • 識別碼
  • 類型
  • 資源群組
  • 訂用帳戶
  • Location

Azure Resource Manager 也提供一次呼叫個別資源提供者的功能,以取得一個資源的詳細屬性。

使用 Azure Resource Graph,您可以存取資源提供者傳回的這些屬性,而不需要對每個資源提供者進行個別呼叫。 如需支援的資源類型清單,請檢閱 數據表和資源類型參考。 查看支援資源類型的替代方式是透過 Azure Resource Graph Explorer 架構瀏覽器

使用 Azure Resource Graph,您可以:

  • 存取資源提供者傳回的屬性,而不需要對每個資源提供者進行個別呼叫。
  • 檢視過去 14 天的資源組態變更,以查看哪些屬性已變更及何時變更。

注意

作為 預覽 功能,某些 type 物件有其他非 Resource Manager 屬性可供使用。 如需詳細資訊,請參閱 擴充屬性

Resource Graph 如何保持最新狀態

當 Azure 資源更新時,Azure Resource Manager 會通知 Azure Resource Graph 有關變更。 然後,Azure Resource Graph 會更新其資料庫。 Azure Resource Graph 也會定期 進行完整掃描。 此掃描可確保如果遺漏通知或 Azure Resource Manager 外部更新資源時,Azure Resource Graph 數據是最新的。

注意

Resource Graph 會使用 GET 每個資源提供者的最新非預覽應用程式開發介面 (API) 來收集屬性和值。 因此,預期的屬性可能無法使用。 在某些情況下,已覆寫所使用的 API 版本,以在結果中提供更多目前或廣泛使用的屬性。 如需環境中的完整清單,請參閱顯示每個資源類型的API版本範例。

查詢語言

現在您已進一步瞭解 Azure Resource Graph 是什麼,讓我們深入瞭解如何建構查詢。

請務必瞭解 Azure Resource Graph 的查詢語言是以 Azure 數據總管所使用的 Kusto 查詢語言 (KQL) 為基礎

首先,如需可與 Azure Resource Graph 搭配使用的作業和函式的詳細資訊,請參閱 Resource Graph 查詢語言。 若要瀏覽資源,請參閱 探索資源

Azure Resource Graph 中的許可權

若要使用 Resource Graph,您必須在 Azure 角色型存取控制 (Azure RBAC)擁有適當的許可權,且至少read可以存取您想要查詢的資源。 如果您沒有 Azure 物件或物件群組的許可權, read 則不會傳回任何結果。

注意

Resource Graph 會在登入期間使用主體可用的訂用帳戶。 若要查看使用中會話期間新增之新訂用帳戶的資源,主體必須重新整理內容。 註銷後返回時,會自動執行此動作。

Azure CLI 和 Azure PowerShell 會使用使用者可存取的訂用帳戶。 當您使用 REST API 時,訂用帳戶清單是由使用者提供。 如果使用者具有清單中任何訂用帳戶的存取權,則會針對使用者可存取的訂用帳戶傳回查詢結果。 此行為與呼叫 資源群組 - 清單 時相同,因為您取得可以存取的資源群組,而沒有任何跡象表明結果可能是部分的。 如果使用者擁有適當許可權的訂用帳戶清單中沒有訂用帳戶,則回應為 403 (禁止)。

注意

預覽 REST API 版本中 2020-04-01-preview,可能會省略訂用帳戶清單。 subscriptions當 要求中未定義 和 managementGroupId 屬性時,範圍會設定為租使用者。 如需詳細資訊,請參閱 查詢的範圍。

節流

作為免費服務,Resource Graph 的查詢會進行節流,為所有客戶提供最佳體驗和響應時間。 如果您的組織想要使用 Resource Graph API 進行大規模且頻繁的查詢,請使用來自 Resource Graph 入口網站頁面的入口網站意見反應 提供您的商務案例,然後選取 Microsoft 可以傳送您的意見 反應複選框給您,讓小組連絡您。

Resource Graph 會在用戶層級節流查詢。 服務回應包含下列 HTTP 標頭:

  • x-ms-user-quota-remaining (int):用戶的剩餘資源配額。 此值會對應至查詢計數。
  • x-ms-user-quota-resets-after (hh:mm:ss):重設使用者配額耗用量之前的持續時間

如需詳細資訊,請參閱 節流要求的指引。

執行您的第一個查詢

Azure Resource Graph 總管為 Azure 入口網站的一部分,可讓您直接在 Azure 入口網站中執行 Resource Graph 查詢。 將結果釘選為動態圖表,可對入口網站工作流程提供即時的動態資訊。 如需詳細資訊,請移至 使用 Azure Resource Graph Explorer 的第一個查詢。

Resource Graph 也支援 Azure CLI、Azure PowerShell 和 REST API。 這兩種語言的查詢結構相同。 了解如何使用下列項目來啟用 Resource Graph:

警示與 Log Analytics 整合

注意

Azure Resource Graph 警示與 Log Analytics 整合處於公開預覽狀態。

您可以使用 Azure Resources Graph 查詢或透過 Azure 監視器整合 Log Analytics 與 Azure Resources Graph 查詢來建立警示規則。 這兩種方法都可以用來建立 Azure 資源的警示。 如需範例,請移至 快速入門:使用 Azure Resource Graph 和 Log Analytics 建立警示。

使用 Power BI 連接器執行查詢

注意

Azure Resource Graph Power BI 連接器處於公開預覽狀態。

Azure Resource Graph Power BI 連接器會在租用戶層級執行查詢,但您可以將範圍變更為訂用帳戶或管理群組。 如果您的查詢結果有超過 1,000 筆記錄,Power BI 連接器有選擇性設定可傳回所有記錄。 如需詳細資訊,請移至 快速入門:使用 Azure Resource Graph Power BI 連接器執行查詢。

下一步