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

如何无需关联个人的PAT/SSH密钥向Azure Repos推送代码?

无需个人PAT/SSH密钥向Azure Repos推送代码的方案

1. 使用Azure AD服务主体

  • 创建Azure AD服务主体(独立于个人账户的自动化身份),专门用于这类代码推送的自动化操作。
  • 给该服务主体分配Azure Repos的贡献者权限(或满足需求的最小权限)。
  • 在生成器中通过以下方式完成认证:
    • 配置Git使用服务主体的客户端ID、客户端密钥和租户ID,可直接构造带凭据的远程仓库URL:
      https://<client-id>:<client-secret>@dev.azure.com/<org-name>/<project-name>/_git/<repo-name>
      
    • 先用Azure CLI登录服务主体,Git会自动复用该身份:
      az login --service-principal -u <client-id> -p <client-secret> --tenant <tenant-id>
      git push
      

2. 使用托管标识(Azure托管环境专属)

如果生成器部署在Azure虚拟机、Azure函数等Azure托管服务中,可以启用系统分配或用户分配的托管标识:

  • 给托管标识分配Azure Repos的对应权限。
  • 环境会自动处理身份验证流程,无需手动管理任何密钥或凭据,Git可直接使用该标识完成推送。

3. 项目级PAT(不推荐,已弃用)

微软已标记项目级PAT为弃用,但旧环境中仍可使用:创建绑定到项目而非个人账户的PAT。不过优先推荐服务主体方案,避免后续因功能淘汰带来的适配成本。

权限管理要点

  • 遵循最小权限原则,仅给非个人身份分配完成代码推送所需的最低权限。
  • 定期审查这些身份的权限范围,确保权限合理,避免过度授权。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:05:35