Docs Menu
Docs Home
/ /

Autenticación de AWS IAM

Utilice un AWS ARN de usuario o rol deIAM para autenticar un usuario de base de datos. El uso de AWS IAM reduce la cantidad de mecanismos de autenticación y la cantidad de secretos que se deben administrar. Atlas no recibe su clave secreta de autenticación por cable y el controlador no la conserva.

Nota

Atlas utiliza AWS STS para verificar la identidad de los usuarios y roles deIAM. AWS aplica un cuota de solicitud predeterminadade 600 solicitudes por segundo, por cuenta y por región. Esta cuota se aplica a la cuenta de AWS del usuario o rol de IAM.

Puedes configurar roles de AWS IAM para autenticar tipos de cómputo de AWS en tus clústeres de Atlas.

Nota

No puedes configurar la autenticación para los principales de AWS IAM cuando la autorización LDAP está activada.

Si requieres autenticación para un principal de AWS IAM, considera mover los clústeres a los que deseas acceder con la autenticación de AWS IAM a otro proyecto donde la autorización LDAP esté desactivada.

Para AWS Lambda y HTTP (ECS y EC2), los controladores leen automáticamente de las variables de entorno. Para AWS EKS, debes asignar manualmente el rol de IAM.

Esta página describe cómo AWS Lambda, AWS ECS y AWS EKS pueden conectarse usando un rol de AWS IAM.

Nota

Debes asignar un rol IAM a Lambda, EC2, ECS o EKS en la consola de AWS.

AWS Lambda pasa información a las funciones a través de las siguientes variables de entorno si asignas un rol de ejecución a la función Lambda.

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

Nota

No se necesita crear manualmente estas variables de entorno cuando se use un rol de ejecución en la función.

Para obtener más información sobre estas variables de entorno, consulta Uso de variables de entorno de AWS Lambda.

AWS ECS obtiene las credenciales de la siguiente URI:

http://169.254.170.2${AWS_CONTAINER_CREDENTIALS_RELATIVE_URI}

AWS_CONTAINER_CREDENTIALS_RELATIVE_URI es una variable de entorno. Para obtener más información, consulta Roles de IAM para tareas en la documentación de AWS.

AWS EC2 obtiene las credenciales del Servicio de Metadatos de Instancia V2 en la siguiente URL:

http://169.254.169.254/latest/meta-data/iam/security-credentials/

Para obtener más información, consulta Iniciar una instancia con un rol de IAM en la documentación de AWS.

Para aprender a configurar un rol de AWS IAM para la autenticación con AWS ECS Fargate, consulta el rol de IAM de ejecución de tareas de Amazon ECS en la documentación de AWS.

Para EKS de AWS, primero se debe asignar el rol de IAM al pod para configurar las siguientes variables de entorno en ese pod:

  • AWS_WEB_IDENTITY_TOKEN_FILE - contiene la ruta al archivo del token de identidad web.

  • AWS_ROLE_ARN - contiene el rol de IAM utilizado para conectarse al clúster.

Para aprender más sobre AWS EKS, consulta ¿Qué es Amazon EKS? en la documentación de AWS.

Para otorgar acceso a la base de datos al rol de AWS IAM, complete los pasos descritos en la Sección"Configurar usuarios de la base de datos" para AWS IAM. Para obtener más información sobre cómo conceder acceso a la base de datos mediante la CLI de Atlas, la API de administración de Atlas o la interfaz de usuario de Atlas, consulte "Configurar usuarios de la base de datos".

Para conectarse a Atlas con sus credenciales de AWS IAM usando mongosh, proporcione una cadena de conexión que especifique el mecanismo de autenticación MONGODB-AWS. Este formato de cadena de conexión se aplica a todos los mecanismos de autenticación de AWS IAM.

Importante

Debes configurar la autenticación utilizando uno de los métodos descritos en Configurar la autenticación con los roles de AWS IAM antes de poder usar este formato de cadena de conexión.

Conectarse a Atlas usando la autenticación de AWS IAM con el mongosh requiere la versión de shell v0.9.0 o superior.

Considere lo siguiente:

  • Se deben usar las credenciales de AWS IAM, usando la ID de clave de acceso como nombre de usuario y la clave secreta como contraseña.

  • El parámetro del query authSource es $external, codificado en URL como %24external.

  • El parámetro de query authMechanism es MONGODB-AWS.

    Ejemplo

    mongosh "mongodb+srv://<atlas-host-name>/test?authSource=%24external&authMechanism=MONGODB-AWS" --username <access-key-id> --password <secret-key>

Tip

Volver

Autenticación

En esta página