如何创建Azure DevOps发布流水线将应用部署到其他组织的Azure租户
授权个人Azure DevOps发布到第三方Azure租户的操作步骤
前置准备
提前让朋友提供公司Azure租户的以下信息:
- Azure AD租户ID
- 目标Web应用所属的订阅ID、订阅名称
- 目标Web应用的名称
方案1:服务主体认证(长期稳定推荐)
1. 获取个人Azure DevOps组织ID
- 登录你的个人Azure DevOps门户,进入组织设置
- 在左侧「概述」页面,复制组织ID备用
2. 在公司Azure租户分配权限
- 让朋友用公司Azure租户的订阅所有者/全局管理员账号登录Azure Portal
- 进入目标Web应用所属的订阅,打开左侧「访问控制(IAM)」页面
- 点击「添加」→「添加角色分配」:
- 角色选择Web应用贡献者(最小权限原则,仅满足发布需求,无需其他资源操作权限)
- 成员类型选择「用户、组或服务主体」,点击「选择成员」
- 搜索框粘贴你刚才复制的Azure DevOps组织ID,找到对应的应用程序(名称一般和你的DevOps组织名一致),选中后点击下一步完成分配
- 在Azure AD的「应用注册」中找到刚才的服务主体,进入「证书和密码」页面,新建一个客户端密钥,复制密钥值备用
3. 在个人Azure DevOps创建跨租户服务连接
- 进入你的DevOps项目,打开左下角「项目设置」
- 左侧导航找到「管道」分类下的「服务连接」
- 点击「新建服务连接」,选择
Azure Resource Manager,点击下一步 - 认证方式选择「服务主体(手动)」,填写以下信息:
- 环境:Azure Cloud
- 范围级别:选择Web应用
- 订阅ID:填写朋友公司的目标订阅ID
- 订阅名称:填写对应订阅名称
- 服务主体ID:填写刚才创建的服务主体的应用(客户端)ID
- 服务主体密钥:粘贴上一步复制的客户端密钥
- 租户ID:填写朋友公司的Azure AD租户ID
- 服务连接名称:自定义名称,比如
Company-Prod-WebApp-Conn
- 点击「验证」,验证通过后点击保存
4. 配置发布流水线
- 新建发布流水线,源选择你已经配置好的构建产物
- 部署阶段添加「Azure Web App部署」任务
- 任务的「Azure 资源管理器连接」选择你刚才创建的跨租户服务连接
- 下拉选择对应公司租户下的Web应用名称,其余部署配置和你之前发布到个人租户的配置保持一致即可
方案2:来宾用户认证(短期项目简化方案)
- 让朋友在公司Azure AD中邀请你的个人微软账号作为来宾用户,你接受邀请完成验证
- 给你的来宾账号分配目标Web应用的Web应用贡献者角色
- 在DevOps创建Azure RM服务连接时,认证方式选择OAuth登录,用你的个人账号完成认证,验证通过后即可直接使用,无需手动创建服务主体
排障提示:如果服务连接验证失败,优先检查服务主体/来宾账号的角色分配范围是否包含目标Web应用,角色权限是否足够,以及服务主体密钥是否在有效期内。
内容的提问来源于stack exchange,提问作者Steve Borman
相关产品推荐
相关产品推荐

