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

Applicazione dei controlli di accesso basati sul ruolo con ClusterControl

Nella recente versione di ClusterControl versione 1.8.2 di Diversinines abbiamo introdotto molte funzionalità e modifiche sofisticate. Una delle caratteristiche importanti è il sistema di gestione degli utenti recentemente migliorato, che copre la gestione dei nuovi utenti e LDAP. Una funzionalità complementare esistente in ClusterControl è il controllo degli accessi basato sui ruoli (RBAC) per la gestione degli utenti, che è al centro di questo blog.

Controllo dell'accesso basato sul ruolo in ClusterControl

Per coloro che non hanno familiarità con i controlli di accesso basati sui ruoli (RBAC) di ClusterControl, si tratta di una funzionalità che consente di limitare l'accesso di determinati utenti a specifiche funzionalità del cluster di database e azioni o attività amministrative. Ad esempio, l'accesso alla distribuzione (aggiunta di bilanciatori del carico, aggiunta di cluster esistente), gestione e funzionalità di monitoraggio. Ciò garantisce che solo gli utenti autorizzati possano lavorare e visualizzare in base ai rispettivi ruoli ed evita intrusioni indesiderate o errori umani limitando l'accesso di un ruolo alle attività amministrative. L'accesso alla funzionalità è a grana fine, consentendo la definizione dell'accesso da parte di un'organizzazione o di un utente. ClusterControl utilizza un framework di autorizzazioni per definire come un utente può interagire con la funzionalità di gestione e monitoraggio in base al proprio livello di autorizzazione.

Il controllo dell'accesso basato sui ruoli in ClusterControl svolge un ruolo importante soprattutto per gli utenti amministratori che lo utilizzano costantemente come parte delle loro attività DBA. Un DBA ClusterControl dovrebbe avere familiarità con questa funzionalità in quanto consente al DBA di delegare attività ai membri del team, controllare l'accesso alla funzionalità ClusterControl e non esporre tutte le caratteristiche e le funzionalità a tutti gli utenti. Ciò può essere ottenuto utilizzando la funzionalità Gestione utenti, che consente di controllare chi può fare cosa. Ad esempio, puoi configurare un team come analista, devops o DBA e aggiungere restrizioni in base al loro ambito di responsabilità per un determinato cluster di database.

Il controllo dell'accesso ClusterControl è illustrato nel diagramma seguente

I dettagli dei termini utilizzati sopra sono forniti di seguito. Un Team può essere assegnato a uno o più cluster di database gestiti da ClusterControl. Un Team è composto da utenti vuoti o multipli in un Team. Per impostazione predefinita, quando crei un nuovo Team, l'account di super amministratore sarà sempre associato ad esso. L'eliminazione del superamministratore non toglie il collegamento a quel nuovo team.

Un Utente e un Cluster devono essere assegnati a un Team; è un'implementazione obbligatoria all'interno di ClusterControl. Per impostazione predefinita, l'account super amministratore è designato per un team di amministratori, che è già stato creato per impostazione predefinita. I cluster di database vengono assegnati anche al team di amministrazione per impostazione predefinita.

Un ruolo non può avere alcun Utente assegnato o può essere assegnato a più utenti in base al loro ruolo ClusterControl.

Ruoli in ClusterControl

I ruoli in ClusterControl sono effettivamente impostati per impostazione predefinita. Questi ruoli predefiniti seguono:

  • Super Admin - È un ruolo nascosto, ma è il ruolo di super amministratore (superadmin), il che significa tutte le funzionalità sono disponibili per questo ruolo. Per impostazione predefinita, l'utente che hai creato dopo un'installazione riuscita rappresenta il tuo ruolo di Super amministratore. Inoltre, quando si crea un nuovo Team, il superamministratore è sempre assegnato al nuovo Team per impostazione predefinita.

  • Admin - Per impostazione predefinita, quasi tutte le funzionalità sono visualizzabili. Essere visibili significa che gli utenti con il ruolo di amministratore possono svolgere attività di gestione. Le funzionalità che non sono disponibili per questo ruolo sono Customer Advisor e SSL Key Management.

  • Utente - Integrazioni, accesso a tutti i cluster e alcune funzionalità non sono disponibili per questo ruolo e sono negate da predefinito. Ciò è utile se si desidera assegnare utenti regolari che non sono destinati a lavorare su database o attività amministrative. Ci sono alcuni passaggi manuali da eseguire per coloro che hanno il ruolo Utente per vedere altri cluster.

I ruoli in ClusterControl sono arbitrari, quindi gli amministratori possono creare ruoli arbitrari e assegnarli a un utente in Teams.

Come accedere ai ruoli ClusterControl

