View a markdown version of this page

Autenticazione tramite SCRAM-SHA-256 - Amazon DocumentDB

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à.

Autenticazione tramite SCRAM-SHA-256

Amazon DocumentDB (con compatibilità con MongoDB) supporta il meccanismo di autenticazione Salted Challenge Response Authentication (SCRAM) per l'autenticazione basata su password. Con SCRAM, il server verifica che un client conosca la password di un utente senza trasmetterla al server. Amazon DocumentDB supporta due meccanismi SCRAM: e. SCRAM-SHA-1 SCRAM-SHA-256 SCRAM-SHA-256utilizza la funzione SHA-256 hash più potente e funziona con la modalità FIPS.

Assegni uno o entrambi i meccanismi SCRAM a un utente quando crei o aggiorni quell'utente. Gli utenti creati con SCRAM-SHA-1 continuano a funzionare senza modifiche. SCRAM-SHA-256 l'autenticazione è disponibile nelle versioni minori del cluster basate su istanze di Amazon DocumentDB 5.0.1+ e 8.0.1+.

Le autenticazioni SCRAM e IAM si escludono a vicenda

Un utente può avere un meccanismo SCRAM o il MONGODB-AWS meccanismo, ma non entrambi. Per l'autenticazione dell'identità IAM, consultaAutenticazione tramite identità IAM.

Creazione di utenti con meccanismi SCRAM

Quando si crea un utente, è possibile specificare i meccanismi SCRAM da abilitare con il mechanisms campo. Gli esempi seguenti creano utenti con SCRAM-SHA-1 solo, SCRAM-SHA-256 solo ed entrambi i meccanismi:

db.runCommand({ createUser: 'sha1user', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1'] }); db.runCommand({ createUser: 'sha256user', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-256'] }); db.runCommand({ createUser: 'bothuser', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1','SCRAM-SHA-256'] });

Meccanismi predefiniti

Se non specifichi il mechanisms campo, Amazon DocumentDB li abilita entrambi SCRAM-SHA-1 e SCRAM-SHA-256 per l'utente. I due comandi seguenti sono equivalenti:

db.runCommand({ createUser: 'user1', pwd: passwordPrompt(), roles: ['readWrite'] }); // is equivalent to: db.runCommand({ createUser: 'user1', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1','SCRAM-SHA-256'] });

L'abilitazione predefinita di entrambi i meccanismi mantiene la compatibilità con i driver MongoDB precedenti che supportano solo. SCRAM-SHA-1 Preferisco i driver più recenti e la modalità FIPS. SCRAM-SHA-256 Se non desideri che nessun utente si autentichi conSCRAM-SHA-1, specifica SCRAM-SHA-256 nel mechanisms campo solo per tutti gli utenti.

Aggiornamento degli utenti esistenti

Gli utenti creati con SCRAM-SHA-1 continuano a essere supportati senza modifiche. Per passare da un utente esistente SCRAM-SHA-1 aSCRAM-SHA-256, aggiorna l'utente con una nuova password e il SCRAM-SHA-256 meccanismo:

db.runCommand({ updateUser: 'existing', pwd: passwordPrompt(), mechanisms: ['SCRAM-SHA-256'] });

Autenticazione con SCRAM-SHA-256

Il driver si autentica automaticamente utilizzando i parametri della stringa di connessione prima di inviare il primo comando su ogni connessione. Per selezionare SCRAM-SHA-256 un URI di connessione, imposta il authMechanism parametro su: SCRAM-SHA-256

mongodb://username:password@hostname:port/authenticationDatabase?authMechanism=SCRAM-SHA-256

Puoi anche inviare una richiesta di autenticazione esplicita da mongosh:

db.auth({user: 'sha256user', pwd: passwordPrompt(), mechanism: 'SCRAM-SHA-256'}) Enter password: 1

Se non specifichi un meccanismo di autenticazione nelle opzioni di connessione, il driver seleziona automaticamente un meccanismo supportato dall'utente del database di destinazione.