M

azure-resource-lookup

作者 microsoft

azure-resource-lookup 讓你可以使用 Azure Resource Graph,在多個訂用帳戶與資源群組之間列出、搜尋並檢視各種 Azure 資源。非常適合用於資產盤點、標籤分析、孤立資源查找與跨訂用帳戶查詢。不適用於部署變更、成本最佳化,或非 Azure 雲端環境。

Stars0
收藏0
評論0
分類报告
安裝指令
npx skills add https://github.com/microsoft/azure-skills --skill azure-resource-lookup
總覽

概觀

什麼是 azure-resource-lookup?

azure-resource-lookup 是一個針對 Azure 的報表與探索技能,能協助你在多個訂用帳戶與資源群組之間,列出、搜尋並檢視幾乎各種類型的 Azure 資源。

它使用 Azure Resource Graph (ARG),針對你的 Azure Resource Manager (ARM) 中繼資料進行快速、跨訂用帳戶查詢。這讓它特別適合回答類似資產盤點型的問題,例如:

  • 「list websites」
  • 「list virtual machines」
  • 「list my VMs in subscription X」
  • 「show storage accounts in this resource group」
  • 「find container apps in region Y」
  • 「what resources do I have?」

在背後,azure-resource-lookup 會將這些意圖轉換成 ARG 查詢,因此你不必為每一個需求手寫 KQL,就能取得結構化且近乎即時的環境視圖。

適合哪些人使用?

azure-resource-lookup 適用對象包括:

  • 雲端與平台工程師:需要在多個訂用帳戶中快速掌握 Azure 資源現況。
  • DevOps 與 SRE 團隊:希望在營運流程中,依資源類型、狀態或標籤進行搜尋。
  • 資安與法遵團隊:需要確認必要的標籤或設定是否確實存在。
  • 開發人員:想用簡單方式回答「這個 app/元件是跑在哪裡?」或「這次部署建立了哪些資源?」而不必人工在 Azure Portal 裡到處點。

如果你的主要需求是跨 Azure 進行報表、資產盤點與資源探索,這個技能非常適合。

azure-resource-lookup 解決哪些問題?

在這些情境下可以使用 azure-resource-lookup:

  • 列出各種常見類型的資源
    • 虛擬機器、Web apps、storage accounts、container apps、資料庫等。
  • 依範圍顯示資源
    • 將結果限制在特定訂用帳戶、一組訂用帳戶,或某個資源群組。
  • 執行跨訂用帳戶搜尋
    • 例如「show all storage accounts in all production subscriptions」,不需頻繁切換上下文。
  • 尋找孤立或未使用的資源
    • 找出未連結的磁碟、未使用的 NIC、閒置 IP 等可能的清理目標。
  • 檢查標籤覆蓋率與命名規範
    • 找出缺少必要標籤的資源,或依標籤值(如 envownercostCenter)彙整資源。
  • 建立資源盤點
    • 依資源類型、區域或訂用帳戶統計數量,供文件撰寫或稽核使用。
  • 依資源狀態過濾
    • 利用 Resource Graph 已索引的中繼資料,找出已停止、不健康或佈建失敗的資源。

以上特性符合你在 Azure 既有基礎架構上,尋求清楚、可查詢總覽的報表與可見度需求。

什麼情況下不適合使用這個技能?

azure-resource-lookup 並非設計用來

  • 部署或修改資源
    • 無法建立、更新或刪除 Azure 資源。
  • 成本與最佳化分析
    • 不會計算花費、提供適當規模建議,或詳細成本拆解。
  • 非 Azure 雲端或地端資源
    • 僅適用於透過 Azure Resource Graph 暴露的 Azure Resource Manager 資源。
  • 深度、特定資源的進階工具
    • 對於高度專門的資源操作(例如資料庫結構作業、Kubernetes 物件管理、或深入 VM 設定變更),應改用專用工具或其他技能。

若你需要的是 Azure 上的營運洞察與資產盤點,azure-resource-lookup 很合適;若你需要 變更、自動化或成本分析,則建議搭配其他工具一起使用。

使用方式

先決條件

