使用 Azure Policy 审核 Azure Web PubSub 服务资源的合规性

Azure Policy 是 Azure 中的一项免费服务,用于创建、分配和管理强制执行规则和效果的策略,以确保资源始终符合公司标准和服务水平协议。 使用这些策略审核 Web PubSub 资源是否合规。

本文介绍了 Azure Web PubSub 服务的内置策略。

内置策略定义

下表包含 Azure Web PubSub 的 Azure Policy 内置策略定义的索引。 有关其他服务的 Azure Policy 内置定义,请参阅 Azure Policy 内置定义

每个内置策略定义链接(指向 Azure 门户中的策略定义)的名称。 使用“版本”列中的链接查看 Azure Policy GitHub 存储库上的源。

名称
(Azure 门户)
说明 效果 版本
(GitHub)
Azure Web PubSub 服务应禁用公用网络访问 禁用公用网络访问可确保 Azure Web PubSub 服务不会在公共 Internet 上公开,从而提高安全性。 创建专用终结点可以限制 Azure Web PubSub 服务的公开。 有关详细信息,请访问:https://aka.ms/awps/networkacls Audit、Deny、Disabled 1.0.0
Azure Web PubSub 服务应使用支持专用链接的 SKU 使用受支持的 SKU 时,Azure 专用链接可让你在源或目标位置没有公共 IP 地址的情况下,也可以将虚拟网络连接到 Azure 服务。 专用链接平台处理使用者与服务之间通过 Azure 主干网络进行的连接。 通过将专用终结点映射到 Azure Web PubSub 服务,可以降低数据泄露风险。 有关专用链接的详细信息,请访问:https://aka.ms/awps/privatelink Audit、Deny、Disabled 1.0.0
配置 Azure Web PubSub 服务以禁用公用网络访问 禁用对 Azure Web PubSub 资源的公用网络访问,确保无法通过公共 Internet 对其进行访问。 这样可以减少数据泄露风险。 有关详细信息,请访问:https://aka.ms/awps/networkacls 修改,已禁用 1.0.0
将 Azure Web PubSub 服务配置为使用专用 DNS 区域 使用专用 DNS 区域来替代专用终结点的 DNS 解析。 专用 DNS 区域会链接到虚拟网络,以解析到 Azure Web PubSub 服务。 有关详细信息,请访问:https://aka.ms/awps/privatelink DeployIfNotExists、Disabled 1.0.0
使用专用终结点配置 Azure Web PubSub 服务 在没有公共 IP 地址的情况下,专用终结点可在源或目标位置将虚拟网络连接到 Azure 服务。 通过将专用终结点映射到 Azure Web PubSub 服务,可以降低数据泄露风险。 有关专用链接的详细信息,请访问:https://aka.ms/awps/privatelink DeployIfNotExists、Disabled 1.0.0

分配策略定义

分配策略定义时:

注意

在分配或更新某个策略后,需要花费一些时间才会将分配应用到所定义作用域中的资源。 请查看有关策略评估触发器的信息。

查看策略合规性

可以使用 Azure 门户、Azure 命令行工具或 Azure Policy SDK 来访问策略分配生成的合规性信息。 有关详细信息,请参阅获取 Azure 资源的合规性数据

有多种可能的原因会导致资源不合规。 若要确定原因或查找导致问题的变更,请参阅确定不合规情况

门户中的策略合规性:

  1. 打开 Azure 门户,搜索“策略”。
  2. 选择“策略”。
  3. 选择“合规性”。
  4. 使用筛选器按“范围”、“类型”或“符合性状态”进行显示。 使用“按名称或 ID 搜索列表”。 屏幕截图显示门户中的策略合规性。
  5. 选择一个策略来查看聚合合规性详细信息和事件。
  6. 选择特定 Web PubSub 以确保资源合规。

Azure CLI 中的策略合规性

可使用 Azure CLI 来获取合规性数据。 使用 az policy assignment list 命令获取应用的 Azure Web PubSub 服务策略的策略 ID:

az policy assignment list --query "[?contains(displayName,'Web PubSub')].{name:displayName, ID:id}" --output table

示例输出:

Name                                                                                   ID
------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------
[Preview]: Azure Web PubSub Service should use private links  /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Authorization/policyAssignments/<assignmentId>

运行 az policy state list 命令,以便返回特定资源组下所有资源的 JSON 格式合规性状态:

az policy state list --g <resourceGroup>

运行 az policy state list 命令,以返回特定 Web PubSub 资源的 JSON 格式的合规性状态:

az policy state list \
 --resource /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.SignalRService/WebPubSub/<resourceName> \
 --namespace Microsoft.SignalRService \
 --resource-group <resourceGroup>

后续步骤