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

如何在Azure DevOps中为组织分配跨所有项目创建仓库的权限?

Azure DevOps组织层面批量授予跨项目创建仓库权限

Azure DevOps没有直接的组织级权限可直接授予用户在所有项目中创建仓库,但可以通过自定义安全组+批量权限分配的方式实现,同时确保新项目自动继承权限,完全契合最小权限原则。

1. 创建组织级自定义安全组

  • 登录Azure DevOps组织后台,进入组织设置 > 权限 > 组
  • 点击新建组,命名(例如Repo创建者组),将需要授权的用户/服务主体添加至该组

2. 批量给现有项目分配仓库创建权限

推荐:使用Azure DevOps CLI(适配自动化流程)

先完成CLI初始化:

az login
az devops configure --defaults organization=https://dev.azure.com/你的组织名

执行以下脚本,遍历所有项目并批量分配权限:

# 替换为你的组织名和自定义组ID(组ID可在组织组页面的URL中找到,格式为groupId=xxx)
ORG_NAME="你的组织名"
GROUP_ID="你的自定义组ID"

# 获取所有项目ID列表
PROJECTS=$(az devops project list --organization "https://dev.azure.com/$ORG_NAME" --query "[].id" -o tsv)

# 逐个项目配置权限
for PROJECT_ID in $PROJECTS
do
  echo "正在配置项目 $PROJECT_ID 的权限..."
  az devops security permission update \
    --id "repoV2" \
    --subject "$GROUP_ID" \
    --token "repoV2/$PROJECT_ID" \
    --allow-name "Create repositories" # 直接指定权限名称,无需记忆权限位
done

备选:使用REST API(适合集成到自动化系统)

通过以下API批量为项目分配权限,可编写Python/Shell脚本遍历所有项目ID调用:

PUT https://dev.azure.com/{组织名}/_apis/securityroles/scopes/repoV2/{项目ID}/roleassignments/resources/repoV2/{项目ID}?api-version=7.1-preview.1

请求体示例:

{
  "roleAssignments": [
    {
      "roleName": "Create repositories",
      "subjectDescriptor": "vssgp.{组的描述符}"
    }
  ]
}

3. 确保新项目自动继承权限

  • 进入组织设置 > 设置 > 项目配置
  • 确认启用从父级继承权限(默认已开启),后续新建项目会自动应用该自定义组的仓库创建权限,无需手动配置

内容的提问来源于stack exchange,提问作者Marcin Słowikowski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:22:40