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

Pipeline添加Azure应用注册客户端密钥至Key Vault遇权限禁止错误

解决Azure DevOps Pipeline中Set-AzKeyVaultSecret返回Forbidden错误的方案

根据你给出的错误信息Client address is not authorized and caller is not a trusted service,核心问题是Key Vault的网络访问规则限制了Pipeline的访问,以下是具体排查和解决步骤:

  • 检查Key Vault网络防火墙规则
    登录Azure门户,定位到目标Key Vault,进入「网络」选项卡:

    • 如果当前设置为「允许选定的网络」,需要将错误提示里的Pipeline Agent IP(12.34.56.189)添加到允许的IP列表中;如果使用微软托管代理,IP是动态变化的,建议勾选「允许受信任的Microsoft服务绕过此防火墙」选项。
    • 若只是临时测试,可以临时切换为「允许所有网络」验证是否是网络规则导致的问题(注意:生产环境不建议长期使用此配置)。
  • 确认服务主体的Key Vault权限
    即使你认为SP拥有所有权限,仍需确认其具备密钥的Set权限:

    • 在Key Vault的「访问控制(IAM)」中,检查该SP是否被分配了「Key Vault Secrets Officer」或包含Microsoft.KeyVault/vaults/secrets/set/action权限的自定义角色。
    • 可以通过PowerShell命令验证权限:
      Get-AzKeyVaultPermission -VaultName "test-kv" -ServicePrincipalName "xxx"
      
      确保输出中包含Set权限。
  • 验证Pipeline的认证一致性
    确认Pipeline中使用的服务主体与本地测试的是同一个:

    • 检查Pipeline中Connect-AzAccount或Azure服务连接配置的租户ID、应用ID是否与本地测试一致,避免因认证使用了不同SP导致权限不足。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:05:46