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

如何在Azure DevOps中自动创建AzureRM类型服务连接(自动生成服务主体)

实现Azure DevOps自动生成Service Principal的AzureRM服务连接

要实现和UI中「azurerm - service principal (automatic)」相同的效果,你可以使用Azure DevOps CLI扩展的命令,通过--create-service-principal参数自动创建服务主体并绑定到服务连接。

前置准备

  1. 安装Azure DevOps CLI扩展(如果未安装):
az extension add --name azure-devops
  1. 登录Azure CLI并配置默认Azure DevOps组织:
# 登录Azure账号(需拥有目标订阅的足够权限)
az login

# 设置默认Azure DevOps组织,替换为你的组织地址
az devops configure --defaults organization=https://dev.azure.com/your-organization-name

单项目创建服务连接

执行以下命令,替换占位符为你的实际信息:

az devops service-endpoint azurerm create \
    --name "你的服务连接名称" \
    --subscription-id "目标Azure订阅ID" \
    --subscription-name "目标Azure订阅名称" \
    --tenant-id "Azure租户ID" \
    --create-service-principal \
    --project "目标Azure DevOps项目名称"

批量创建多项目服务连接

如果需要给多个项目批量创建,可以用脚本循环处理(以Bash为例):

# 配置基础参数
ORG_URL="https://dev.azure.com/your-organization-name"
SUBSCRIPTION_ID="your-subscription-id"
SUBSCRIPTION_NAME="your-subscription-name"
TENANT_ID="your-tenant-id"
CONNECTION_NAME="自动创建的AzureRM连接"

# 遍历所有项目并创建服务连接
az devops project list --organization $ORG_URL --query 'value[].name' -o tsv | while read PROJECT_NAME; do
    echo "正在为项目 $PROJECT_NAME 创建服务连接..."
    az devops service-endpoint azurerm create \
        --name "$CONNECTION_NAME" \
        --subscription-id "$SUBSCRIPTION_ID" \
        --subscription-name "$SUBSCRIPTION_NAME" \
        --tenant-id "$TENANT_ID" \
        --create-service-principal \
        --project "$PROJECT_NAME" \
        --organization $ORG_URL
done

权限说明

  • Azure侧:执行命令的账号需要拥有目标Azure订阅的参与者或更高权限,才能创建服务主体并分配订阅角色。
  • Azure DevOps侧:执行命令的账号需要拥有目标项目的项目管理员权限,才能创建服务连接。
  • 自动生成的服务主体默认会被分配订阅的参与者角色,若需调整权限,可创建后通过az role assignment命令修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:13:24