你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 治理可视化工具加速器指南

Azure

组织可以使用 Azure 治理可视化工具捕获有关其 Azure 租户的相关治理信息。 该工具捕获:

  • 管理组层次结构。
  • 策略信息,例如自定义策略定义、孤立的自定义策略定义和策略分配。
  • 基于角色的访问控制 (RBAC) 信息,例如自定义角色定义、孤立的自定义角色定义和角色分配。
  • Azure 安全性和最佳做法分析。
  • Microsoft Entra ID 见解。

Azure 治理可视化工具加速器通过 Azure Pipelines 或 GitHub Actions 以自动化方式运行可视化工具。 可视化工具将摘要输出为 HTML、MD 和 CSV 文件。 理想情况下,生成的 HTML 报告可以让组织中的授权用户轻松访问。 本文介绍如何自动运行 Azure 治理可视化工具,并在Azure App 服务的Web 应用功能上安全地托管报告输出。

GitHub 上 Azure 治理可视化工具加速器提供了一个示例实现。

体系结构

显示 Azure 治理可视化工具加速器体系结构的示意图。

下载此体系结构的 Visio 文件

数据流

解决方案体系结构实现以下工作流:

  1. 计时器触发 GitHub Actions 流。
  2. 流建立到 Azure 的 OpenID Connect 连接。 然后运行 Azure 治理可视化工具。 该工具以 HTML、MD 和 CSV 报告的形式收集所需的见解。
  3. 报告将推送到 GitHub 存储库。
  4. Azure 治理可视化工具的 HTML 输出将发布到应用程序服务。

用户流

此流说明用户如何使用该工具:

  1. 用户浏览到应用程序服务 URL 以访问可视化工具的 HTML 报告。 用户需要通过 Microsoft Entra ID 授权进行身份验证。
  2. 用户可以查看可视化工具提供的见解。

组件

加速器基于 GitHub 模板存储库,该存储库由以下组件组成:

  • Microsoft Entra ID 是一种企业标识服务,提供单一登录、多重身份验证和条件访问。
  • Azure 应用程序服务是用于创建和部署云应用程序的完全托管平台。 通过它可为 Web 应用定义一组计算资源,来运行、部署 Web 应用和配置部署槽位。
  • GitHub 是 Microsoft 提供的一种广受欢迎的 SaaS 产品/服务,开发人员经常使用它来生成、发布和维护自己的软件项目。
  • GitHub Actions 在此体系结构中提供持续集成和持续部署功能。

备选方法

  • Azure 治理可视化工具是一个 PowerShell 脚本,可以直接在本地计算机上运行。 可视化工具可以配置为作为 GitHub Actions 或 Azure DevOps 管道的一部分运行,以接收有关环境的最新信息。 可视化工具生成一个 wiki 作为输出,可以在 GitHub 或 Azure DevOps 中发布。

  • 可视化工具也可以托管在任何其他安全且经济高效的托管平台上,如 Azure Static Web Apps

方案详细信息

Azure 治理可视化工具是基于 PowerShell 的脚本,可将 Azure 租户的管理组层次结构迭代到订阅级别。 它捕获最相关的 Azure 治理功能,例如 Azure Policy、RBAC、Microsoft Entra ID 和蓝图。 根据收集的数据,Azure 治理可视化工具将所有这些信息可视化为易于导航的 HTML 报告。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

将报告 HTML 限制为仅允许有权查看该数据的用户很重要。 这些数据对于内部和外部威胁来说都是一座金矿,因为它暴露了 Azure 环境,包括安全控制。

  • 使用 Microsoft Entra 身份验证来限制授权个人的访问权限。 请考虑使用 Web 应用身份验证来提供此服务。 在加速器中,部署配置为 Web 应用,并在部署前主动验证身份验证是否已启用。

  • 请考虑应用网络安全控制,仅通过专用终结点向团队公开网站。 为了限制流量,可以考虑使用 Web 应用的 IP 限制。

  • 在 Azure Web 应用上启用访问日志记录,以便能够审核访问权限。 配置 Azure Web 应用,以将这些日志发送到 Log Analytics 工作区。

  • 确保在 Azure Web 应用上启用了安全通信。 在加速器中,只允许 HTTPS 和 FTP,TLS 的最低版本配置为 1.2。

  • 请考虑使用 Microsoft Defender for Cloud 的 Microsoft Defender for App Service

  • 使用 Azure Web 应用的运行时堆栈的最新版本

  • 请确保定期轮换此服务主体的机密,并监视其活动。 为了收集所有必需的信息,加速器部署的可视化工具依赖于具有 Microsoft Entra ID 权限的服务主体。

有关安全控制的详细信息,请参阅 Azure 应用程序服务安全基线

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

  • B1(基本)层用于应用程序服务中部署的 Azure Web 应用。 应用程序服务托管 Azure 治理可视化工具的 HTML 输出,因此如此轻量。

  • 加速器只部署一个应用程序服务实例;但如果需要,可以选择部署更多实例。

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述

  • 加速器主要由 Azure Web 应用组成,该应用托管可视化工具的 HTML 输出。 建议启用 Web 应用的诊断设置,监视流量、访问审核日志、指标等。

  • 监视 Web 应用的性能非常重要。 这样做有助于确定是否需要根据可视化工具使用情况进行纵向扩展或横向扩展。

  • 此外,请务必始终运行 Azure Web 应用的运行时堆栈的最新版本

  • Azure 治理可视化工具定期更新版本,包括新功能、错误修复或改进。 在加速器中,专用 GitHub 工作流处理更新过程。 有一个可配置的选项,可以自动或手动更新可视化工具的代码,只需打开一个带有更改的拉取请求,就可以查看和合并这些更改。

  • 加速代码可能会使用应用程序服务 bicep 代码上的新设置或可视化工具先决条件的新说明进行更新。 在加速器中,专用 GitHub 工作流处理此更新过程。 有一个可配置的选项,可以自动或手动更新可视化工具的代码,只需打开一个带有更改的拉取请求,就可以查看和合并这些更改。

部署此方案

若要部署此方案,请参阅 Azure 治理可视化工具加速器

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

若要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。

后续步骤