Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Implementaciones seguras con X.509

Puedes configurar el operador de Kubernetes para utilizar certificados X.509 para autenticar tus aplicación cliente en una implementación de MongoDB multi-Kubernetes clúster.

Para proteger su implementación de MongoDB en clústeres multi-Kubernetes con certificados X.509, ejecute todas las acciones en el clúster central. El operador de Kubernetes propaga la configuración X.509 a cada clúster de nodo y actualiza la configuración del operador de Kubernetes en cada clúster de nodo.

Antes de asegurar tu implementación de MongoDB en múltiples clústeres de Kubernetes mediante el cifrado TLS, completa las siguientes tareas:

Habilitar la autenticación X.509 a nivel de Proyecto configura a todos los agentes para que utilicen autenticación de cliente X.509 cuando se comuniquen con implementaciones de MongoDB.

La autenticación de cliente X.509 requiere uno de los siguientes:

  • Cloud Manager

  • La versión del Ops Manager es compatible con tu versión del Operador de Kubernetes.

1

Ejecuta el comando kubectl para crear un nuevo secreto que almacene el certificado X.509 del 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

Actualice su recurso personalizado MongoDBMultiCluster con configuraciones de seguridad del Operador de Kubernetes Especificación de recursos MongoDBMultiCluster. La configuración resultante puede tener una apariencia similar al siguiente ejemplo:

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 in
the central cluster to each member cluster, generates a concatenated
|pem| secret, and distributes it to the member clusters.
3
  1. Para clústeres nodos, ejecuta los siguientes comandos para verificar que los Pods de MongoDB estén en estado en ejecución:

    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. En el clúster central, ejecute el siguiente comando para verificar que el recurso MongoDBMultiCluster esté en estado de ejecución:

    kubectl --context=$MDB_CENTRAL_CLUSTER_FULL_NAME \
    --namespace mongodb \
    get mdbmc multi-replica-set -o yaml -w

Si ya se han creado certificados X.509, renovarlos periódicamente utilizando el siguiente procedimiento.

1

Ejecuta este comando kubectl para renovar un secreto existente que almacena los certificados para el 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

Ejecuta el comando kubectl para renovar un secreto existente que almacene los certificados de agente de recursos 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 -