默认情况下在新子网上应用 NSG/ASG (Azure)

Apply NSG/ASG by default on new subnets (Azure)

我们管理由多个国家运营的 Azure 订阅。他们每个人都非常独立于他们可以做什么(create/edit/remove 资源)。良好做法指南已发送给他们,但我们(安全团队)希望确保系统地为每个新创建的 subnet/vnet 应用一套 NSG。

查看 Azure 触发器,我不确定子网创建是否属于可审核事件。我还被告知要查看 Azure 策略,但我再次不确定这是否符合我们的期望:对于每个新的 vnet/subnet,自动应用一组预定义的 NSG.

您对满足我们需求的解决方案有任何想法吗?

我过去做过这样的工作(不是这个确切的问题),我解决它的方法是使用 Azure Functions 遍历订阅并查找这类问题。您可以将代码 运行 作为具有 Reader 订阅权限的托管身份来报告问题,或者作为贡献者来更新设置。下面是一些代码,展示了如何使用 PowerShell https://github.com/Azure/azure-policy/tree/master/samples/Network/enforce-nsg-on-subnet

您可以考虑使用具有 DeployIfNotExists 操作的策略来部署包含 NSG 的所有数据的 ARM 模板。 https://docs.microsoft.com/en-us/azure/governance/policy/samples/pattern-deploy-resources

您可以通过创建NSG并获取模板来获取ARM模板: GettingNSGTemplate

另请注意,创建子网是经过审核的,您可以在 VNet 的 Activity 日志中看到它。查看屏幕截图。

AddingASubnet