如何导出Azure DevOps Demo Generator模板权限及用REST API设置组权限
问题1:Azure DevOps Demo Generator自定义模板是否支持组与权限同步导出
不支持。当前Azure DevOps Demo Generator的模板提取工具仅能导出自定义组的基础属性(组名、描述、组成员基础规则),权限配置属于独立的安全类资源,不在模板的导出覆盖范围内,所以你用生成的模板创建项目后,只会保留组定义,不会自动继承原有组的权限规则。
问题2:是否存在支持参数化配置权限的Azure DevOps REST API
存在。所有Azure DevOps的权限配置都可以通过安全命名空间相关的REST API实现,你可以传入组织名称、项目ID/名称、组描述符、目标资源ID、权限动作比特位完成项目级、代码库、流水线、发布 pipeline 等不同对象的权限配置。
核心使用逻辑如下:
- 第一步先调用接口获取目标组的描述符(Descriptor),这是组在权限接口中的唯一标识
- 第二步根据要配置的资源类型,找到对应的安全命名空间ID,不同资源对应不同的命名空间:
- 项目级权限对应命名空间:
52d39943-cb85-4d7f-8fa8-c6baac873819 - 代码库权限对应命名空间:
2e9eb7ed-3c0a-47d4-87c1-0ab44f154bc2 - 流水线(Build)权限对应命名空间:
33344d9c-fc72-49ba-9161-b18f17376603 - 发布(Release)权限对应命名空间:
c788c23e-1b46-4162-8cfb-a222dd31368a
- 项目级权限对应命名空间:
- 第三步调用权限设置接口提交配置,通用请求结构如下:
POST https://dev.azure.com/{组织名称}/_apis/accesscontrollists/{安全命名空间ID}?api-version=7.1-preview.1
请求体中需传入要配置的权限比特位、目标资源的token、组的描述符,即可完成对应权限的授予/拒绝/移除操作。
内容的提问来源于stack exchange,提问作者Den Wahlin
相关产品推荐
相关产品推荐

