如何通过Secrets Store CSI Driver仅挂载AWS Secrets Manager指定字段
解决方案
当然可以只保留jmesPath指定的密钥文件,避免挂载完整的密钥文件。你只需要在SecretProviderClass的objects配置中添加excludeObjectName: true参数即可。
修改后的SecretProviderClass配置
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: secretstore-test spec: provider: aws parameters: objects: | - objectName: "mytestsecret" objectType: "secretsmanager" excludeObjectName: true # 新增参数,禁止生成完整密钥文件 jmesPath: - path: "key1" objectAlias: "key1" # 规范写法:将path和objectAlias放在同一条目下
参数说明
excludeObjectName: true会告知AWS Secrets Store CSI驱动:不生成以原始密钥名称(mytestsecret)命名的完整密钥文件,仅保留通过jmesPath提取的字段对应的文件(即key1)。
重新应用修改后的SecretProviderClass并重启Pod后,挂载目录/mnt/secrets下就只会存在key1文件,内容应为value1(你之前提到key1文件内容是value2,可能是配置笔误,正常提取key1会得到对应的值value1)。
内容的提问来源于stack exchange,提问作者user9163519
相关产品推荐
相关产品推荐

