以编程方式使用排除项进行 Azure 策略分配

问题描述

我找不到任何向 Azure 策略分配添加排除项的编程方式。是否可以使用 PowerShell、Azure CLI 或 Rest Api 等创建带有排除项的 Azure 策略分配或向现有分配添加排除项?

解决方法

我会尽量回答这个问题,但措辞有点含糊。

如果您指的是可以在资源组/资源级别通过 RBAC 分配的角色,那么可以通过 ARM 模板部署、PowerShell、Azure CLI 等分配预定义的角色。

您还可以通过 Azure CLI、Powershell、REST API 和 ARM 模板部署创建自定义角色。这些自定义角色可以包括您选择的任何权限。

这些角色可用于向订阅、资源组或资源授予权限或拒绝权限。

参考这些 Microsoft 文档链接以编程方式创建自定义角色,特别注意“NotAction”和“NotDataAction”属性,因为您的问题是关于排除

Powershell Tutorial

Azure CLI Tutorial

REST API

ARM Template

请参阅这些 Microsoft 文档链接以编程方式添加/删除角色:

Powershell assign/remove roles

Azure CLI assign/remove roles

Azure REST API add/remove roles

ARM Template Deployment add/remove roles **目前无法通过 ARM 模板删除角色分配

通过将这两者结合使用,您应该能够创建自定义角色,并将这些角色分配给委托人/用户以允许自定义权限。