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 AtlasDatabaseUser recurso personalizado.

Las opciones para la autenticación X.509 incluyen la autenticación X.509 administrada por Atlas y la autenticación X.509 autoadministrada. Para obtener más información sobre la autenticación X.509 autoadministrada, consulte Configurar certificados X.509 autoadministrados.

Para configurar la autenticación X.509:

  1. Generar un certificado X.509.

  2. Configure el AtlasProject recurso personalizado para utilizar el certificado.

  3. Configure el AtlasDatabaseUser recurso personalizado para utilizar la509 autenticación X. autoadministrada o administrada por Atlas.

Nota

Para utilizar certificados X.509 autoadministrados, debe tener una infraestructura de clave pública para integrarse con MongoDB Atlas.

  • Necesita la siguiente clave API pública, clave API privada y la información de ID de la organización para configurar el acceso del operador de Kubernetes de Atlas a Atlas.

    • Si desea que el operador de Kubernetes de Atlascree un nuevo proyecto de Atlas, otorgue acceso programático a unaorganización. Si su organización requiere una lista de acceso de IP para la API de administración de Atlas, también debe configurarla.

      Importante

      Debes asignar la clave API a la Organization Project Creator rol organizacional o superior.

    • Si desea trabajar con un proyecto de Atlas existente, agregue el acceso al proyecto desdeun proyecto. Si su organización requiere una lista de acceso IP para la API de administración de Atlas, también debe configurarla.

      Importante

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

    Para obtener más información, consulte Configurar el acceso a Atlas.

  • Genere un509 certificado X. con cert-manager o el script create_X..go.509

Para generar un509 certificadoX. 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, consulte la documentación de uso de cert-manager.

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

Para generar un509 certificado X. con el script create_X..go,509 realice 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 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.

ADMINISTRADO

Usuario que utiliza X.509 administrado por Atlas.

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

ATENCIÓN AL 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 en el API, consulte la API de usuarios dela base de datos 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

Integraciones de proveedores de nube

En esta página