Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

Implantações seguras com X.509

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 no cluster 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.

Antes de proteger seu sistema MongoDB de cluster multi-Kubernetes usando criptografia TLS , conclua as seguintes tarefas:

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.

1

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>
2

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: 8.0.0 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 inthe central cluster to each member cluster, generates a concatenated|pem| secret, and distributes it to the member clusters.
3
  1. 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
  2. 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

Se você já tiver criado certificados X.509, renove-os periodicamente usando o procedimento a seguir.

1

Execute este comando kubectl para renovar um segredo existente que armazena os certificados para o recurso MongoDBMultiCluster:

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 -
2

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 -