使用 Azure Policy 管理流量分析

Azure Policy可帮助实施组织标准并大规模评估合规性。 Azure Policy的常见用例包括实施资源一致性治理、法规合规性、安全性、成本和管理。 若要了解有关Azure policy的详细信息,请参阅 什么是 Azure Policy?Quickstart:创建策略分配来标识不合规的资源

本文介绍如何使用可用于 Azure Network Watcher 流量分析的三个内置策略来管理设置。

使用内置策略审核流日志

Network Watcher流日志应启用流量分析策略通过审核Microsoft.Network/networkWatchers/flowLogs类型的Azure Resource Manager对象来审核所有现有流日志,并检查是否通过流日志资源的 networkWatcherFlowAnalyticsConfiguration.enabled 属性启用流量分析。 然后,此策略会标记将该属性设置为 false 的流日志资源。

若要使用内置策略审核流日志,请执行以下操作:

  1. 登录到 Azure 门户

  2. 在门户顶部的搜索框中,输入policy。 从搜索结果中选择“策略”

    截图演示了如何在 Azure portal 中搜索 Azure Policy。

  3. 选择作业,然后选择分配策略

    在 Azure 门户中选择“分配策略”按钮的截图。

  4. 选择 ... 旁边的 Scope 来选择包含您希望策略审核的流日志的 Azure 订阅。 还可以选择具有流日志的资源组。 进行选择之后,选择“选择”按钮。

    在 Azure 门户中选择策略范围的截图。

  5. 选择“策略定义”旁边的省略号“...”,再选择要分配的内置策略。 在搜索框中输入“流量分析”,然后选择“内置”筛选器。 在搜索结果中,选择“Network Watcher流日志应启用流量分析然后选择Add

    在 Azure 门户中选择审核策略的截图。

  6. 任务名称中输入名称,在分配人中输入你的姓名。 此策略不需要任何参数。

  7. 选择“查看 + 创建”,然后选择“创建” 。

    在 Azure 门户中,为 Basics 选项卡分配审核策略的截图。

    注意

    此策略不需要任何参数。 它也不包含任何角色定义,因此无需在“修正”选项卡中为托管标识创建角色分配。

  8. 选择“合规性”。 搜索您的作业名称,然后选择它。

    在 Azure 门户中显示审核策略的合规性页面截图。

  9. “资源合规性”列出所有不合规的流日志。

    Screenshot 显示 Azure portal 中的审核策略的详细信息。

使用 deployIfNotExists 策略部署和配置流量分析

有两个 deployIfNotExists 策略可用于配置 NSG 流日志:

  • 将网络安全组配置为使用特定工作区、存储帐户和流日志保留策略进行流量分析:此策略标记未启用流量分析的网络安全组。 对于已标记的网络安全组,要么相应的 NSG 流日志资源不存在,要么 NSG 流日志资源存在但未启用流量分析。 如果你希望该策略影响现有资源,可以创建修正任务。

    可以在分配策略时或者在分配并评估策略后分配修正。 修正将使用提供的参数对所有已标记的资源启用流量分析。 如果网络安全组已在特定存储 ID 中启用流日志,但未启用流量分析,则修正会使用提供的参数在此网络安全组上启用流量分析。 如果参数中提供的存储 ID 与为流日志启用的存储 ID 不同,那么在纠正任务中,会用提供的存储 ID 覆盖流日志的存储 ID。 如果不想覆盖,请使用“配置网络安全组以启用流量分析”策略。

  • 配置网络安全组以启用流量分析:此策略与前一策略类似,只是在修正期间,不会覆盖已启用流日志但使用策略分配中提供的参数禁用了流量分析的已标记网络安全组的流日志设置。

注意

Network Watcher是区域服务,因此两个 deployIfNotExists 策略适用于特定区域中存在的网络安全组。 对于不同区域中的网络安全组,请在该区域创建另一个策略分配。

