View a markdown version of this page

Utente del database MongoDB Atlas - AWS Secrets Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utente del database MongoDB Atlas

Campi con valori segreti

Di seguito sono riportati i campi che devono essere contenuti nel segreto di Secrets Manager:

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

Il nome utente del database MongoDB ()SCRAM-authenticated. Questo utente deve essere configurato in MongoDB Atlas per accettare l'autenticazione SCRAM.

password

La password corrente per l'utente del database MongoDB Atlas.

URL del cluster

Il nome host del cluster MongoDB Atlas, ad esempio. cluster0.abc123.mongodb.net Non includere il prefisso mongodb+srv://. Viene utilizzato per verificare la nuova password durante la rotazione.

databaseName

Il database di autenticazione in cui sono archiviate le credenziali dell'utente. In genere admin per utenti SCRAM o $external per. X.509/LDAP

groupId

L'ID esadecimale di 24 caratteri Atlas Project (noto anche come ID di gruppo). Puoi trovarlo nelle impostazioni del tuo progetto Atlas.

Campi di metadati segreti

Di seguito sono riportati i campi di metadati per l'utente del database MongoDB Atlas:

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

L'Amazon Resource Name (ARN) del segreto che contiene le credenziali OAuth dell'account di servizio Atlas (tipo: MongoDBAtlasServiceAccount) con autorizzazioni di amministratore di Project Database Access. Questo segreto di amministrazione viene utilizzato per autenticarsi all'API Atlas Admin per l'aggiornamento delle password.

Versione API

(Facoltativo) La data di versione dell'API Atlas Admin in yyyy-mm-dd formato. Questo valore viene utilizzato nell'Acceptintestazione comeapplication/vnd.atlas.{apiVersion}+json. Se non specificato, viene usato il valore predefinito 2025-03-12.

Flusso di utilizzo

Questo tipo di rotazione utilizza un'architettura a due segreti. Per l'autenticazione all'API Atlas Admin è necessario un segreto di amministrazione contenente le credenziali OAuth dell'account di servizio Atlas (clientIdclientSecret,,serviceAccountId). Il segreto di amministrazione deve essere di tipo. MongoDBAtlasServiceAccount

Puoi creare il tuo segreto utilizzando la CreateSecret chiamata con il valore segreto contenente i campi sopra menzionati e il tipo di segreto as MongoDBAtlasDatabaseUser. Le configurazioni di rotazione possono essere impostate utilizzando una RotateSecret chiamata. È necessario fornire i adminSecretArn metadati di rotazione. È inoltre necessario fornire un ruolo ARN nella RotateSecret chiamata che conceda al servizio le autorizzazioni necessarie per ruotare il segreto. Per un esempio di politica delle autorizzazioni, vedi Sicurezza e autorizzazioni. Sicurezza e autorizzazioni

Poiché il segreto di amministrazione è di un tipo diverso (MongoDBAtlasServiceAccount) rispetto al segreto utente (MongoDBAtlasDatabaseUser), la politica del ruolo di rotazione predefinita descritta da non secretsmanager:resource/Type concederà l'accesso al segreto di amministrazione. È necessario fornire esplicitamente al ruolo di rotazione l'accesso al segreto di amministrazione aggiungendo un'istruzione con ambito al MongoDBAtlasServiceAccount tipo o specificando l'ARN del segreto di amministrazione direttamente nella politica del ruolo.

Durante la rotazione, il driver genera una nuova password, chiama l'API Atlas Admin per aggiornare la password dell'utente del database e verifica la nuova password aprendo una vera connessione MongoDB al cluster. Nota che c'è un ritardo di propagazione di 5-10 secondi dopo l'aggiornamento della password prima che la nuova password venga accettata dal livello di autenticazione del cluster.