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

AKS与External-Secrets-Operator集成Azure Key Vault认证问题

问题分析与解决方案

错误核心是托管身份无法被Azure元数据服务识别,返回Identity not found,导致无法获取访问Key Vault的令牌。以下是针对性排查和修复步骤:

1. 核对托管身份配置准确性

  • 检查SecretStore中填写的Principal ID:
    • 登录Azure门户找到对应托管身份,复制其「对象ID」(即Principal ID),确保与SecretStore配置里的spec.provider.azure.authManagedIdentity.clientID字段值完全匹配,不要误填订阅ID或资源ID。
  • 若使用用户分配托管身份:
    • 确认已将该身份分配给AKS集群的节点池,或绑定到ESO所属的服务账户(若采用Pod身份模式)。
    • 检查AKS节点对应的VM/VMSS是否启用托管身份,且已关联该用户分配身份。

2. 测试元数据服务与身份可用性

  • 在ESO的Pod内执行命令测试身份令牌获取:
    curl "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&client_id=<你的Principal ID>&resource=https://vault.azure.net" -H "Metadata: true"
    
    • 若同样返回Identity not found,说明当前Pod所在节点未关联目标托管身份,需重新配置AKS身份绑定。
    • 若成功返回令牌,说明身份配置正常,问题可能出在SecretStore格式或Key Vault权限。

3. 检查Key Vault访问策略

  • 确保托管身份在Key Vault的访问策略中拥有机密权限-获取(Get):
    • 进入目标Key Vault → 访问策略 → 添加访问策略,选择对应托管身份,勾选「机密权限」下的Get,保存配置。

4. 验证ESO配置格式合规性

  • 针对ESO v0.4.3,确保SecretStore的托管身份配置格式正确,示例如下:
    apiVersion: external-secrets.io/v1beta1
    kind: SecretStore
    metadata:
      name: azure-kv-store
    spec:
      provider:
        azure:
          vaultUrl: "https://my.vault.azure.net"
          authManagedIdentity:
            clientID: "你的Principal ID" # 此处填写托管身份的对象ID
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:18:14