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 diuserAdmin
su tutti i database tranne che sulocal
econfig
.userAdminAnyDatabase
fornisce il potere amministrativo all'utente admin. Fornisce l'azionelistDatabases
sul cluster nel suo insieme. ConuserAdminAnyDatabase
, crea e concedi ruoli a qualsiasi altro utente nella tua distribuzione, inclusi i ruoli integrati di MongoDB. Ad esempio, per monitorare la tua distribuzione, utilizzaadmin
per accedere alla shell mongo e concedere il ruoloclusterMonitor
a qualsiasi utente (incluso se stesso). Utilizzare un comando come:db.grantRolesToUser( "admin", [ { role: "clusterMonitor", db: "admin" } ] )
-
readWriteAnyDatabase
fornisce gli stessi privilegi direadWrite
su tutti i database trannelocal
econfig
. -
dbAdminAnyDatabase
fornisce gli stessi privilegi didbAdmin
su tutti i database trannelocal
econfig
.
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
- Accedere al cruscotto del servizio per il proprio servizio.
- Fai clic su Service Credentials per aprire la sezione Service Credentials .
- Fare clic su Nuova credenziale.
- Scegliere un nome descrittivo per la nuova credenziale.
- (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. - 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.
- 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>
-
Al termine dell'attività, richiamare le stringhe di connessione del nuovo utente con il comando
ibmcloud cdb deployment-connections
. -
MongoDB centralizza dati utente nel database
admin
. Elencare tutti gli utenti e i relativi ruoli e autorizzazioni database nella shell mongo utilizzando il comandoshow 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.