若要分配 deployIfNotExists 两个策略之一,请执行以下步骤:

  1. 登录到 Azure 门户

  2. 在门户顶部的搜索框中,输入policy。 从搜索结果中选择“策略”

    截图演示了如何在 Azure portal 中搜索 Azure Policy。

  3. 选择“分配”,然后选择“分配策略”。

    在 Azure 门户中选择“分配策略”按钮的截图。

  4. 选择 ... 旁边的 Scope 来选择包含您希望策略审核的流日志的 Azure 订阅。 还可以选择具有流日志的资源组。 做出选择后,选择“选择”按钮。

    在 Azure 门户中选择策略范围的截图。

  5. 选择“策略定义”旁边的省略号“...”,再选择要分配的内置策略。 在搜索框中输入“流量分析”,然后选择“内置”筛选器。 在搜索结果中,选择“将网络安全组配置为使用特定工作区、存储帐户和流日志保留策略进行流量分析”,然后选择“添加”。

    在 Azure 门户中选择 deployIfNotExists 策略的截图。

  6. 任务名称中输入名称,在分配人中输入你的姓名。

     Azure 门户中用于分配部署策略的基础选项卡的截图。

  7. 选择“下一步”按钮两次,或者选择“参数”选项卡。然后输入或选择以下值:

    设置
    效果 选择“DeployIfNotExists”。
    网络安全组区域 选择策略所针对的网络安全组的区域。
    存储资源 ID 输入存储帐户的完整资源 ID。 存储帐户必须与网络安全组位于同一区域中。 存储资源 ID 的格式为:/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>
    流量分析处理间隔(分钟) 选择将已处理日志推送到工作区的频率。 目前,可用值为 10 分钟和 60 分钟。 默认值为 60 分钟。
    工作区资源 ID 输入需启用流量分析的工作空间的完整资源 ID。 工作区资源 ID 的格式为:/subscriptions/<SubscriptionID>/resourcegroups/<ResourceGroupName>/providers/microsoft.operationalinsights/workspaces/<WorkspaceName>
    工作区区域 选择流量分析工作区的区域。
    工作区 ID 输入流量分析工作区 ID。
    Network Watcher资源组 选择Network Watcher的资源组。
    Network Watcher名称 输入Network Watcher的名称。
    流日志的保留天数 输入要在存储帐户中保留流日志数据的天数。 如果要永久保留数据,请输入 0。

    注意

    流量分析工作区的区域不必与目标网络安全组的区域相同。

    Azure 门户中用于分配部署策略的参数选项卡的屏幕截图。

  8. 选择“下一步”或“修正”选项卡。输入或选择以下值:

    设置
    创建修正任务 如果希望策略影响现有资源,请选中该框。
    创建托管身份 勾选框。
    托管标识类型 选择要使用的托管标识的类型。
    系统分配的标识位置 选择系统分配标识的区域。
    Scope 选择用户分配标识的范围。
    现有的用户分配标识 选择你的用户分配标识。

    注意

    你需要“参与者”或“所有者”权限才能使用此策略。

    在 Azure 门户中,展示分配部署策略的措施选项卡的屏幕截图。

  9. 选择“查看 + 创建”,然后选择“创建” 。

  10. 选择“合规性”。 搜索您的作业名称,然后选择它。

    Compliance 页的截图,显示在 Azure 门户中的部署策略。

  11. 选择“资源合规性”以获取所有不合规流日志的列表。

    Screenshot 显示 Azure portal 中部署策略的详细信息。

故障排除

修复任务失败并出现 PolicyAuthorizationFailed 错误代码:示例错误。“策略分配 /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DummyRG/providers/Microsoft.Authorization/policyAssignments/b67334e8770a4afc92e7a929/ 的资源标识没有创建部署所需的权限。”

在这种情况下,必须手动为托管标识授予访问权限。 进入相应的订阅/资源组(包含在策略参数中提供的资源),并为策略创建的托管标识分配参与者访问权限。