View a markdown version of this page

Utente del database MongoDB Atlas - Gestione dei segreti AWS

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 di valore 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 (autenticato con SCRAM). Questo utente deve essere configurato in MongoDB Atlas per accettare l'autenticazione SCRAM.

password

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

ClusterURL

L'hostname 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 del progetto Atlas a 24 caratteri (noto anche come ID di gruppo). Puoi trovarlo nelle impostazioni del tuo Atlas Project.

Campi di metadati segreti

Di seguito sono riportati i campi di metadati per MongoDB Atlas Database User:

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

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

Versione API

(Facoltativo) La data della versione dell'API Atlas Admin nel 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 OAuth le credenziali dell'account del servizio Atlas (clientIdclientSecret,,serviceAccountId). Il segreto di amministrazione deve essere di tipo Mongo. DBAtlas ServiceAccount

Puoi creare il tuo segreto usando la CreateSecretchiamata con il valore segreto contenente i campi sopra menzionati e il tipo segreto come DBAtlas DatabaseUser Mongo. Le configurazioni di rotazione possono essere impostate utilizzando una RotateSecretchiamata. È necessario fornire i adminSecretArn metadati di rotazione. È inoltre necessario fornire un ruolo ARN nella RotateSecretchiamata che conceda al servizio le autorizzazioni necessarie per ruotare il segreto. Per un esempio di politica di autorizzazioni, vedi Sicurezza e autorizzazioni.

Poiché il segreto dell'amministratore è di un tipo diverso (Mongo DBAtlasServiceAccount) rispetto al segreto dell'utente (Mongo DBAtlasDatabaseUser), la politica di rotazione predefinita relativa ai ruoli non secretsmanager:resource/Type concederà l'accesso al segreto di amministrazione. È necessario fornire esplicitamente l'accesso del ruolo di rotazione al segreto di amministrazione aggiungendo un'istruzione con ambito al DBAtlas ServiceAccount tipo Mongo 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. Tieni presente 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.