配置KMIP静态加密
您可以使用静态加密为Kubernetes操作符管理的MongoDB部署,使用KMIP服务器。进行配置。
考虑以下因素
在配置静态加密之前,请考虑以下因素
您必须有一个正在运行的KMIP服务器。
您不能将使用基于密钥文件的静态加密的部署过渡到基于KMIP的静态加密。
如果您想为已部署的MongoDB资源启用KMIP静态加密,请联系MongoDB 支持。
步骤
以下步骤描述了如何为MongoDB副本集配置示例KMIP配置。根据您的部署需要,调整文件名和路径。Kubernetes命名空间、资源名称和MongoDB版本。
1
创建CA的ConfigMap。
运行以下命令创建一个 配置映射,以存储签名的 KMIP 服务器证书的 CA
kubectl -n mongodb create configmap mongodb-kmip-certificate-authority-pem --from-file=ca.pem
2
创建客户端证书和私钥 PEM 的密钥。
运行以下命令创建一个 密钥,以存储用于从 KMIP 服务器提取主密钥的客户端证书和私钥的串联
kubectl -n mongodb create secret generic mongodb-kmip-client-pem --from-file=cert.pem
3
配置部署以使用 KMIP 服务器。
配置additionalMongodConfig
设置,在您的 自定义资源 规范中,以使用 KMIP 服务器。例如
apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: kmip namespace: mongodb spec: type: ReplicaSet members: 3 backup: encryption: kmip: client: clientCertificatePrefix: "mdb" additionalMongodConfig: security: enableEncryption: true kmip: clientCertificateFile: /kmip/cert/cert.pem serverCAFile: /kmip/ca/ca.pem serverName: pykmip-server.pymongo port: 5696 featureCompatibilityVersion: '6.0' version: 6.0.14-ent opsManager: configMapRef: name: my-project credentials: my-credentials podSpec: podTemplate: spec: containers: - name: mongodb-enterprise-database volumeMounts: - name: mongodb-kmip-client-pem mountPath: /kmip/cert - name: mongodb-kmip-certificate-authority-pem mountPath: /kmip/ca volumes: - name: mongodb-kmip-client-pem secret: secretName: mongodb-kmip-client-pem - name: mongodb-kmip-certificate-authority-pem configMap: name: mongodb-kmip-certificate-authority-pem items: - key: ca.pem path: ca.pem
重要
如果设置了spec.backup.encryption.kmip
设置,则与 spec.credentials
值关联的 API 密钥必须具有 全局所有者
角色。