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

Configurar la autenticación X.509

Los certificados de cliente X.509 permiten a los usuarios de base de datos acceder a las implementaciones de la base de datos en tu Proyecto. Puedes usar el Atlas Kubernetes Operator para habilitar la autenticación X.509 para el AtlasProject Recurso Personalizado y el AtlasDatabaseUser Recurso Personalizado.

Las opciones de autenticación de X.509 incluyen autenticación de X.509 administrada por Atlas y autenticación de X.509 autogestionada. Para obtener más información sobre X.509 de autenticación autogestionada, consulta Configurar certificados autogestionados de X.509.

Para configurar la autenticación X.509:

  1. Generar un certificado X.509.

  2. Configura el AtlasProject Recurso personalizable para utilizar el certificado.

  3. Configura el AtlasDatabaseUser Recurso Personalizado para utilizar la autenticación X.509 administrada por Atlas o autogestionada.

Nota

Para utilizar certificados X.509 autogestionados, debe tener una Infraestructura de llave pública para integrarse con MongoDB Atlas.

Para generar un certificado X.509 con cert-manager, haga lo siguiente:

1

Para instalar cert-manager, consulte la documentación de instalación de cert-manager.

2

Para crear un Issuer de cert-manager, consulta la documentación de configuración de cert-manager.

Para obtener más información, consulta el ejemplo.

3

Para crear un certificado, consulta la documentación de uso de cert-manager.

Para obtener más información, consulta el ejemplo.

Para generar un509 certificado X. con el script create_X..go,509 siga los siguientes pasos:

1

Ejecuta el script create_X..go:509

go run scripts/create_x509.go --path={pem-file-path}

Ejemplo:

go run scripts/create_x509.go --path=tmp/x509/
2

Para añadir el certificado a un secreto, ejecuta los siguientes comandos:

kubectl create secret generic {secret-name} --from-file={pem-file-directory}
kubectl label secret {secret-name} atlas.mongodb.com/type=credentials

Ejemplo:

kubectl create secret generic my-x509-cert --from-file=./tmp/x509/cert.pem
kubectl label secret my-x509-cert atlas.mongodb.com/type=credentials
1

Especifique el secreto dentro del parámetro spec.x509CertRef.name para el AtlasProject recurso personalizado.

Ejemplo:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application Server A"
- cidrBlock: "203.0.113.0/24"
comment: "CIDR block for Application Servers B - D"
x509CertRef:
name: my-x509-cert
EOF
2

Especifique el parámetro x509Type para el AtlasDatabaseUser recurso personalizado.

Este parámetro acepta:

Ninguno

Usuario que no usa autenticación X.509.

gestionado/gestionada

Usuario que utiliza X.509 gestionado por Atlas.

Debe especificar \$external para el parámetro spec.databaseName.

cliente

Usuario que utiliza Self-Managed X.509. Los usuarios creados con este x509Type requieren un Nombre Común (CN) en el campo username. Para obtener más información, consulte RFC 2253.

Debe especificar \$external para el parámetro spec.databaseName.

Para obtener más información acerca de los parámetros de configuración disponibles desde la API, consulte la Atlas API de usuarios de base de datos.

Ejemplo:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDatabaseUser
metadata:
name: my-database-user
spec:
username: CN=my-x509-authenticated-user,OU=organizationalunit,O=organization
databaseName: "\$external"
x509Type: "CUSTOMER"
roles:
- roleName: "readWriteAnyDatabase"
databaseName: "admin"
projectRef:
name: my-project
EOF