Importante
Recomendamos usar cuentas de servicio en lugar de claves de API para autenticarse en la API de administración de Atlas. Las claves API son un método de autenticación heredado.
Para usar la API de administración de Atlas para administrar tus clústeres de Atlas, debes autenticar tus solicitudes de API. La API de administración de Atlas acepta los siguientes métodos de autenticación:
Tokens de acceso a la cuenta de servicio(OAuth.) 20
Claves API (Digest access authentication)
Para aprender a utilizar cuentas de servicio y API keys para configurar el acceso programático a sus organizaciones y proyectos de Atlas, consulte la Guía de comenzar de la Atlas Administration API.
La Atlas Administration API no proporciona acceso a los datos almacenados en tus clústeres. Para leer o escribir datos en una base de datos, debes autenticarte en tu clúster utilizando las credenciales de un usuario de base de datos con los roles de lectura o escritura adecuados. Puedes utilizar la Atlas Administration API para crear y gestionar usuarios de base de datos.
Nota
Muchas URL de los puntos finales de la API de administración de Atlas siguen el formato /api/atlas/<version>/groups/<GROUP-ID>/, donde <GROUP-ID> es el ID de su proyecto. Para estos recursos, la cuenta de servicio o las claves de API que utilice para autenticar la solicitud deben pertenecer a la organización que aloja el proyecto. De lo contrario, Atlas responderá con un error 401.
Las siguientes secciones describen los métodos de autenticación de la API de Administración de Atlas:
Descripción General de las Cuentas de Servicio
Las cuentas de servicio son el método recomendado para gestionar la autenticación en la API de administración de Atlas. Las cuentas de servicio ofrecen mayor seguridad que las claves de API mediante el uso del protocolo OAuth 2.0, estándar del sector, con el flujo de credenciales de cliente.
Una cuenta de servicio permite administrar permisos y crear tokens de acceso para autenticar las solicitudes de API. Cada cuenta de servicio tiene un ID de cliente y un secreto rotable que funcionan como nombre de usuario y contraseña para crear tokens de acceso. Para aprender a crear una solicitud de API con un token de acceso, consulte la sección «Crear una solicitud de API».
Tip
Mejores prácticas para el token de la cuenta de servicio
Considere las siguientes mejores prácticas al utilizar tokens de cuenta de servicio:
Reutilizar tokens: los tokens de acceso de la cuenta de servicio tienen una vida útil de 1 horas (3600 segundos), durante la cual puedes reutilizar el token varias veces. Evita crear nuevos tokens para cada solicitud.
Generar nuevos tokens cuando sea necesario: Aunque no puede actualizar un token de acceso, puede generar un nuevo token cuando su token actual esté cerca de caducar. Esto evita interrupciones del servicio y le permite mantener el acceso autorizado a la cuenta de servicio.
Revoque los tokens innecesarios: Cuando ya no necesite un token, revoque el acceso del token para minimizar los riesgos de seguridad y asegurarse de que solo los tokens activos tengan acceso a su cuenta de servicio.
Cada cuenta de servicio pertenece exactamente a una organización, y se puede conceder acceso a cualquier cantidad de proyectos dentro de esa organización. Para conceder a una cuenta de servicio a nivel organizacional acceso a un proyecto, consulte Conceder Acceso a una Cuenta de Servicio Existente a un Proyecto.
Los roles de Atlas limitan con qué operaciones una cuenta de servicio puede autenticarse con su token de acceso. Debe asignar roles a las cuentas de servicio como lo haría para los usuarios para garantizar que la cuenta de servicio genere tokens de acceso con los permisos necesarios para las llamadas API deseadas.
Importante
Si una cuenta de servicio a nivel de proyecto tiene acceso a la organización o a otros proyectos, debe tener el Organization Owner rol para gestionar su ciclo de vida, incluida la rotación o revocación de sus secretos.
No puedes usar una cuenta de servicio ni su token de acceso para iniciar sesión en Atlas a través de la interfaz de usuario de Atlas. Las cuentas de servicio sólo conceden acceso a la API de administración de Atlas, que no incluye acceso a la Interfaz de Usuario (UI) ni acceso a los datos del clúster. Para obtener más información sobre las limitaciones de las cuentas de servicio, consulte Límites y umbrales de MongoDB.
Descripción general de claves API
Importante
Recomendamos usar cuentas de servicio en lugar de claves de API para autenticarse en la API de administración de Atlas. Las claves API son un método de autenticación heredado.
Las claves API son un método heredado de autenticación en la API de administración de atlas que utiliza autenticación digest HTTP.
Las claves de API tienen dos partes: una llave pública y una llave privada. Estos sirven la misma función que un nombre de usuario y una contraseña para autenticar las solicitudes de la API. Para aprender a construir una solicitud de API usando claves de API, consulta Realizar una solicitud de API.
Atlas representa la llave pública y la llave privada utilizando un valor único llamado nonce. El nonce solo es válido durante un corto periodo de tiempo según la especificación de Autenticación HTTP Digest. Esta vida útil limitada protege contra ataques de reproducción, donde un atacante almacena en caché una clave privada para usarla sin restricción de tiempo.
Cada par de claves API pertenece a una sola organización y puede conceder acceso a cualquier cantidad de proyectos de esa organización. Para dar acceso a un proyecto a las claves API a nivel de organización, se debe consultar Conceder acceso a un proyecto a una cuenta de servicio existente.
Atlas roles limita las operaciones que pueden realizar las claves API. Debe asignar roles a las claves API como lo haría para los usuarios para garantizar que las claves API tengan los permisos necesarios para las llamadas API deseadas.
No puedes usar API keys para iniciar sesión en Atlas a través de la Interfaz de Usuario de Atlas. Las claves API solo otorgan acceso a la API de administración de Atlas, que no incluye el acceso a la interfaz de usuario ni el acceso a los datos de los clústeres.
Próximos pasos
Para aprender a usar y administrar cuentas de servicio y API keys, consulta los siguientes procedimientos: