用途:该技能面向在 Kubernetes 集群中通过 Secrets Store CSI Driver 访问 Azure Key Vault 密钥的场景,帮助编写 SecretProviderClass 资源、将 Key Vault 中的密钥以卷形式挂载到 Pod,或同步为 Kubernetes Secret。
主要能力:提供 SecretProviderClass 模板与多种常见模式,包括单个 API Token、多个密钥映射到多个 K8s Secret、TLS 证书(需同时使用 objectType: cert 与 secret 两个条目);给出 Pod 卷挂载示例;说明 SecretProviderClass 文件通常存放于 argo-cd-helm-values/kube-addons/<application>/<cluster>/secretproviderclass.yaml;并附权限授予、创建密钥、列出资源、检查 CSI 驱动状态等命令。
使用方式:定义 SecretProviderClass 时设置 provider: azure,配置 usePodIdentity、useVMManagedIdentity、userAssignedIdentityID、keyvaultName、tenantId 与 objects 数组;Pod 必须挂载 CSI 卷(driver: secrets-store.csi.k8s.io),即使仅使用 secretObjects 同步也需挂载。授权可用 az keyvault set-policy 或 RBAC 角色 Key Vault Secrets User。
限制与注意:Key Vault 密钥名区分大小写;SecretProviderClass 为命名空间级;K8s Secret 仅在至少一个 Pod 挂载 CSI 卷后才会创建;Workload Identity 与 VM 托管标识配置不同,混用会回退到错误标识;RBAC 与访问策略按保管库区分,需先检查 enableRbacAuthorization;CSI 轮换默认关闭,需驱动启用 --enable-secret-rotation=true 并重启 Pod 才能刷新。具体环境配置、脚本与详细参考以资料为准,其余未提供。