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 (autenticado por SCRAM). 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.netNo incluya el prefijomongodb+srv://. Se utiliza para verificar la nueva contraseña durante la rotación. - databaseName
-
La base de datos de autenticación en la que se almacenan las credenciales del usuario. Normalmente
adminpara usuarios de SCRAM o$externalpara X.509/LDAP. - groupId
-
El ID de proyecto Atlas hexadecimal de 24 caracteres (también conocido como ID 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" }
- adminSecretArn
-
El nombre del recurso de Amazon (ARN) del secreto que contiene las OAuth credenciales de la cuenta de servicio de Atlas (tipo: Mongo DBAtlasServiceAccount) con permisos de administrador de acceso a bases de datos de proyectos. Este secreto de administrador se utiliza 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 en
yyyy-mm-ddformato. Este valor se utiliza en elAcceptencabezado comoapplication/vnd.atlas.{apiVersion}+json. Toma2025-03-12como valor predeterminado si no se especifica.
Flujo de uso
Este tipo de rotación utiliza una arquitectura de dos secretos. Se necesita un secreto de administrador que contenga OAuth las credenciales de la cuenta de servicio de Atlas (clientIdclientSecret,,serviceAccountId) para autenticarse en la API de administración de Atlas. El secreto de administrador debe ser del tipo DBAtlas ServiceAccount Mongo.
Puedes crear tu secreto utilizando la CreateSecretllamada cuyo valor secreto contiene los campos mencionados anteriormente y cuyo tipo de secreto es DBAtlas DatabaseUser Mongo. Las configuraciones de rotación se pueden configurar mediante una RotateSecretllamada. Debe proporcionar adminSecretArn los metadatos de rotación. También debes proporcionar un ARN de rol en la RotateSecretllamada 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 (Mongo DBAtlasServiceAccount) que el secreto de usuario (Mongo DBAtlasDatabaseUser), la política de roles de rotación predeterminada que se establece en el ámbito de aplicación no secretsmanager:resource/Type permitirá el acceso al secreto de administrador. Debe proporcionar explícitamente al rol de rotación acceso al secreto de administrador añadiendo una declaración con un ámbito del DBAtlas ServiceAccount tipo Mongo o especificando el ARN del secreto de administrador directamente en la política del rol.
Durante la rotación, el controlador genera una nueva contraseña, llama a la API Atlas Admin para actualizar la contraseña del usuario de la base de datos y verifica la nueva contraseña abriendo una conexión MongoDB real 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.