能否将KeeperSecurity与Secrets-Store-CSI-Driver搭配使用?SecretProviderClass配置咨询
KeeperSecurity 与 Secrets-Store-CSI-Driver 集成方案及 SecretProviderClass 配置指南
可行性说明
完全可以实现集成。Keeper官方提供了Keeper Secrets Manager CSI Driver,作为Secrets Store CSI Driver的兼容插件,能够将Keeper Vault中的敏感数据(密码、API密钥、证书等)同步到Kubernetes集群,以Volume或Secret的形式供Pod使用。
SecretProviderClass 核心配置内容
以下是配置的关键要点及完整示例:
1. 基础结构与Provider指定
必须将 provider 字段设为 keeper,以此指定使用Keeper的CSI驱动插件。
2. 认证配置
通过 parameters 字段指定存储Keeper Secrets Manager配置的Kubernetes Secret名称。该Secret需包含config.json文件,内容为Keeper SM应用的认证凭据(如token、appKey等)。
3. 密钥同步规则
在 secretObjects 中定义需要从Keeper同步到K8s Secret的具体条目:
- 指定Keeper记录的
uid(可在Keeper Web控制台中查看) - 映射Keeper记录中的字段(如
password、login)到K8s Secret的键名 - 设置目标K8s Secret的类型(通常为
Opaque)
完整配置示例
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: keeper-csi-provider spec: provider: keeper parameters: # 指定存储Keeper SM配置的Secret名称 keeper-secrets-manager-config: "keeper-sm-config" secretObjects: - secretName: db-credentials type: Opaque data: # 映射Keeper记录中的字段到K8s Secret的键 - objectName: "keeper-record-uid-12345" key: db-password - objectName: "keeper-record-uid-12345" key: db-username
额外建议
- 预先创建存储Keeper配置的Secret:
(配置内容格式示例:apiVersion: v1 kind: Secret metadata: name: keeper-sm-config type: Opaque data: config.json: <base64编码的Keeper SM配置内容>{"token": "your-keeper-sm-token", "appKey": "your-app-key"},需用base64编码) - 确保Keeper Secrets Manager应用已被授权访问目标记录
- 在Pod中挂载时,需指定CSI Volume并关联该SecretProviderClass
内容的提问来源于stack exchange,提问作者hajji_0081
相关产品推荐
相关产品推荐