在安裝與使用 azure-resource-lookup 之前,請先確認:

  • 你有一個 Azure 帳戶,且具備讀取目標訂用帳戶內資源的適當權限。
  • 你的租用戶中已啟用 Azure Resource Graph(多數情況下預設即為啟用)。
  • 你的代理程式或自動化環境可以驗證至 Azure(依你的設定使用 az login、managed identity 或 service principal)。

此技能位於 GitHub 儲存庫 microsoft/azure-skills 中的 skills/azure-resource-lookup,設計為可插入支援此 repo 技能的相容代理執行環境。

安裝步驟

1. 加入 azure-skills 儲存庫與此技能

如果你的代理執行環境支援 npx skills(例如 Microsoft 的 skills tooling),可以直接從 GitHub 新增 azure-resource-lookup:

npx skills add https://github.com/microsoft/azure-skills --skill azure-resource-lookup

這個指令會:

  • microsoft/azure-skills 儲存庫註冊為技能來源。
  • azure-resource-lookup 的技能定義與相關參考資料安裝到你的代理環境中。

若你的平台有不同的整合機制,請指定:

  • Repository: https://github.com/microsoft/azure-skills
  • Skill path: skills/azure-resource-lookup

並依照該平台文件中新增技能的指示完成設定。

2. 檢視技能定義

安裝完成後,開啟 azure-resource-lookup 目錄下的 SKILL.md。此檔案包含:

  • 官方的功能說明與主要使用情境。
  • 關於何時使用這個技能,以及與同一 repo 其他技能的取捨指引。

利用這份文件確認此技能是否符合你的需求(跨 Azure 的資源盤點與查詢)。

3. 為代理設定 Azure 存取權

在代理執行的環境中,設定好查詢 Azure Resource Graph 所需的驗證方式。常見模式包括:

  • 於本機測試時使用 Azure CLI 的互動式登入
    az login
    
  • 在非互動式自動化情境中使用 service principal
    az login --service-principal -u <APP_ID> -p <PASSWORD_OR_CERT> --tenant <TENANT_ID>
    
  • 在支援的 Azure 代管服務中使用 managed identity

此技能主要使用資源中繼資料,因此通常只需要在目標訂用帳戶上具備 Reader 或其他類似唯讀權限即可。

4. 將技能連結到你的代理

多數支援此 repo 的代理平台,在安裝完成後會自動提供該技能。在設定介面或 JSON manifest 中,請確認:

  • azure-resource-lookup 已列在啟用的技能清單中。
  • 此技能可使用你在前一步驟設定的相同 Azure 認證。

請參考你所使用代理框架的文件,完成技能與工具之間的最後串接設定。

使用技能查詢 Azure 資源

常見自然語言提示範例

連線完成後,你可以透過自然語言與 azure-resource-lookup 互動。以下是與 SKILL.md 所述意圖相符的例子:

  • 資源清單

    • "List virtual machines in my production subscription."
    • "Show storage accounts in resource group rg-app-prod."
    • "List container apps in region westeurope."
  • 依標籤搜尋

    • "Find resources tagged env=prod in all subscriptions."
    • "Which resources are missing the owner tag in subscription X?"
  • 孤立資源

    • "List unattached managed disks in all subscriptions."
    • "Show idle IP addresses that are not associated with any resource."
  • 盤點與統計

    • "Count all resources by type across all subscriptions."
    • "How many storage accounts are in each region?"
  • 依狀態查詢

    • "Show virtual machines that are stopped."
    • "List resources in a failed provisioning state."

此技能會將這些請求轉換成 Azure Resource Graph 查詢,並回傳結構化結果,方便用於報表或後續分析。

使用 Azure Resource Graph 查詢樣式

若需更進階的使用情境,可參考儲存庫中的 references/azure-resource-graph.md 參考檔,它說明了:

  • 標準的 az graph query 指令格式:
    az graph query -q "<KQL>" --query "data[].{col1:field1, col2:field2}" -o table
    
  • 主要資料表,例如 ResourcesResourceContainersHealthResources 等。
  • Resource Graph 中的 KQL 基礎,例如 =~(不分大小寫比較)、mv-expandisempty()tostring()
  • 實務盤點模式,例如:
    • 依資源類型計數。
    • 依位置 (location) 分組資源。

