MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Gestione utenti database con ClusterControl

Nei post precedenti di questa serie di blog, abbiamo trattato l'implementazione di clustering/replica (MySQL / Galera, MySQL Replication, MongoDB e PostgreSQL), la gestione e il monitoraggio dei database e dei cluster esistenti, il monitoraggio delle prestazioni e l'integrità, come rendere la tua configurazione altamente disponibile tramite HAProxy e MaxScale, come prepararsi ai disastri pianificando i backup, come gestire le configurazioni del database e nell'ultimo post come gestire i file di registro.

Uno degli aspetti più importanti per diventare un DBA ClusterControl è essere in grado di delegare attività ai membri del team e controllare l'accesso alle funzionalità ClusterControl. Ciò può essere ottenuto utilizzando la funzionalità Gestione utenti, che consente di controllare chi può fare cosa. Puoi anche fare un ulteriore passo avanti aggiungendo team o organizzazioni a ClusterControl e mappandoli ai tuoi ruoli DevOps.

Squadre

I team possono essere visti come un'organizzazione completa o come gruppi di utenti. I cluster possono essere assegnati ai team e in questo modo il cluster è visibile solo agli utenti del team a cui è stato assegnato. Ciò consente di eseguire più team o organizzazioni all'interno di un ambiente ClusterControl. Ovviamente l'account admin di ClusterControl potrà comunque vedere e gestire tutti i cluster.

Puoi creare una nuova squadra tramite Menu laterale -> Gestione utenti -> Squadre e facendo clic sul segno più sul lato sinistro nella sezione Squadre:

Dopo aver aggiunto un nuovo Team, puoi assegnare utenti al team.

Utenti

Dopo aver selezionato il team appena creato, puoi aggiungere nuovi utenti a questo team premendo il segno più nella finestra di dialogo a destra:

Selezionando il ruolo, puoi limitare la funzionalità dell'utente a Super Admin, Admin o User. Puoi estendere questi ruoli predefiniti nella sezione Controllo accessi.

Controllo accessi

Ruoli standard

All'interno di ClusterControl i ruoli predefiniti sono:Super Admin, Admin e User. Il Super Admin è l'unico account che può amministrare team, utenti e ruoli. Il Super amministratore è anche in grado di migrare i cluster tra team o organizzazioni. Il ruolo di amministratore appartiene a un'organizzazione specifica ed è in grado di vedere tutti i cluster in questa organizzazione. Il ruolo utente può vedere solo i cluster che ha creato.

Ruoli utente

È possibile aggiungere nuovi ruoli all'interno della schermata di controllo degli accessi basata sui ruoli. Puoi definire i privilegi per funzionalità indipendentemente dal fatto che il ruolo sia consentito (sola lettura), negato (nega), gestisci (consenti modifica) o modifica (gestione estesa).

Se creiamo un ruolo con accesso limitato:

Come puoi vedere, possiamo creare un utente con diritti di accesso limitati (per lo più di sola lettura) e garantire che questo utente non rompa nulla. Ciò significa anche che potremmo aggiungere qui ruoli non tecnici come Manager.

Si noti che il ruolo Super Admin non è elencato qui in quanto è un ruolo predefinito con il più alto livello di privilegi all'interno di ClusterControl e quindi non può essere modificato.

Accesso LDAP

ClusterControl supporta l'autenticazione Active Directory, FreeIPA e LDAP. Ciò consente di integrare ClusterControl all'interno dell'organizzazione senza dover ricreare gli utenti. Nei post precedenti del blog abbiamo descritto come configurare ClusterControl per l'autenticazione con OpenLDAP, FreeIPA e Active Directory.

Una volta che questa è stata impostata, l'autenticazione su ClusterControl seguirà la tabella seguente:

Fondamentalmente la parte più importante qui è mappare il gruppo LDAP al ruolo ClusterControl. Questo può essere fatto abbastanza facilmente nella pagina Impostazioni LDAP in Gestione utenti.

La finestra di dialogo sopra associa il DevopsTeam al ruolo Utente limitato in ClusterControl. Quindi ripeti l'operazione per qualsiasi altro gruppo che desideri mappare. Successivamente, qualsiasi utente che si autentica su ClusterControl verrà autenticato e autorizzato tramite l'integrazione LDAP.

Pensieri finali

La combinazione di tutto quanto sopra consente di integrare meglio ClusterControl nell'organizzazione esistente, creare ruoli specifici con accesso limitato o completo e connettere gli utenti a questi ruoli. Il bello di questo è che ora sei molto più flessibile nel modo in cui ti organizzi attorno alla tua infrastruttura di database:chi può fare cosa? Ad esempio, potresti affidare l'attività di controllo di backup a un tecnico dell'affidabilità del sito invece di farli controllare quotidianamente dal DBA. Consenti ai tuoi sviluppatori di controllare i file di registro MySQL, Postgres e MongoDB per correlarli con il loro monitoraggio. Potresti anche consentire a uno sviluppatore senior di scalare il database aggiungendo più nodi/shard o chiedere a un ingegnere DevOps esperto di scrivere consulenti.

Come puoi vedere le possibilità qui sono infinite, è solo una questione di come sbloccarle. Nella serie di blog Developer Studio, ci addentriamo più a fondo nell'automazione con ClusterControl e per l'integrazione DevOps abbiamo recentemente rilasciato CCBot.