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 un certificado X.509 con el create_X.509.go script, realiza los siguientes pasos:

1

Ejecuta el create_X.509.go script:

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

Especifica 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 X.509autogestionado. 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