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

使用CSI驱动从Vault获取密钥返回permission denied问题求助

Kubernetes Vault CSI 驱动权限拒绝问题排查方案

根因定位与解决方法

  • 配置类错误(占90%以上场景,优先排查)
    你报错日志中URL出现%!!(MISSING)类乱码,说明存在路径转义错误,首先检查你未提供的SecretProviderClass(名为vault-secret)配置的正确性:
    • 确认role字段和你测试用的teste-role完全一致,大小写、拼写无错误
    • 确认vaultAddress配置无多余转义符、特殊字符,和你curl测试用的Vault地址一致
    • 确认KVv2引擎的密钥路径填写为secret/data/k8s-secret,不要漏写/data前缀,也不要多写引号、转义符
    • 若你未开启Vault命名空间,不要在配置中加namespace字段,避免路径拼接错误
  • Vault 角色绑定不匹配
    你本地curl测试时使用的是自行获取的JWT,而CSI驱动实际调用时使用的是测试Pod对应的app-sa ServiceAccount身份,需要确认Vault端teste-role的绑定规则正确:
    执行vault read auth/kubernetes/role/teste-role检查以下参数:
    • bound_service_account_names必须包含app-sa
    • bound_service_account_namespaces必须包含Pod所在的app命名空间
    • policies必须包含有密钥读取权限的策略
  • Vault 策略权限配置错误
    确认teste-role绑定的策略包含KVv2引擎对应的读权限,正确配置示例:
    path "secret/data/k8s-secret" {
      capabilities = ["read"]
    }
    
  • CSI 驱动功能未开启
    确认Secret Store CSI驱动开启了ServiceAccount token传递功能,可通过以下命令更新配置:
    helm upgrade csi secrets-store-csi-driver/secrets-store-csi-driver -n csi \
      --set syncSecret.enabled=true \
      --set tokenRequests[0].audience=api
    
    如需进一步定位,可拉取Vault CSI Provider的日志查看详细报错:
    kubectl logs -n csi <vault-csi-provider对应的Pod名称>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:18:03