IBM Cloud Docs
Gestione di utenti e ruoli

Gestione di utenti e ruoli

Databases for MongoDB le distribuzioni vengono fornite con l'autenticazione abilitata e l'utilizzo MongoDB's controllo degli accessi basato sui ruoli.

Aggiungi gli utenti nell'IU in Service Credentials, con l'API Cloud Databases o l'API Cloud Databases.

L'utente admin

Quando esegui il provisioning di una distribuzione Databases for MongoDB, viene automaticamente creato un utente admin.

Impostare la password amministratore prima di utilizzarla per la connessione.

L'utente admin dispone delle seguenti autorizzazioni:

  • userAdminAnyDatabase fornisce gli stessi privilegi di userAdmin su tutti i database tranne che su local e config. userAdminAnyDatabase fornisce il potere amministrativo all'utente admin. Fornisce l'azione listDatabases sul cluster nel suo insieme. Con userAdminAnyDatabase, crea e concedi ruoli a qualsiasi altro utente nella tua distribuzione, inclusi i ruoli integrati di MongoDB. Ad esempio, per monitorare la tua distribuzione, utilizza admin per accedere alla shell mongo e concedere il ruolo clusterMonitor a qualsiasi utente (incluso se stesso). Utilizzare un comando come:

    db.grantRolesToUser(
     "admin",
     [
       { role: "clusterMonitor", db: "admin" }
     ]
    )
    
  • readWriteAnyDatabase fornisce gli stessi privilegi di readWrite su tutti i database tranne local e config.

  • dbAdminAnyDatabase fornisce gli stessi privilegi di dbAdmin su tutti i database tranne local e config.

Impostazione della password di amministrazione nell'interfaccia utente

Impostare la password di amministrazione tramite l'interfaccia utente selezionando l'istanza dall'elenco delle risorse IBM Cloud. Quindi, selezionare Impostazioni. Successivamente, selezionare Modifica password amministratore database.

Impostazione della password di amministrazione nella CLI

Utilizza il comando cdb user-password dal plug-in IBM Cloud CLI Cloud Databases per impostare la password dell'amministratore.

Ad esempio, per impostare la password di amministrazione per l'installazione, usare il seguente comando:

ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>

Impostazione della password di amministrazione nell'API

L'endpoint Foundation mostrato nella sezione Dettagli di distribuzione del tuo servizio del pannello Panoramica fornisce l'URL di base per accedere alla distribuzione tramite l'API. Utilizzarlo con l'endpoint Imposta password dell'utente specificato per impostare la password dell'amministratore.

curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \

Gestione di utenti e ruoli attraverso l'interfaccia utente

  1. Accedere al cruscotto del servizio per il proprio servizio.
  2. Fai clic su Service Credentials per aprire la sezione Service Credentials .
  3. Fare clic su Nuova credenziale.
  4. Scegliere un nome descrittivo per la nuova credenziale.
  5. (Facoltativo) Specificare se le nuove credenziali utilizzano un endpoint pubblico o privato. Utilizzare { "service-endpoints": "public" } / { "service-endpoints": "private" } nel campo Aggiungi parametri di configurazione in linea per generare stringhe di connessione che utilizzano l'endpoint specificato. L'utilizzo dell'endpoint non viene applicato. Controlla solo quali nomi host si trovano nelle stringhe di collegamento. Gli endpoint pubblici vengono generati per impostazione predefinita.
  6. Fare clic su Aggiungi per eseguire il provisioning delle nuove credenziali. Vengono generati automaticamente un nome utente e una password e un utente MongoDB associato.

Le nuove credenziali vengono visualizzate nella tabella e le stringhe di connessione sono disponibili come JSON in un campo click - to - copy in Visualizza credenziali.

La creazione di un utente dalla CLI o dall'API non popola automaticamente le stringhe di connessione di tale utente in Credenziali del servizio. Se si desidera aggiungerli, è possibile creare una nuova credenziale con le informazioni utente esistenti. Immettere il nome utente e la password nel campo JSON in Aggiungi parametri di configurazione in linea. Ad esempio, {"existing_credentials":{"username":"Robert","password":"supersecure"}}. In pratica, si inviano nome utente e password e Credenziali del servizio genera le stringhe di connessione con le credenziali compilate.

