Configurar KMIP Encryption at Rest
Nesta página
Você pode configurara encryption at rest para uma implementação do MongoDB gerenciada pelo operador Kubernetes usando um servidor KMIP .
Considerações
Antes de configurar a criptografia em descanso, considere o seguinte:
Você deve ter um servidor KMIP em execução.
Não é possível fazer a transição de sua implantação que usa criptografia em descanso baseada em keyfilespara criptografia em descanso baseada em KMIP.
Se quiser habilitar a encryption at rest KMIP para um recurso do MongoDB já implantado, entre em contato com o suporte do MongoDB.
Procedimento
O procedimento a seguir descreve como definir uma configuração KMIP de exemplo para um conjunto de réplicas MongoDB. Ajuste os nomes e caminhos dos arquivos, o namespace Kubernetes, os nomes dos recursos e a versão do MongoDB conforme necessário para seu sistema.
Crie o ConfigMap da CA.
Execute o seguinte comando para criar um ConfigMap para manter a CA que assinou o certificado do servidor KMIP:
kubectl -n mongodb create configmap mongodb-kmip-certificate-authority-pem --from-file=ca.pem
Crie o segredo para o Certificado do cliente e a Chave Privada PEM.
Execute o seguinte comando para criar um segredo para manter o certificado do cliente concatenado e a chave privada para verificar a chave mestre do servidor KMIP :
kubectl -n mongodb create secret generic mongodb-kmip-client-pem --from-file=cert.pem
Configure a implantação para usar o servidor KMIP .
Defina as configurações additionalMongodConfig
em seu recurso personalizado especificação para usar o servidor KMIP . Por exemplo:
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
Importante
Se você definir a configuração spec.backup.encryption.kmip
em seu recurso, as chaves de API vinculadas ao valor de spec.credentials
deverão ter a função Global Owner
.