Condividi tramite


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 usare usersInfo.
  • Il supporto del controllo degli accessi in base al ruolo per l'assegnazione di ruoli a database o raccolte specifiche non è ancora supportato.