View a markdown version of this page

Usuario de la base de datos MongoDB Atlas - AWS Secrets Manager

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Usuario de la base de datos MongoDB Atlas

Campos de valores secretos

Los siguientes son los campos que deben estar incluidos en el secreto de Secrets Manager:

{ "username": "database username", "password": "database password", "clusterUrl": "cluster hostname", "databaseName": "authentication database", "groupId": "Atlas Project ID" }
nombre de usuario

El nombre de usuario de la base de datos MongoDB ()SCRAM-authenticated. Este usuario debe estar configurado en MongoDB Atlas para aceptar la autenticación SCRAM.

contraseña

La contraseña actual del usuario de la base de datos MongoDB Atlas.

URL del clúster

El nombre de host del clúster Atlas de MongoDB, por ejemplo. cluster0.abc123.mongodb.net No incluya el prefijo mongodb+srv://. Se usa para verificar la nueva contraseña durante la rotación.

databaseName

La base de datos de autenticación donde se almacenan las credenciales del usuario. Normalmente admin para usuarios de SCRAM o $external para X.509/LDAP.

groupId

El identificador hexadecimal de 24 caracteres del proyecto Atlas (también conocido como identificador de grupo). Puede encontrarlo en la configuración de su proyecto Atlas.

Campos de metadatos secretos

Los siguientes son los campos de metadatos del usuario de la base de datos MongoDB Atlas:

{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:MongoDBAtlasServiceAccount", "apiVersion": "2025-03-12" }
administrador SecretArn

El nombre de recurso de Amazon (ARN) del secreto que contiene las credenciales de OAuth de la cuenta de servicio Atlas (tipo: MongoDBAtlasServiceAccount) con permisos de administrador de acceso a la base de datos del proyecto. Este secreto de administrador se usa para autenticarse en la API de administración de Atlas para actualizar las contraseñas.

apiVersion

(Opcional) La fecha de la versión de la API de administración de Atlas está en yyyy-mm-dd formato. Este valor se usa en el Accept encabezado comoapplication/vnd.atlas.{apiVersion}+json. Toma 2025-03-12 como valor predeterminado si no se especifica.

Flujo de uso

Este tipo de rotación utiliza una arquitectura de dos secretos. Se requiere un secreto de administrador que contenga las credenciales de OAuth de la cuenta de servicio Atlas (clientIdclientSecret,,serviceAccountId) para autenticarse en la API de administración de Atlas. El secreto de administrador debe ser del tipo. MongoDBAtlasServiceAccount

Puede crear su secreto mediante la CreateSecret llamada con el valor secreto que contiene los campos mencionados anteriormente y el tipo de secreto como MongoDBAtlasDatabaseUser. Las configuraciones de rotación se pueden configurar mediante una RotateSecret llamada. Debe proporcionar los metadatos adminSecretArn de la rotación. También debes proporcionar un ARN de rol en la RotateSecret llamada que otorgue al servicio los permisos necesarios para rotar el secreto. Para ver un ejemplo de una política de permisos, consulta Seguridad y permisos.

Como el secreto de administrador es de un tipo diferente (MongoDBAtlasServiceAccount) que el secreto de usuario (MongoDBAtlasDatabaseUser), la política de roles de rotación predeterminada por el que secretsmanager:resource/Type se rige no permitirá el acceso al secreto de administrador. Debes proporcionar de forma explícita el acceso del rol de rotación al secreto de administrador añadiendo una sentencia específica al MongoDBAtlasServiceAccount tipo o especificando el ARN del secreto de administrador directamente en la política del rol.

Durante la rotación, el controlador genera una contraseña nueva, llama a la API de administración de Atlas para actualizar la contraseña del usuario de la base de datos y verifica la nueva contraseña abriendo una conexión real de MongoDB con el clúster. Tenga en cuenta que hay un retraso de propagación de 5 a 10 segundos después de la actualización de la contraseña antes de que la capa de autenticación del clúster acepte la nueva contraseña.