Puoi creare un ruolo personalizzato con il proprio set di livelli di accesso. Assegna il ruolo a un utente specifico nella scheda Team. Questo può essere raggiunto individuando Gestione utenti nella barra laterale nell'angolo destro. Guarda lo screenshot qui sotto:

Applicazione dei controlli di accesso basati sul ruolo con ClusterControl

L'applicazione dell'RBAC è specifica del dominio dell'utente, che limita l'accesso di un utente alle funzionalità di ClusterControl in base ai ruoli e ai privilegi. Tenendo presente questo, dovremmo iniziare a creare un utente specifico.

Creazione di un utente in ClusterControl

Per creare un utente, inizia dalla scheda Gestione utenti ➝ Team. Ora, creiamo prima una squadra.

Una volta creato, c'è un account super amministratore che è collegato per impostazione predefinita una volta creato un Team.

Adesso aggiungiamo un nuovo utente. L'aggiunta di un nuovo utente deve essere eseguita in un Team, quindi possiamo crearlo in DevOps.

Come avrai notato, il nuovo utente che abbiamo creato ha ora il ruolo Utente, che viene aggiunto per impostazione predefinita all'interno di ClusterControl. Quindi anche il Team è sotto DevOps.

Fondamentalmente, ora ci sono due utenti nel team DevOps come mostrato di seguito:

Tieni presente che i ruoli sono specifici del dominio utente, quindi applica restrizioni di accesso solo a quell'utente specifico e non al Team a cui appartiene.

Ruoli amministratore vs utente (ruoli predefiniti in ClusterControl)

Poiché in ClusterControl sono stati aggiunti due ruoli per impostazione predefinita, esistono limitazioni impostate per impostazione predefinita. Per sapere cosa sono, vai su  Gestione utenti ➝ Controllo accessi. Di seguito è riportato uno screenshot che illustra le funzionalità o i privilegi disponibili che un utente appartenente al ruolo può svolgere:

Ruolo di amministratore

Ruolo utente

Il ruolo Admin ha molti più privilegi, mentre il ruolo utente ha alcuni privilegi limitati. Questi ruoli predefiniti possono essere modificati in base alla configurazione desiderata. L'aggiunta di un ruolo ti consente anche di avviare e impostare quali ruoli sono consentiti o meno. Ad esempio, creeremo un nuovo ruolo. Per creare un ruolo, premi semplicemente il pulsante "+" più lungo i ruoli. Puoi vedere il nuovo ruolo che abbiamo creato chiamato Visualizzatore.

Tutti i segni di spunta sono deselezionati. Basta controllare nella colonna Consenti per abilitare la funzione o il privilegio o controllare nella colonna Nega se si desidera negare l'accesso. La colonna Gestisci consente agli utenti in quel ruolo di svolgere attività di gestione. Considerando che la colonna Modifica consente di abilitare le modifiche che sono disponibili solo per privilegi o funzioni in Allarmi, Lavori e Impostazioni.

Test RBAC

In questo esempio, nel mio controller sono presenti i seguenti cluster, come mostrato di seguito:

Questo è visualizzabile dall'account di super amministratore in questo ambiente.

Ora che abbiamo impostato l'RBAC per l'utente che abbiamo appena creato, proviamo ad accedere utilizzando l'e-mail e la password che abbiamo appena impostato.

Questo è ciò che viene creato,

Nessun cluster è disponibile e visualizzabile e alcuni privilegi sono negati come mostrato di seguito, come le impostazioni di gestione delle chiavi e le notifiche e-mail:

Regolazione RBAC

Poiché i privilegi nei ruoli sono mutevoli, è facile gestirli tramite Gestione utenti ➝ Controllo accessi.

Ora consentiamo all'utente creato di visualizzare un cluster. Poiché il nostro utente ha negato l'accesso a tutti i cluster, è necessario abilitarlo. Vedi sotto,

Ora, come abbiamo affermato in precedenza sulla base del diagramma, i Cluster sono controllati dal Team. Ad esempio, ci sono le seguenti assegnazioni di cluster, di seguito:

Dato che dobbiamo assegnare il cluster al team giusto, selezionando il cluster specifico e facendo clic sul pulsante "Cambia team" verrà visualizzata la richiesta che ti consentirà di riassegnarlo al team corretto.

P>

Adesso assegniamolo a DevOps.

Ora, effettua nuovamente l'accesso come utente appena creato e saremo in grado di vedere il cluster.

Riepilogo

Il controllo dell'accesso basato sui ruoli (RBAC) in ClusterControl è una funzionalità che fornisce un controllo dell'accesso restrittivo a grana fine per ogni utente creato in ClusterControl, consentendo una maggiore sicurezza e un controllo dell'accesso più restrittivo basato su un ruolo dell'utente.