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.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 del proyecto Atlas de 24 caracteres hexadecimales (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" }
- admin SecretArn
-
El nombre del 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 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. Para autenticarse en la API de administración de AtlasclientId, se necesita un secreto de administrador que contenga las credenciales OAuth de la cuenta de servicio de Atlas (clientSecret,,serviceAccountId). El secreto de administrador debe ser de este tipo. MongoDBAtlasServiceAccount
Puedes crear tu secreto mediante la CreateSecretllamada cuyo valor secreto contenga los campos mencionados anteriormente y cuyo tipo de secreto sea MongoDBAtlasDatabaseUser. 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 (MongoDBAtlasServiceAccount) que el secreto de usuario (MongoDBAtlasDatabaseUser), la política de roles de rotación predeterminada contemplada en este secretsmanager:resource/Type campo no permitirá el acceso al secreto de administrador. Debe proporcionar explícitamente al rol de rotación acceso al secreto de administrador agregando una declaración con el alcance del MongoDBAtlasServiceAccount tipo o especificando el ARN del secreto de administrador directamente en la política de 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.