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

关于AZDO REST API设置ACL时部分身份权限提交的疑问

Azure DevOps ACL Set API:修改单个身份权限的正确方式

核心结论

  • 直接提交仅包含目标身份的payload会删除所有未在payload中列出的现有身份权限,因为该API的官方明确说明是「提供的ACL的所有现有数据都将被覆盖」。

正确操作流程

  1. 获取完整ACL数据
    调用对应token的Get Access Control Lists接口,拿到当前完整的ACL配置,包括acesDictionary里所有身份的权限、inheritPermissions等参数。
  2. 修改目标身份配置
    在获取到的完整payload中,找到目标身份的条目,修改其allow/deny数值;如果是新增身份权限,则直接在acesDictionary中添加对应的条目。
  3. 提交完整payload
    将修改后的完整ACL配置提交给Set Access Control Lists接口,确保所有需要保留的身份权限都包含在内。

示例操作

假设原ACL包含两个身份(如下方示例),现在需要修改身份S-1-1-1111...的allow值为63:

步骤1:获取原完整ACL

{
    "inheritPermissions": true,
    "token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx", 
    "acesDictionary": {
        "Microsoft.TeamFoundation.Identity;S-1-1-1111xxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-x-x-x-x-1": {
            "descriptor": "Microsoft.TeamFoundation.Identity;S-1-1-1111.....",  
            "allow": 31,
            "deny": 0
        },
         "Microsoft.TeamFoundation.Identity;S-2-2-2222xxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-x-x-x-x-2": {
            "descriptor": "Microsoft.TeamFoundation.Identity;S-2-2-2222.....",  
            "allow": 31,
            "deny": 0
        }
    }
}

步骤2:修改目标身份权限

{
    "inheritPermissions": true,
    "token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx", 
    "acesDictionary": {
        "Microsoft.TeamFoundation.Identity;S-1-1-1111xxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-x-x-x-x-1": {
            "descriptor": "Microsoft.TeamFoundation.Identity;S-1-1-1111.....",  
            "allow": 63,
            "deny": 0
        },
         "Microsoft.TeamFoundation.Identity;S-2-2-2222xxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-x-x-x-x-2": {
            "descriptor": "Microsoft.TeamFoundation.Identity;S-2-2-2222.....",  
            "allow": 31,
            "deny": 0
        }
    }
}

步骤3:提交修改后的完整payload

将上述修改后的完整配置提交给Set接口,即可完成目标身份权限更新,同时保留其他身份的原有权限配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:51:14