組織可以使用 Azure 治理可視化檢視來擷取其 Azure 租使用者的相關治理資訊。 此工具會擷取:
- 管理群組階層。
- 原則資訊,例如自定義原則定義、孤立的自定義原則定義,以及原則指派。
- 角色型訪問控制 (RBAC) 資訊,例如自定義角色定義、孤立的自定義角色定義,以及角色指派。
- Azure 安全性和最佳做法分析。
- Microsoft Entra ID 深入解析。
Azure 治理可視化檢視應該透過 GitHub 工作流程自動化。 可視化檢視會將摘要輸出為 HTML、MD 和 CSV 檔案。 在理想情況下,產生的 HTML 報表可供組織中的授權用戶輕鬆存取。 本文說明如何自動執行 Azure 治理可視化檢視,並在 Azure App 服務 的 Web Apps 功能上安全地裝載報告輸出並符合成本效益。
GitHub 上提供 Azure 治理可視化檢視加速器的範例實作。
架構
下載此架構的 Visio 檔案。
資料流程
解決方案架構會實作下列工作流程:
- 定時器會觸發 GitHub Actions 流程。
- 此流程會建立與 Azure 的 OpenID Connect 連線。 然後,它會執行 Azure 治理可視化檢視工具。 此工具會以 HTML、MD 和 CSV 報告的形式收集必要的深入解析。
- 報告會推送至 GitHub 存放庫。
- Azure 治理可視化檢視工具的 HTML 輸出會發佈至 App Service。
使用者流程
此流程說明使用者如何使用此工具:
- 用戶流覽至 App Service URL 以存取可視化檢視的 HTML 報表。 用戶必須透過 Microsoft Entra ID 授權進行驗證。
- 用戶可以檢視可檢視所提供的深入解析。
元件
此案例中顯示的自動化包含下列元件:
- Microsoft Entra ID 是企業身分識別服務,可提供單一登錄、多重要素驗證和條件式存取。 在此架構中,其用來將 Azure 治理可視化檢視 Web 應用程式的安全驗證和授權提供給特定的 Entra ID 群組。
- Azure App 服務 是完全受控的平臺,可用於建立和部署雲端應用程式。 它可讓您定義一組計算資源,讓 Web 應用程式執行、部署 Web 應用程式,以及設定部署位置。 在此架構中,其用來裝載 Azure 治理可視化檢視的輸出,以提供整個組織的安全且順暢的存取。
- GitHub 是Microsoft的熱門 SaaS 供應專案,開發人員經常用來建置、運送和維護其軟體專案。 在此架構中,其用來裝載解決方案的基礎結構即程序代碼,以及用來部署和維護它的 GitHub 動作。
- GitHub Actions 是持續整合和持續傳遞 (CI/CD) 平臺,可讓您自動化建置、測試和部署管線。 在此架構中,它會提供持續整合和持續部署功能,以部署和更新 Azure 治理可視化檢視。
替代項目
Azure 治理可視化檢視是 PowerShell 腳本,可以直接在本機計算機上執行。 可視化檢視可以設定為在 GitHub Actions 中執行,以接收您環境的最新資訊。 可視化檢視會產生Wiki作為可在 GitHub 或 Azure DevOps 中發佈的輸出。
可視化檢視也可以裝載於任何其他安全且符合成本效益的裝載平臺上,例如 Azure Static Web Apps。
案例詳細資料
Azure 治理可視化檢視是以 PowerShell 為基礎的腳本,可將 Azure 租使用者的管理群組階層向下反覆運算至訂用帳戶層級。 它會擷取最相關的 Azure 治理功能,例如 Azure 原則、RBAC、Microsoft Entra ID 和 Blueprints。 從收集的數據中,Azure 治理可視化檢視會以易於流覽的 HTML 報表,將此資訊可視化。
考量
這些考量能實作 Azure Well-Architected Framework 的支柱,其為一組指導原則,可以用來改善工作負載的品質。 如需更多資訊,請參閱 Microsoft Azure 結構完善的架構。
安全性
安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性支柱的概觀。
只將報告 HTML 限制為授權檢視此資料的使用者很重要。 此數據是內部和外部威脅的金礦,因為它會公開您的 Azure 環境,包括安全性控制。
使用Microsoft Entra 驗證來限制對已授權個人的存取。 請考慮使用 Web Apps 驗證來提供此服務。 GitHub 中的部署程式代碼會設定 Web Apps,並主動確認在部署之前已啟用驗證。
請考慮套用網路安全性控制,只 透過私人端點向小組公開網站。 若要限制流量,請考慮使用 Web Apps 的 IP 限制。
在 Azure Web 應用程式上啟用存取記錄,以稽核存取權。 設定 Azure Web 應用程式,將這些記錄傳送至 Log Analytics 工作區。
確定 Azure Web 應用程式上已啟用安全通訊。 只允許 HTTPS 和 FTP,且 TLS 的最低版本設定為 1.2。
請考慮使用適用於 App Service 的 適用於雲端的 Microsoft Defender Microsoft Defender。
請務必定期輪替此服務主體的秘密,並監視其活動。 為了收集所有必要的資訊,部署的可視化檢視取決於具有Microsoft Entra標識符許可權的服務主體。
如需安全性控制的詳細資訊,請參閱 App Service 的 Azure 安全性基準。
成本最佳化
成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化支柱的概觀。
B1 (基本) 層用於 App Service 中已部署的 Azure Web 應用程式。 App Service 會裝載 Azure 治理可視化檢視工具的 HTML 輸出,因此它是輕量型的。
使用 Azure 定價計算機來檢視此解決方案的 定價估計值,。
GitHub 中的範例只會部署一個 App Service 實例,但您可以選擇視需要部署更多實例。
卓越營運
卓越營運涵蓋部署應用程式並使其持續在生產環境中執行的作業流程。 如需詳細資訊,請參閱卓越營運支柱的概觀 (部分機器翻譯)。
此解決方案主要包含裝載可視化檢視工具 HTML 輸出的 Azure Web 應用程式。 建議您啟用 Web 應用程式的診斷設定,以監視流量、存取稽核記錄、計量等等。
請務必監視 Web 應用程式的效能。 這樣做有助於根據可視化檢視使用量來識別是否需要相應增加或相應放大。
請務必一律執行 最新版的 Azure Web 應用程式運行時間堆疊 。
Azure 治理可視化檢視會使用新功能、錯誤修正或改善,定期更新版本。 在 GitHub 存放庫中,專用的 GitHub 工作流程會處理更新程式。 有一個可設定的選項,只要以您可以檢閱和合併的變更開啟提取要求,即可自動或手動更新可視化檢視的程序代碼。
加速程式代碼可能會以App Service bicep程式代碼上的新設定或可視化檢視必要條件的新指示進行更新。 在 GitHub 存放庫中,專用的 GitHub 工作流程會處理此更新程式。 有一個可設定的選項,只要以您可以檢閱和合併的變更開啟提取要求,即可自動或手動更新可視化檢視的程序代碼。
部署此案例
若要部署此案例,請參閱 Azure 治理可視化檢視加速器 GitHub 存放庫。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- Seif Bassem |雲端解決方案架構師
若要查看非公開的 LinkedIn 個人檔案,請登入 LinkedIn。