即使你不會直接手動執行 az graph query,這些模式仍有助於了解此技能在背後做了什麼,以及如何解讀輸出結果。

整合至工作流程與報表

由於 azure-resource-lookup 專注於唯讀的盤點與探索,它非常適合整合到:

  • 營運儀表板:將查詢結果餵入報表工具,用於每日檢視資源數量與覆蓋狀況。
  • 治理與法遵檢查:定期掃描缺少必要標籤或不允許的設定。
  • 清理專案:在使用其他工具進行刪除前,先找出孤立磁碟、未使用 NIC 或閒置 IP。
  • 發佈與環境檢閱:在部署後確認各個環境中實際存在的資源。

把這個技能當成大型工作流程中的資訊層:它告訴你有哪些資源、目前狀態如何,而其他工具則在需要時負責進行變更。

常見問題 (FAQ)

azure-resource-lookup 在背後實際依賴什麼?

azure-resource-lookup 是以 Azure Resource Graph 為基礎建置,這是 Azure 用於 ARM 資源的索引中繼資料服務。它會送出 ARG 型式的查詢,在多個訂用帳戶與資源群組之間快速搜尋與篩選資源,然後透過你的代理回傳結果。

我可以用 azure-resource-lookup 來建立或刪除 Azure 資源嗎?

不行。azure-resource-lookup 是一個唯讀的探索與報表技能,明確不適用於部署、變更或刪除 Azure 資源。若要執行這類作業,請搭配 ARM/Bicep templates、Terraform 或其他自動化技能等部署工具。

這個技能支援非 Azure 的雲端嗎?

不支援。azure-resource-lookup 僅適用於透過 Azure Resource Graph 暴露的 Azure Resource Manager 資源,無法查詢 AWS、GCP 或地端環境。

azure-resource-lookup 適合拿來做成本分析或最佳化嗎?

不完全適合。雖然你可以用它進行資源盤點(這往往是成本分析的前置步驟),但此技能並非為成本最佳化而設計。它不會提供成本計算、價格預估或適當規模建議。

使用這個技能需要什麼權限?

你至少需要對欲查詢的訂用帳戶與資源群組具備讀取權限(例如 Reader 角色)。由於 azure-resource-lookup 是唯讀且透過 Resource Graph 運作,通常不需要超過讀取等級的高權限。

azure-resource-lookup 和在 Azure Portal 直接搜尋資源有什麼差別?

Azure Portal 提供互動式的搜尋與篩選介面。相較之下,azure-resource-lookup 提供:

  • 可腳本化、可重複的查詢,可一次涵蓋多個訂用帳戶。
  • 結構化輸出,方便代理與自動化工作流程直接使用。
  • 自然語言的入口,不必為每個問題手寫 KQL。

當你需要的是一致、可自動化的盤點與探索,而不是臨時的手動查詢時,它特別有價值。

哪裡可以看到更多查詢範例?

microsoft/azure-skills 儲存庫的 azure-resource-lookup 目錄中,請參考:

  • SKILL.md:瞭解高階行為與使用說明。
  • references/azure-resource-graph.md:取得具體的 Azure Resource Graph 查詢樣式與 KQL 使用技巧。

可將這些範例當成參考,幫助你了解與延伸透過此技能可以提出的問題類型。

什麼時候應該改用其他技能?

在以下情況,建議改用其他或額外的技能:

  • 需要變更基礎架構(建立、更新、刪除、調整資源規模)。
  • 管理資源內部的工作負載(例如應用程式部署、資料庫結構、Kubernetes 物件)。
  • 進行更深入的成本、效能或安全性分析,超出中繼資料層級的報表範圍。

這些情境中,可以先用 azure-resource-lookup 進行探索與盤點,再交由專門的部署、監控或安全工具處理後續步驟。

評分與評論

尚無評分
分享你的評論
登入後即可為這項技能評分並留言。
G
0/10000
最新評論
儲存中...