MongoDB Atlas admite una variedad de métodos de autenticación para garantizar una seguridad robusta. Atlas requiere que todos los usuarios se autentiquen para acceder a la Interfaz de Usuario de Atlas, a las bases de datos de Atlas y a la API de administración de Atlas.
Nota
En este contexto, un "usuario" puede ser un ser humano o una aplicación. Nos referimos a los usuarios humanos como "Identidad de la Fuerza Laboral" y a las aplicaciones como "Identidad de la Carga de Trabajo".
Dos factores determinan los tipos de autenticación que se deben utilizar:
El tipo de identidad (humano o máquina)
El recurso al que la identidad necesita acceso. El recurso puede ser uno de los siguientes: Atlas Interfaz de Usuario, Atlas base de datos o Atlas APIs.
Autenticación de Atlas Interfaz de Usuario
Usuarios de la fuerza laboral
Utiliza restricciones de acceso por IP y luego:
Usar Autenticación federada con un 2.0 proveedor de identidad SAML, como Okta, Microsoft Entra ID o Ping Identity, y
Utiliza las credenciales de Atlas con Autenticación multifactor (MFA). Siempre debes usar la forma más segura de MFA disponible, como una clave de hardware o biometría.
Usuarios de carga de trabajo
Esto solo aplica a los usuarios de Workforce.
Autenticación de la base de datos Atlas
Usuarios de la fuerza laboral
Utilice Federación de identidad de la fuerza laboral.
Para entornos de desarrollo y pruebas, también puedes utilizar SCRAM. Considera crear usuarios temporales de bases de datos con acceso a la base de datos justo a tiempo.
Usuarios de carga de trabajo
Utilice uno de los siguientes:
Para los entornos de desarrollo y prueba, también puede utilizar certificados X.509 o SCRAM.
Autenticación de la API de Atlas
Nota
Esto aplica tanto a los usuarios de Workforce como a los de carga de trabajo.
Usa las Cuentas de servicio. Para entornos de desarrollo y prueba, también puede utilizar Cuentas de servicio o Claves API.
Tipos de autenticación
Las siguientes secciones proporcionan detalles sobre los métodos de autenticación utilizados al acceder a la interfaz de usuario de Atlas, la base de datos de Atlas o la API de administración de Atlas.
Autenticación federada
La autenticación federada permite administrar todas las autenticaciones en la Interfaz de Usuario de Atlas en los distintos sistemas y aplicaciones a través de un proveedor de identidad central, lo que reduce la complejidad de la gestión de usuarios. Con la autenticación federada, puedes aplicar políticas de seguridad como complejidad de contraseñas, rotación de credenciales y MFA dentro de las herramientas del proveedor de identidad.
Para la interfaz de usuario de Atlas, puedes usar cualquier proveedor de identidad SAML compatible, como Okta, Microsoft Entra ID o Ping Identity.
Federación de Identidad de la Fuerza Laboral
La Federación de Identidades de Workforce le permite gestionar toda la autenticación en la base de datos Atlas a través de su proveedor de identidad. Para obtener más información, consulte Configurar la Federación de Identidades de Workforce con OIDC.
Federación de identidad de carga de trabajo
La Federación de Identidades de Carga de Trabajo permite que las aplicaciones que se ejecutan en entornos de nube como Azure y Google Cloud se autentiquen con Atlas sin necesidad de administrar credenciales de usuario de base de datos independientes. Con la Federación de Identidades de Carga de Trabajo, puede administrar los usuarios de la base de datos Atlas mediante identidades administradas de Azure, cuentas de servicio de Google o cualquier 2.0servicio compatible con OAuth. Estos mecanismos de autenticación simplifican la administración y mejoran la seguridad al permitir el acceso sin contraseña a la base de datos Atlas.
Autenticación con el rol de IAM de AWS
También puede autenticarse a través de roles de AWS IAM. Para obtener más información, consulta Autenticación de AWS IAM.
Para obtener más información, consulte Configurar la federación de identidad de carga de trabajo con OAuth 2.0 y Configurar la autenticación federada.
Autenticación de Múltiples Factores
Para cualquier usuario humano que tenga acceso al plano de control de Atlas, requerimos MFA para una mayor seguridad. Atlas admite los siguientes métodos MFA como identificación secundaria:
Llaves de seguridad
Biométrico
Autenticadores OTP
Notificaciones push con Okta Verify
Correo electrónico
Nota
Si utiliza autenticación federada, la MFA se configura y administra en el IdP. Si utiliza credenciales de Atlas, la MFA se configura y administra dentro de Atlas. La MFA es necesaria al usar credenciales de Atlas.
Para obtener más información,consulte Administrar sus opciones de autenticación multifactor.
Certificados de cliente X.509
Los certificados X.509 brindan la seguridad de TLS mutuo, haciéndolos aptos para entornos de staging y producción, y puedes utilizar tu propia autoridad certificadora con X.509. La desventaja de X.509 es que debes gestionar los certificados y la seguridad de estos certificados del lado de la aplicación, mientras que Workload Identity Federation permite acceso sin contraseña y una seguridad de la aplicación más sencilla.
Para obtener más información, consulta X.509.
Autenticación de contraseña SCRAM
Los clústeres Atlas admiten la autenticación de contraseña SCRAM para la autenticación de usuarios, pero recomendamos SCRAM solo para usar en entornos de desarrollo y prueba.
Si509 utiliza la autenticación X. o SCRAM, le recomendamos que utilice un administrador de secretos de terceros como HashiCorp Vault o AWS Secrets Manager para generar y almacenar credenciales de bases de datos complejas.
Para obtener más información, vea SCRAM.
Cuentas de servicio
Las cuentas de servicio utilizan el estándar de la industria OAuth2.0 para autenticar de forma segura con Atlas a través de la API de Administración de Atlas. Recomendamos que uses cuentas de servicio en lugar de API claves siempre que sea posible porque brindan seguridad añadida mediante tokens de acceso de corta duración y rotación de credenciales obligatoria.
Puedes gestionar el acceso programático para cuentas de servicios mediante la Atlas Interfaz de Usuario, Atlas CLI, Atlas Administration API y Terraform.
Claves de API
Las cuentas de servicio son el método de autenticación preferido. Atlas proporciona soporte para la autenticación basada en clave API para gestionar el acceso programático. La autenticación basada en clave API utiliza la autenticación Digest HTTP para proteger las solicitudes.
Para mejorar aún más la seguridad y minimizar el riesgo de acceso no autorizado:
Sigue las mejores prácticas para rotar las claves API regularmente. Para saber cómo rotar estas claves con HashiCorp Vault, consulta, por ejemplo, la documentación de Hashicorp.
Utiliza la lista de acceso IP para tus claves API. Para obtener más información, consulte Requerir una Lista de Acceso IP para la API de administración de Atlas.
Para obtener más información, consulta Métodos de autenticación de la API de administración de Atlas.
Gestión de secretos
Recomendamos utilizar un gestor de secretos de terceros como HashiCorp Vault o AWS Secrets Manager para generar y almacenar credenciales de base de datos complejas. Un administrador de secretos puede generar credenciales de base de datos de forma dinámica basándose en los roles configurados para las bases de datos de Atlas.
Para aprender más, consulta el blog Gestiona los secretos de MongoDB Atlas base de datos en HashiCorp Vault.
Implementaciones
Para conocer nuestras recomendaciones para implementaciones relacionadas con la autenticación, consulte Guía para organizaciones, proyectos y clústeres de Atlas.
Medidas adicionales de seguridad
Para mejorar aún más la seguridad y minimizar el riesgo de acceso no autorizado, considera estas medidas de seguridad adicionales:
Rotar los secretos de las cuentas de servicio antes de que caduquen.
Utiliza una lista de acceso IP para tus cuentas de servicio.
Asignar el rol de Atlas menos privilegiado requerido para el propósito previsto de la cuenta de servicio, con el fin de adherirse al principio de mínimo privilegio.
Para obtener más información, consulta la Descripción general de las cuentas de servicio.