Implantações seguras com X.509
Nesta página
- Pré-requisitos
- Habilitar autenticação X.509 para um recurso MongoDBMultiCluster
- Crie o segredo para o certificado X.509 do seu agente do seu recurso
MongoDBMultiCluster
. - Atualize seu recurso do
MongoDBMultiCluster
para habilitar a autenticação X509. - Verifique se os recursos do
MongoDBMultiCluster
estão em execução. - Renovar certificados X.509 para um recurso do MongoDBMultiCluster
- Renove o segredo para um
MongoDBMultiCluster
recurso. - Renove o segredo dos certificados X.509 do seu agente.
Você pode configurar o Kubernetes Operator para usar certificados X.509 para autenticar seus aplicativos cliente em um sistema MongoDB de vários clusters Kubernetes.
Para proteger seu sistema MongoDB de cluster multi-Kubernetes com certificados X.509 , você executa todas as ações nocluster central . O Operador Kubernetes propaga a configuração X.509 para cada cluster de membros e atualiza a configuração do Operador Kubernetes em cada cluster de membros.
Pré-requisitos
Antes de proteger seu sistema MongoDB de cluster multi-Kubernetes usando criptografiaTLS , conclua as seguintes tarefas:
Siga as etapas dos pré-requisitos de início rápido de vários clusters.
Implemente um multi-cluster criptografado por TLS.
Criar credenciais para o Operador Kubernetes para o Operador Kubernetes.
A ativação da autenticação X.509 no nível do projeto configura todos os agentes para usar a autenticação de cliente X.509 ao se comunicar com deployments do MongoDB.
A autenticação do cliente X.509 requer um dos seguintes:
Cloud Manager
Versão MongoDB Ops Manager compatível com sua versão do Kubernetes Operator.
Habilitar autenticação X.509 para um recurso MongoDBMultiCluster
Crie o segredo para o certificado X. do seu agente509 do seu MongoDBMultiCluster
recurso.
Execute o comando kubectl
para criar um novo segredo que armazena o certificado X.509 do agente:
kubectl --context $MDB_CENTRAL_CLUSTER_FULL_NAME \ --namespace=<metadata.namespace> \ create secret tls <prefix>-<metadata.name>-agent-certs \ --cert=<agent-tls-cert> \ --key=<agent-tls-key>
Atualize seu MongoDBMultiCluster
recurso do para habilitar a509 autenticação doX.
Atualize seu recurso personalizado do MongoDBMultiCluster com configurações de segurança da especificação de recursos do MongoDBMultiCluster do Kubernetes Operator . A configuração resultante pode ser semelhante ao exemplo a seguir:
apiVersion: mongodb.com/v1 kind: MongoDBMultiCluster metadata: name: multi-replica-set spec: version: 6.0.0-ent type: ReplicaSet persistent: false duplicateServiceObjects: true credentials: my-credentials opsManager: configMapRef: name: my-project security: tls: ca: custom-ca certsSecretPrefix: <prefix> authentication: enabled: true modes: ["X509"] agents: mode: "X509" clusterSpecList: - clusterName: ${MDB_CLUSTER_1_FULL_NAME} members: 3 - clusterName: ${MDB_CLUSTER_2_FULL_NAME} members: 2 - clusterName: ${MDB_CLUSTER_3_FULL_NAME} members: 3 The |k8s-op-short| copies the ConfigMap with the |certauth| created in the central cluster to each member cluster, generates a concatenated |pem| secret, and distributes it to the member clusters.
Verifique se os MongoDBMultiCluster
recursos do estão em execução.
Para clusters de membros, execute os seguintes comandos para verificar se os MongoDB Pods estão no estado de execução:
kubectl get pods \ --context=$MDB_CLUSTER_1_FULL_NAME \ --namespace mongodb kubectl get pods \ --context=$MDB_CLUSTER_2_FULL_NAME \ --namespace mongodb kubectl get pods \ --context=$MDB_CLUSTER_3_FULL_NAME \ --namespace mongodb No cluster central, execute o seguinte comando para verificar se o recurso
MongoDBMultiCluster
está no estado de execução:kubectl --context=$MDB_CENTRAL_CLUSTER_FULL_NAME \ --namespace mongodb \ get mdbmc multi-replica-set -o yaml -w
Renovar certificados X.509 para um recurso do MongoDBMultiCluster
Se você já tiver criado certificados X.509, renove-os periodicamente usando o procedimento a seguir.
Renove o segredo para um MongoDBMultiCluster
recurso.
Execute este kubectl
comando para renovar um segredo existente que armazena os certificados para o MongoDBMultiCluster
recurso :
kubectl --context $MDB_CENTRAL_CLUSTER_FULL_NAME \ --namespace=<metadata.namespace> \ create secret tls <prefix>-<metadata.name>-cert \ --cert=<resource-tls-cert> \ --key=<resource-tls-key> \ --dry-run=client \ -o yaml | kubectl apply -f -
Renove o segredo dos certificados X.509 do seu agente.
Execute o comando kubectl
para atualizar um segredo existente que armazena os certificados do agente de recursos do MongoDBMultiCluster
:
kubectl --context $MDB_CENTRAL_CLUSTER_FULL_NAME \ --namespace=<metadata.namespace> \ create secret tls <prefix>-<metadata.name>-agent-certs \ --cert=<agent-tls-cert> \ --key=<agent-tls-key> \ --dry-run=client \ -o yaml | kubectl apply -f -