You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure IAM自定义角色技术咨询:能否创建具备资源Contributor权限但禁止创建资源的角色

实现Azure IAM自定义角色:拥有Contributor权限但禁止资源创建

当然可以实现这种自定义角色!完全满足你在资源组级别授予、优先用角色而非Policy的需求,下面我给你拆解具体步骤:

核心思路

Contributor角色默认涵盖了资源的创建、修改、删除等全量权限,我们要做的就是保留除“创建资源”外的所有Contributor权限——通过自定义角色的NotActions字段来拒绝所有资源的创建操作,同时保留其他管理权限。

具体实现步骤

  1. 导出Contributor角色模板作为基础
    先把默认的Contributor角色导出成JSON,方便我们修改:

    az role definition list --name "Contributor" --output json > contributor-base.json
    

    你也可以直接在Azure门户的「IAM -> 角色」里找到Contributor,点击「导出模板」下载JSON文件。

  2. 修改模板创建自定义角色
    打开导出的JSON,修改以下部分:

    • 把Name改成更清晰的名称,比如"Contributor (No Resource Creation)"
    • 设置IsCustom为true
    • 更新Description说明角色用途
    • 关键是在NotActions里添加拒绝创建的动作:
      {
        "Name": "Contributor (No Resource Creation)",
        "IsCustom": true,
        "Description": "Full access to manage existing resources in a resource group, but cannot create any new resources",
        "Actions": [
          "*"
        ],
        "NotActions": [
          // 拒绝通过ARM模板创建资源
          "Microsoft.Resources/deployments/write",
          // 拒绝直接创建资源
          "Microsoft.Resources/resources/write",
          // 如果需要更精细控制,可添加特定资源类型的创建权限,比如:
          // "Microsoft.Compute/virtualMachines/write",
          // "Microsoft.Storage/storageAccounts/write"
        ],
        "AssignableScopes": [
          "/subscriptions/你的订阅ID" // 可设置为订阅或特定资源组范围
        ]
      }
      

    解释一下:Actions设为*保留了所有Contributor的操作,但NotActions里的write动作会直接拒绝资源创建(Azure中资源创建通常对应write动作)。如果不想一刀切,也可以只拒绝特定资源类型的创建权限。

  3. 创建这个自定义角色
    用Azure CLI执行命令创建角色:

    az role definition create --role-definition "path/to/your-custom-role.json"
    

    或者在Azure门户的「IAM -> 角色 -> 添加自定义角色」,上传修改后的JSON文件完成创建。

  4. 在资源组级别分配角色
    找到目标资源组,进入「IAM -> 添加角色分配」,选择你刚创建的自定义角色,分配给对应的开发者用户或用户组即可。

补充说明

  • 为什么优先选角色而非Policy?你提到角色更易于自动化管理,这个自定义角色完全可以通过Azure CLI、PowerShell或者ARM模板批量创建和分配,完美整合到你的IAM自动化流程里,比Policy更直接可控。
  • 注意点:有些资源创建可能通过部署模板间接完成,所以一定要把Microsoft.Resources/deployments/write加入NotActions,避免开发者绕开限制。

内容的提问来源于stack exchange,提问作者NitOxYs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 01:49:10