Azure Managed Grafana提供了可视化和监视来自多个源的数据的功能,其中包含全面的仪表板和警报功能。 部署此服务时,请务必遵循安全最佳做法来保护数据、配置和基础结构。
本文提供安全建议来帮助保护Azure Managed Grafana部署。
网络安全
网络安全控制可防止未经授权访问 Azure Managed Grafana 工作区,并建立用于监控和可视化负载的安全通信边界。
启用专用终结点:通过使用 Azure 私有链接将流量路由到您的虚拟网络,从而消除公共 Internet 公开。 专用终结点提供专用网络接口,用于直接连接到Azure Managed Grafana,同时防止数据外泄风险。 默认情况下,新工作区启用了公共网络访问,因此明确配置私有端点对于最大程度地减少攻击面至关重要,方法是阻止未经请求的互联网流量到达 Grafana 实例。 请参阅 设置专用访问权限。
禁用公共网络访问:通过配置工作区以拒绝公共网络访问,从而在使用专用终端时阻止所有基于互联网的连接。 这会强制通过专用终结点进行所有通信,从而减少攻击面。 禁用公共访问会导致 Azure portal 的 Pin 到 Grafana 功能无法正常工作,但在生产环境中建议做出这种权衡,以增强安全性。 请参阅 设置私有访问。
为专用终结点配置网络安全组:使用网络安全组(NSG)通过实施限制性规则来控制传入和传出托管专用终结点的子网的流量流,从而拒绝未经授权的access,同时允许必要的通信模式。 在部署专用终结点的子网上配置 NSG 规则,以控制访问权限。 请参阅 设置私有访问。
使用确定性的出站 IP 地址:启用 Azure Managed Grafana 标准层中的确定性出站 IP 功能,以获取出站连接的可预测 IP 地址。 这允许配置数据源的防火墙以允许特定的 IP 地址,从而减少广泛网络访问规则的需求。 默认情况下,Grafana 服务出站 IP 地址不是固定的,因此当数据源安全性需要 IP 允许列表时,此功能至关重要。 请参阅 “使用确定性的出站 IP”。
了解网络通信模式:Azure 托管 Grafana 通过区域网关对所有用户访问使用 HTTPS,而 Grafana UI 不使用其他端口或非 HTTPS 协议。 这通过确保只允许 TLS 加密的流量来减少攻击途径。 从 Grafana 到数据源的出站连接通常使用 HTTPS 或这些服务所需的特定端口。 相应地配置防火墙规则和网络安全组,以仅允许必要的通信路径。
身份和访问管理
身份和访问管理控制可确保只有经过授权的用户和应用程序才能访问Azure Managed Grafana资源,并具有用于仪表板管理和数据可视化的适当权限。
使用Microsoft Entra ID身份验证:将本地身份验证机制替换为Microsoft Entra ID,以利用集中式标识管理、条件access策略和高级安全功能。 这通过多重身份验证提供更好的安全性,并消除了长期机密。 请参阅 设置Azure Managed Grafana身份验证和权限。
实现基于角色的访问控制 (RBAC):使用内置的 Grafana 角色(而不是管理角色)为用户和应用程序分配最低所需权限。 使用 Azure RBAC 强制实施最小特权访问原则。 请参阅 管理用户和标识的访问权限。
为数据源配置当前用户身份验证:配置数据源以在受支持时使用当前用户身份验证作为首选方法,因为这样可以确保每个用户只能通过自己的Microsoft Entra 标识access他们有权使用的数据,并遵循零信任原则。 当当前用户身份验证不可用时,请使用托管标识作为回退身份验证方法,在不将凭据存储在代码或配置中的情况下对数据源Azure Managed Grafana进行身份验证。 托管标识简化了凭据管理,并提供自动机密轮换。 请参阅 设置Azure Managed Grafana身份验证和权限。
为数据访问分配监视读取者角色:在使用托管身份验证时,请为与 Azure Managed Grafana 相关联的托管身份授予监视读取者角色。可在订阅级别授予,以获得广泛访问权限,或在包含监视数据的特定资源组或需要可视化监视数据的资源上授予。 这遵循最低特权原则,将数据源access限制为仅当当前用户身份验证不可用时需要监视数据的资源。 请参阅 设置Azure Managed Grafana身份验证和权限。
仔细管理来宾用户访问:Azure Managed Grafana 仅允许 Microsoft Entra 身份,也就是说,需要将外部协作者添加为 Microsoft Entra 租户的来宾用户。 通过仅邀请必要的外部用户并定期查看来宾帐户,严格控制来宾访问。 当不再需要来宾访问时,请删除它,以减少因外部帐户被攻破或来宾访问权限过高而带来的潜在安全风险。 请参阅 管理用户和标识的访问权限。
限制管理权限:最大程度地减少具有 Grafana 管理员角色的用户数,这可能会更改关键设置,包括数据源和用户权限。 对于需要创建和修改仪表板的大多数高级用户,请使用 Grafana 编辑器角色,而仅将 Grafana 管理员角色保留给那些需要管理工作区配置和安全设置的用户。 请考虑将 Grafana Limited Viewer 角色设为新用户的默认角色,并通过明确的仪表板共享来默认提供最低访问权限。 请参阅 管理用户和标识的访问权限。
数据保护
数据保护控制可确保Azure Managed Grafana中存储的配置数据、仪表板定义和用户信息经过正确加密和保护,防止未经授权的access。
确保传输中数据加密:对于数据源连接,加密取决于外部数据源的配置和功能。 尽可能在数据源设置中配置加密的端点(HTTPS),以确保 Grafana 和数据源之间的安全通信。 Azure托管的数据源(如 Azure Monitor)会自动配置加密连接,但自定义数据源要求你根据目标系统的功能配置 TLS/SSL 连接。 请参阅 如何管理 Azure Managed Grafana 中的数据源。
保护数据源连接:使用安全身份验证方法配置数据源,而不是直接在 Grafana 中存储凭据。 遵循上面的标识和访问管理部分中详述的优先身份验证方法进行操作。 默认的Azure 监控数据源已预配置为使用托管标识身份验证,但您应根据安全要求以及是否需要每用户数据访问控制来评估是否更改为当前用户身份验证。 请参阅 如何管理 Azure Managed Grafana 中的数据源。
实现适当的仪表板和文件夹权限:利用 Grafana 内置的权限系统,依据用户的角色和职责来控制对仪表板和文件夹的访问。 确保只有经过授权的人员才能访问敏感的监视数据。 请参阅 管理用户和标识的访问权限。
日志记录和监控
日志记录和监视功能提供对Azure Managed Grafana使用模式、身份验证事件和系统运行状况的可见性,以便进行安全分析和合规性报告。
启用审核日志记录的诊断设置:将诊断设置配置为将日志流式传输到 Log Analytics、storage 帐户或 Event Hubs,以集中监视 Grafana 登录事件和其他日志,并进行安全分析。 这为用户访问模式和系统事件提供了可见性。 请参阅使用诊断设置Monitor Azure Managed Grafana。
配置日志保留策略:根据符合性要求和安全分析需求为诊断日志建立适当的保留期。 将日志存储在具有适当访问控制的安全、防篡改存储位置。 请参阅使用诊断设置Monitor Azure Managed Grafana。
合规性和治理
合规性和治理控制确保 Azure Managed Grafana 部署满足数据保护和访问管理的组织策略和法规要求。
实施Azure Policy控制措施:使用Azure Policy在整个组织中审核和强制实施Azure Managed Grafana配置。 内置策略可用于禁用公用网络访问、强制使用私有链接、禁用服务账户,并确保已配置诊断日志记录。 请参阅托管 Grafana 的内置策略定义Azure Policy。
强制执行专用网络访问要求:应用“Azure Managed Grafana 工作区应禁用公用网络访问”策略,以确保所有工作区都使用专用终结点而不是公共互联网连接。 此策略可以审核现有配置或拒绝创建不符合的工作区。 请参阅托管 Grafana 的内置策略定义Azure Policy。
配置用于治理的资源标记:将一致的标记应用于Azure Managed Grafana资源以支持成本管理、安全分类和合规性报告。 使用标记标识资源所有者、环境和数据敏感度级别。 请参阅 使用标记来组织Azure资源和管理层次结构。
建立访问权限评估过程:对 Azure Managed Grafana 权限实施常规访问评审,以确保用户仅保留必要的访问级别。 删除未使用的帐户,并根据不断变化的角色要求调整权限。 请参阅 Microsoft Entra ID 访问审核是什么?
备份和恢复
备份和恢复控制可防范数据丢失,并确保在中断或灾难期间Azure Managed Grafana监视功能的业务连续性。
实现高可用性的区域冗余:在支持的区域中创建 Azure Managed Grafana 工作区时,配置区域冗余,以便在可用性区域之间分布虚拟机。 这在区域级别故障中断期间提供自动故障转移功能,无需用户干预。 请参阅 Azure Managed Grafana 服务可靠性。
计划多区域部署策略:出于灾难恢复目的,在多个区域中部署Azure Managed Grafana工作区,因为Microsoft不提供此服务的跨区域灾难恢复。 在发生区域性服务中断期间,跨区域保持一致的仪表板配置,实现无缝故障转移功能。 请参阅 Azure Managed Grafana 服务可靠性。
导出和版本控制仪表板配置:定期将仪表板定义和数据源配置导出到版本控制系统或备份存储位置。 这样可以还原监视功能并维护配置历史记录,以实现符合性和恢复目的。 使用 Grafana 的原生导出功能备份仪表板配置的 JSON 定义。 请参阅 如何创建仪表板。
特定于服务的安全性
Azure Managed Grafana 中的服务特定安全控制解决了 API 身份验证和自动化访问管理的独特安全注意事项和功能。
禁用不必要的 API 密钥和服务帐户:默认情况下禁用 API 密钥的创建,以防止通过服务帐户自动访问,除非特别需要进行集成。 服务帐户和 API 密钥可以有效绕过 Microsoft Entra 身份验证,并允许通过基于令牌的身份验证访问 Grafana,这可能破坏集中式身份管理和多因素身份验证的默认安全模型。 仅当合法自动化用例(如 CI/CD pipelines)需要时才启用 API 密钥,并实现适当的令牌生命周期管理。 请参阅 如何在 Azure Managed Grafana 中使用服务帐户。
实现适当的服务帐户令牌管理:当需要服务帐户时,请配置具有适当过期时间和最少必要权限的令牌。 使用限制最严格的 Grafana 角色,该角色允许执行必要的任务(除非绝对需要,否则选择查看者或编辑者,而不是管理员)。 利用令牌过期设置,避免选择“无过期”选项,除非在操作上是不可避免的。 定期轮换服务帐户令牌并撤销未使用的令牌,以减少凭据泄露的风险。 将令牌安全地存储在Azure Key Vault等系统中,永远不会在日志或客户端代码中公开令牌。 通过诊断设置中的 Grafana 登录事件监视服务帐户使用情况,以跟踪令牌何时用于身份验证。 请参阅 如何在 Azure Managed Grafana 中使用服务帐户。
文档恢复过程:创建详细的恢复过程,包括重新创建工作区、还原配置和重新建立数据源连接的步骤。 定期测试恢复过程,以确保它们保持最新且有效。 请参阅 Azure Managed Grafana 服务可靠性。
Azure Managed Grafana 提供专为数据可视化、仪表板管理和监控工作负载而设计的独特安全功能,这些工作负载需要特别关注以维持安全操作。
Secure 数据源插件配置:配置数据源插件时,请按照身份和访问管理部分中详述的优先的身份验证方法,确保数据访问的安全性。 对于需要直接凭据的数据源,请使用Azure Key Vault安全地存储和检索连接信息。 在环境中启用插件之前,请仔细评估和批准这些插件,因为你负责确定哪些插件符合安全要求和组织标准。 请参阅 如何在 Azure Managed Grafana 中管理数据源 和 如何在 Azure Managed Grafana 中管理插件。
控制插件访问并评估插件信任:仔细审核并批准环境中启用的所有插件,无论是核心的 Grafana 插件、社区插件还是 Grafana Enterprise 插件。 仅安装监视用例所需的插件,并满足组织对质量、合规性和安全性的标准。 第三方插件具有自己的发布频率、安全影响和更新进程,这些进程不受Microsoft控制。 你有责任确定哪些插件满足你的要求和安全需求。 监视插件的安全问题使用情况,并定期查看已安装的插件,以确保它们保持必要且可信。 请参阅 如何在 Azure Managed Grafana 中管理插件。
启用 CSRF 保护:配置 CSRF Always Check in Grafana 设置 以增强安全性,方法是拒绝具有与 Grafana 实例源不匹配的源标头的请求。 此设置通过严格验证请求来源来提供对跨站点请求伪造(CSRF)攻击的额外保护。 由于 Azure Managed Grafana 是通过其特定域访问的,并且不支持匿名访问,因此启用此设置对功能的影响很小,同时提供了增强的安全性。 请参阅 如何配置 Grafana 设置。
安全仪表板快照共享:除非用例明确要求,否则禁用外部快照发布。 “外部启用”设置允许用户将仪表板快照发布到外部公共服务器(snapshots.raintank.io),该服务器可将敏感数据公开给具有快照链接的任何人,并绕过Microsoft Entra 身份验证控件。 请考虑在 Grafana 设置中禁用此功能,将快照限制为Microsoft Entra 租户中的仅限本地共享。 请参阅 如何配置 Grafana 设置和 如何共享仪表板。
实现仪表板共享安全性:与外部用户共享仪表板或在应用程序中嵌入仪表板时,请使用适当的身份验证并确保不会公开敏感数据。 配置仪表板权限以将编辑功能限制为仅授权用户。 请参阅 如何共享仪表板。
安全 API 和集成终结点:如果将 Azure Managed Grafana 与外部系统集成或使用编程访问,请确保 API 密钥得到妥善保护并定期更换。 在自动化方案中使用具有最少所需权限的服务主体。 请参阅 管理用户和标识的访问权限。
Leverage 内置安全默认值:Azure Managed Grafana默认实现多个不需要配置的安全功能。 完全禁用匿名访问,确保所有用户必须通过Microsoft Entra ID进行身份验证。 插件安装受到限制,以防止未经验证的插件执行任意代码。 没有具有默认凭据的本地管理员用户,因为所有管理访问都由 Microsoft Entra 角色控制。 这些默认安全措施可减少攻击面,而无需执行其他配置步骤。