Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Configurar certificados X.509 autogestionados

Los certificados X.509 autogestionados, también conocidos como TLS mutuo o mTLS, proporcionan a los usuarios de bases de datos acceso a los clústeres del proyecto. Los usuarios de base de datos son distintos de los usuarios de Atlas. Los usuarios de bases de datos tienen acceso a las bases de datos de MongoDB, mientras que los usuarios de Atlas tienen acceso a la aplicación Atlas en sí.

Si activas la autorizacion LDAP, no podrás conectarte a tus clústeres con usuarios que se autentiquen con un certificado X.509 gestionado por Atlas.

Después de activar la autorización LDAP, puedes conectarte a tus clústeres con usuarios que se autentican mediante un certificado X.509 autogestionado. Sin embargo, el Nombre común del usuario en su certificado X.509 debe coincidir con el Nombre Distinguido de un usuario autorizado para acceder a su base de datos con LDAP.

Puede haber tanto usuarios que se autentican con certificados autogestionados como usuarios que se autentican con certificados X.509 gestionados por Atlas en la misma base de datos.

Para gestionar usuarios de base de datos, debes tener Organization Owner o Project Owner acceso a Atlas.

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

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

  4. En la barra lateral, haga clic en Advanced.

    La página Avanzada se muestra.

2

Establece Self-Managed X.509 Authentication en ON.

3

Para guardar una configuración X.509 gestionada por el cliente para el proyecto que especifica mediante la Atlas CLI, ejecute el siguiente comando:

atlas security customerCerts create [options]

Para obtener más información sobre la sintaxis del comando y los parámetros, consulte la documentación de Atlas CLI para atlas seguridad customerCerts create.

Puede proporcionar una Autoridad de Certificación (CA) utilizando la Interfaz de usuario de Atlas de las siguientes maneras:

  • Haciendo clic en Upload y seleccionando un archivo .pem de su sistema de archivos y haciendo clic en Save.

  • Copiar el contenido de un archivo .pem en el área de texto proporcionada y hacer clic en Save.

Puedes concatenar múltiples CAs en el mismo archivo .pem o en el área de texto. Los usuarios pueden autenticarse con certificados generados por cualquiera de las AC proporcionadas.

Cuando subas una AC, se creará automáticamente una alerta a nivel de proyecto para enviar una notificación 30 días antes de que la AC caduque, repitiéndose cada 24 horas. Puede ver y editar esta alerta desde la página Alert Settings de Atlas. Para más información sobre cómo configurar alertas, consulta Configurar los ajustes de alertas.

Para devolver los detalles de una configuración gestionada por el cliente X.509 para el Proyecto que especifique a través de la Atlas CLI, ejecutar el siguiente comando:

atlas security customerCerts describe [options]

Para desactivar una configuración de X.509 gestionada por el cliente para el proyecto que especifique utilizando el Atlas CLI, ejecute el siguiente comando:

atlas security customerCerts disable [options]

Para obtener más información sobre la sintaxis y los parámetros de los comandos anteriores, consulte la documentación de Atlas CLI sobre atlas security customerCerts describe y atlas security customerCerts disable.

Tip

Consulte: Enlaces relacionados

Para ver o editar tu CA utilizando la Interfaz de Usuario de Atlas, haz clic en el icono Self-Managed X.509 Authentication Settings .

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

La página Acceso a la base de datos y a la red se muestra.

2
  1. Si aún no aparece, haz clic en la pestaña Database Users.

  2. Haga clic en Add New Database User.

3
4
Campo
Descripción

Distinguished Name

El nombre común (CN) del usuario y, opcionalmente, campos adicionales del nombre distinguido (RFC 4514) de la siguiente tabla:

Nombre
Descripción
Tipo
Tamaño (en MB)

businesscategory

businessCategory atributo que describe los tipos de negocios realizados por una organización.

DirectoryString

TAMAÑO(1..128)

c

Código de país de dos letras ISO 3166.

StringType

TAMAÑO(2)

cn

Nombres comunes de un objeto. Si el objeto corresponde a una persona, normalmente será el nombre completo de la persona.

StringType

SIZE(1..64)

countryofcitizenship

RFC 3039 CountryOfCitizenship atributo que contiene el identificador de al menos un país de ciudadanía. Solo acepta ISO 3166 códigos.

PrintableString

TAMAÑO(2)

countryofresidence

RFC 3039 CountryOfResidence atributo que contiene el valor de al menos un país. Solo acepta códigos ISO 3166.

PrintableString

TAMAÑO(2)

dateofbirth

RFC 3039 DateOfBirth atributo, que especifica la fecha de nacimiento del sujeto.

GeneralizedTime en este formato: YYYYMMDD000000Z.

dc

domainComponent tipo de atributo que contiene un nombre de dominio DNS.

StringType

dn

dnQualifier tipo de atributo que contiene información aclaratoria para agregar al nombre distinguido relativo de una entrada.