La generazione delle credenziali da un utente esistente non verifica o crea tale utente.

Agli utenti che crei tramite Service Credentials vengono assegnati i ruoli readWriteAnyDatabase e dbAdminAnyDatabase.

Se hai bisogno che gli utenti creati da Credenziali del servizio abbiano un ruolo diverso, puoi utilizzare l'utente amministratore per modificarne il ruolo.

Gestione di utenti e ruoli tramite la CLI

Agli utenti creati nella CLI vengono assegnati i ruoli readWriteAnyDatabase e dbAdminAnyDatabase.

Se è necessario che gli utenti abbiano un ruolo diverso, è possibile utilizzare l'utente admin per modificare il proprio ruolo.

Gli utenti creati direttamente dalla CLI non vengono visualizzati in Credenziali del servizio, ma puoi aggiungerli.

  1. Se gestisci il tuo servizio tramite il plug-in CLICloud Databases, crea un nuovo utente con cdb user-create. Ad esempio, per creare un nuovo utente per l'installazione, utilizzare il seguente comando:
ibmcloud cdb user-create <INSTANCE_NAME_OR_CRN> <NEWUSERNAME> <NEWPASSWORD>
  1. Al termine dell'attività, richiamare le stringhe di connessione del nuovo utente con il comando ibmcloud cdb deployment-connections.

  2. MongoDB centralizza dati utente nel database admin. Elencare tutti gli utenti e i relativi ruoli e autorizzazioni database nella shell mongo utilizzando il comando show users.

ibmcloud cdb deployment-connections --start -u admin mongodb-production
Database Password>>
MongoDB shell version v4.0.3
connecting to: mongodb://....
....
replset:PRIMARY> use admin
switched to db admin
replset:PRIMARY> show users

Gestione di utenti e ruoli tramite API

Agli utenti creati nell'API vengono assegnati ruoli readWriteAnyDatabase e dbAdminAnyDatabase.

Se hai bisogno che gli utenti abbiano un ruolo diverso, utilizza l'utente amministratore per modificare il suo ruolo.

Gli utenti creati direttamente dall'API non vengono visualizzati in Credenziali del servizio, ma puoi aggiungerli.

L'endpoint Foundation mostrato nella sezione Panoramica del servizio fornisce l'URL di base per accedere a questa distribuzione tramite l'API. Per creare e gestire gli utenti, utilizza l'URL di base con l'endpoint /users.

Il comando è simile al seguente:

curl -X POST https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/{user_type}
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"user": {"username": "user", "password": "v3ry-1-secUre-pAssword-2"}}' \

Per richiamare le stringhe di collegamento di un utente, utilizzare l'URL di base con l'endpoint /users/{userid}/connections.

MongoDB-created sono stati creati

Se gli utenti e i ruoli integrati non si adattano al tuo ambiente, crea utenti e ruoli direttamente in MongoDB. L'utente amministratore per la tua distribuzione ha il potere di creare qualsiasi ruolo o serie di privilegi da utilizzare sulla tua distribuzione.

Gli utenti e i ruoli creati direttamente in MongoDB non vengono visualizzati in Credenziali del servizio e non sono integrati con il tuo account IBM Cloud o IAM.

L'utente ibm

Se utilizzi la shell mongo per elencare gli utenti nella tua distribuzione, potresti notare un utente denominato ibm. L'utente ibm è l'account root interno che gestisce la replica, le operazioni cluster e altre funzioni che garantiscono la stabilità della distribuzione. La modifica o l'eliminazione per l'utente ibm non è consigliata e interrompe la stabilità della tua distribuzione.

Gli utenti ops_manager per MongoDB Enterprise Edition

Ops Manager è disponibile soltanto nelle distribuzioni Databases for MongoDB Enterprise Edition. Il tipo utente ops_manager ha autorizzazioni limitate. Per ulteriori informazioni, consultare la documentazione di Ops Manager.