Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Configurar la autenticación X.509

Los certificados de cliente X.509 proporcionan a los usuarios de la base de datos acceso a las implementaciones de bases de datos en su proyecto. Puede usar el operador de Kubernetes de Atlas para habilitar la autenticación X.509 para 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 la autenticación autogestionada X.509, consulte Configura Certificados de X autogestionados.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.

  • Necesita la siguiente llave pública de API, llave privada de API y la información del Identificador de la Organización para configurar el acceso de Atlas Kubernetes Operator a Atlas.

    • Si deseas que el Atlas Kubernetes Operator cree un nuevo Proyecto de Atlas, otorga acceso programático a una organización. Si tu organización requiere una lista de acceso IP para la API de administración de Atlas, también deberás configurar la lista de acceso a la API.

      Importante

      Debes asignar la clave API al Organization Project Creator rol en la organización o superior.

    • Si deseas trabajar con un proyecto Atlas existente, Añadir acceso al proyecto desde un proyecto. Si tu organización requiere una lista de acceso IP para la API de Administración de Atlas, también debes configurar la lista de acceso a la API.

      Importante

      Debe asignar al clave API el rol de proyecto Project Owner.

    Para saber más, consulta Configura el acceso a Atlas.

  • Genera un certificado X.509 con cert-manager o el create_X.509.go script.

Para generar un certificado X.509 con cert-manager, realice los siguientes pasos:

1

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

2

Para crear un administrador de Issuer certificados, consulte la documentación de configuración del administrador de certificados.

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

3

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

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

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

1

Ejecute 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 en el 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.

ADMINISTRADO

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 sobre los parámetros de configuración disponibles de la API. Para más información, consulta la API de usuarios de la base de datos.de Atlas

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

Volver

Roles personalizados de bases de datos

En esta página