DirectoryString

SIZE(1..64)

e

Dirección de correo electrónico en certificados Verisign.

emailaddress

emailAddress (extensión RSA PKCS#9) atributo que especifica la dirección o direcciones de correo electrónico como una string ASCII no estructurada.

IA5String

gender

RFC 3039 Gender atributo que especifica el valor del género del sujeto. Permite M, F, m o f.

PrintableString

TAMAÑO(1)

generation

generationQualifier tipo de atributo que contiene cadenas de nombres que normalmente representan el sufijo de una persona.

DirectoryString

SIZE(1..64)

givenname

Cadenas de nombres que son la parte del nombre de una persona que no es su apellido.

DirectoryString

SIZE(1..64)

initials

Iniciales de algunos o todos los nombres de una persona, a excepción de los apellidos.

DirectoryString

SIZE(1..64)

l

localityName atributo que contiene nombres de localidades o lugares, como una ciudad, condado u otra región geográfica.

StringType

SIZE(1..64)

name

(id-at-name) Supertipo de atributo del cual heredan los tipos de atributos de usuario con la sintaxis de nombre.

DirectoryString

SIZE(1..64)

nameofbirth

ISIS-MTT NameAtBirth atributo que especifica el nombre de una persona al nacer.

DirectoryString

SIZE(1..64)

o

Nombre de una organización.

StringType

SIZE(1..64)

ou

Nombre de una unidad organizacional.

StringType

SIZE(1..64)

placeofbirth

RFC 3039 PlaceOfBirth que especifique el valor del lugar de nacimiento.

DirectoryString

TAMAÑO(1..128)

postaladdress

RFC 3039 PostalAddressque incluye los tipos de atributos stateOrProvinceName y localityName, si están presentes, para almacenar información de dirección y geográfica.

Secuencia

TAMAÑO (1..6) DE DirectoryString(TAMAÑO(1..30))

postalcode

postalCode atributo que especifica el código utilizado por un Servicio Postal para identificar una zona de servicio postal.

DirectoryString

TAMAÑO (1..40)

pseudonym

RFC 3039 pseudonym atributo que especifica un seudónimo, como apodos y nombres con ortografía diferente a la definida por el nombre registrado.

DirectoryString

SIZE(1..64)

serialnumber

Nombre del número de serie del dispositivo.

StringType

SIZE(1..64)

sn

Nombre del número de serie del dispositivo.

StringType

SIZE(1..64)

st

Estado o nombre de provincia.

StringType

SIZE(1..64)

street

Nombre de la calle.

StringType

SIZE(1..64)

surname

Nombrar atributos de tipo X520name.

DirectoryString

SIZE(1..64)

t

Title atributo, que contiene la posición o función designada del sujeto dentro de una organización.

DirectoryString

SIZE(1..64)

telephonenumber

id-at-telephoneNumber, que es un formato acordado internacionalmente para los números de teléfono internacionales.

PrintableString

TAMAÑO (1..32)

uid

ID de usuario LDAP.

DirectoryString

uniqueidentifier

Identificador único para un objeto.

DirectoryString

unstructuredaddress

PKCS#9 atributo que especifica la(s) dirección(es) de un sujeto como una string de directorio no estructurada.

DirectoryString

unstructuredname

PKCS#9 atributo que especifica el nombre o nombres de un sujeto como una string ASCII no estructurada.

DirectoryString

SIZE(1..64)

Para obtener más información sobre campos de Nombre Distinguido, consulte RFC 4514.

Por ejemplo:

CN=Jane Doe,O=MongoDB,C=US

User Privileges

Puedes asignar roles de una de las siguientes maneras:

  • Seleccione Atlas admin, lo que proporciona al usuario readWriteAnyDatabase, así como una serie de privilegios administrativos.

  • Seleccionar readWriteAnyDatabase, que proporciona al usuario privilegios para leer y guardar en cualquier base de datos.

  • Seleccione readAnyDatabase, que proporciona al usuario privilegios para leer cualquier base de datos.

  • Seleccione Select Custom Role para seleccionar una función personalizada que se creó anteriormente en Atlas. Puedes crear roles personalizados para usuarios de la base de datos en los casos en que los roles de usuario incorporados de la base de datos no puedan describir el conjunto deseado de privilegios. Para más información sobre roles personalizados, consulte Configurar roles personalizados de base de datos.

  • Haz clic en Add Default Privileges. Al hacer clic en esta opción, puedes seleccionar roles individuales y especificar la base de datos sobre la que se aplican los roles. Opcionalmente, para los roles read y readWrite, también puedes especificar una colección. Si no especificas una colección para read y readWrite, el rol se aplica a todas las colecciones que no seansystem en la base de datos.

Para obtener información sobre los privilegios integrados de Atlas, consulta Roles integrados.

Para obtener más información sobre la autorización, consulta Control de acceso basado en roles y Roles incorporados en el Manual de MongoDB.

5