Privilegi di lettura e lettura/scrittura con utenti secondari in Azure Cosmos DB per MongoDB vCore (anteprima)
Azure Cosmos DB per MongoDB vCore supporta ora gli utenti secondari con ruoli di lettura/scrittura specializzati. Questa funzionalità consente agli utenti secondari di accedere e modificare i dati, rendendo più semplice delegare le responsabilità migliorando al contempo la sicurezza dei dati. Consentendo un controllo di accesso granulare, i team possono estendere in modo sicuro l'accesso ai dati a vari stakeholder, ad esempio sviluppatori e analisti, senza compromettere l'integrità del sistema.
Configurazione degli utenti secondari
Nota
È possibile abilitare/disabilitare questa funzionalità usando un modello di Resource Manager o tramite l'interfaccia della riga di comando di Azure durante la fase di anteprima.
Utilizzare l'interfaccia della riga di comando di Azure
az resource patch --ids "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDB/mongoClusters/{ClusterName}" --api-version 2024-10-01-preview --properties "{\"previewFeatures\": [\"GeoReplicas\", \"EnableReadOnlyUser\"]}"
Uso di un modello di Resource Manager
"previewFeatures": {
"value": [
"EnableReadOnlyUser"
]
}
Comandi ed esempi supportati
MongoDB vCore supporta ora il controllo degli Controllo di accesso accessi in base al ruolo (RBAC) per gli utenti secondari con privilegi di lettura e scrittura. In questo modo gli amministratori possono assegnare ruoli che concedono l'accesso ai database secondari per operazioni di lettura essenziali, proteggendo al tempo stesso l'integrità dei dati primari.
Nota
È possibile usare uno qualsiasi dei driver MongoDB o mongotools, ad esempio mongosh, per eseguire queste operazioni.
Autenticare ed eseguire operazioni tramite Mongosh
mongosh mongodb+srv://<YOUR_USERNAME>:<YOUR_PASSWORD>@>YOUR_HOST>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000
Nota
Assicurarsi di consentire l'elenco degli indirizzi IP client nelle impostazioni di rete in portale di Azure.
CreateUser
Crea un nuovo utente nel database in cui si esegue il comando . Se createUser
l'utente esiste, il comando restituisce un errore utente duplicato.
Ruolo amministratore dati
use admin
db.runCommand(
{
createUser:"yourUserName",
pwd : "yourPassword",
roles : [
{ role:"clusterAdmin",db:"admin" },
{ role:"readWriteAnyDatabase", db:"admin" }
]
}
)
Ruolo ReadOnly
use admin
db.runCommand(
{
createUser:"yourUserName",
pwd : "yourPassword",
roles : [
{ role:"readAnyDatabase",db:"admin" }
]
}
)
Aggiornare un utente
Aggiorna un utente nel database in cui si esegue il comando . Il updateUser
comando supporta solo l'aggiornamento della password.
use admin
db.runCommand(
{
updateUser:"<username>",
pwd : "<new cleartext password>"
}
)
Eliminare l'utente
Rimuove l'utente dal database in cui si esegue il comando .
use admin
db.runCommand(
{
dropUser:"<username>"
}
)
Elencare gli utenti
Restituisce informazioni su uno o più utenti. Supporta anche il passaggio di un singolo utente a usersInfo. In tal caso restituisce informazioni sull'utente, sul suo ruolo e così via.
use admin
db.runCommand(
{
usersInfo:1
}
)
Limiti
- È possibile creare fino a 10 utenti/ruoli per ogni cluster. Se è necessario aggiungere altri utenti, aprire un ticket di supporto.
- Il
Updateuser
comando supporta ora solo gli aggiornamenti delle password e non può modificare altri campi oggetto. - Il
Roleinfo
comando non è supportato in anteprima. In alternativa, è possibile usareusersInfo
. - Il supporto del controllo degli accessi in base al ruolo per l'assegnazione di ruoli a database o raccolte specifiche non è ancora supportato.