Il sistema di controllo accessi, centralizzato sul vCenter Server, prevede la possibilità di definire sino al dettaglio le operazioni eseguibili da ogni utente o gruppi di utenti, e gli oggetti sui quali tali operazioni possono essere eseguite. Il sistema di controllo ruota attorno ai concetti descritti di seguito.
- Privilege - un privilegio abilita un utente a compiere una determinata azione.
- Role - un ruolo è un insieme di privilegi, e definisce le azioni che un utente è autorizzato a compiere. Un ruolo viene assegnato ad un utente o ad un gruppo, determinandone i livelli di accesso. Esistono tre ruoli predefiniti: Administrator, Read-only, No Access. Ovviamente possono essere creati ulteriori ruoli, personalizzabili e configurabili direttamente sugli host ESXi o sul vCenter Server. È importante però evidenziare che i ruoli creati sul vCenter Server sono indipendenti dai ruoli che si possono creare nei singoli host. Infatti, se ci si collega direttamente ad un host ESXi, non saranno visibili i ruoli creati tramite vCenter Server.
- Object - un oggetto è un'entità dell’ambiente vSphere su cui è possibile eseguire un’azione. Nella pratica, un amministratore seleziona un oggetto dall’inventario del vCenter Server, seleziona un ruolo che definisce i privilegi sull’oggetto, infine associa un utente o un gruppo a quel ruolo.
- User/group - semplicemente un utente o un gruppo di utenti. Un utente può essere creato nel vCenter Server o internamente ai singoli host ESXi. In alternativa, si può utilizzare Active Directory per gestire gli utenti dell’intero ambiente vSphere.
Anche in assenza di Active Directory, gli utenti possono essere definiti localmente nel vCenter, sia su macchina Windows che su appliance Linux. Nel primo caso, si utilizzeranno gli utenti e i gruppi locali della macchina Windows, nel secondo caso quelli del sistema Linux. Per la creazione di utenti sull’appliance Linux, dalla shell digitare i comandi:
useradd -m username
passwd username
Se il vCenter è unito ad un dominio Active Directory, tutti gli utenti e i gruppi del dominio saranno disponibili nell’ambiente virtuale, con alcuni importanti aspetti da segnalare:
- gli utenti con privilegi amministrativi sul server Windows (Local administrators) hanno poteri amministrativi anche sull’ambiente virtuale (vCenter e host ESXi);
- gli utenti inseriti all’interno del gruppo ESX Admins diventano amministratori all’interno dell’ambiente virtuale (vCenter e host ESXi).
Ruoli predefiniti
In maniera predefinita esistono i ruoli Administrator, Read-only e No Access, che definiamo di seguito.
- No Access: l’utente a cui si assegna il ruolo No Access per un oggetto, non ha alcun tipo di visibilità su quell’oggetto. Utilizzando vSphere Client, eventuali tab legati a quell’oggetto appariranno senza contenuto. L’utilizza tipico del ruolo No Access è quello di revocare permessi ad un oggetto figlio che altrimenti sarebbero propagati da un oggetto padre.
- Read Only: l’utente a cui si assegna il ruolo Read Only per un oggetto può vedere solo lo stato e i dettagli dell’oggetto stesso; qualsiasi altra azione viene negata.
- Administrator: l’utente a cui si assegna il ruolo di Administrator per un oggetto, ha tutti i privilegi possibili su quell’oggetto. All’interno di un host ESXi, il ruolo Administrator è assegnato automaticamente agli utenti root e vpxuser.
I ruoli predefiniti non possono essere modificati. Se si desidera creare un ruolo simile ad essi, è sufficiente clonare il ruolo desiderato ed apportare le necessarie modifiche al nuovo ruolo.
Con vSphere Client, la lista dei ruoli si visualizza collegandosi al vCenter e seguendo il percorso Home > Administration > Roles.
Per vedere la lista dei ruoli con vSphere Web Client, nella pagina iniziale fare clic su Administration, quindi fare clic su Role Manager.
Creazione di un ruolo
Per creare un nuovo ruolo con vSphere Client, fare clic su Add Role nella pagina Home > Administration > Roles.
Per creare un nuovo ruolo con vSphere Web Client, dalla pagina Role Manager fare clic su Create Role Action.
Quando si crea un ruolo, è consigliato assegnare il minor numero possibile di privilegi, per una maggior sicurezza dell’ambiente virtuale. Inoltre, il nome del ruolo dovrebbe far riferimento alle attività permesse per quel ruolo. Ad esempio, supponiamo di dover creare un ruolo per gestire e configurare una macchina virtuale già esistente: chiameremo il ruolo con il nome di “Virtual machine power user” e assegneremo i privilegi mostrati nell’immagine sotto.
Assegnazione dei permessi
Una volta creato un ruolo, è possibile assegnarlo ad un utente. L'assegnazione è possibile per ogni oggetto presente nell’inventario del vCenter Server. Assegnare un ruolo significa assegnare una Permission.
- Utilizzando vSphere Client, fare clic con il tasto destro su un oggetto dell’inventario, ad esempio una macchina virtuale.
- Dal menu contestuale, selezionare la voce Add Permission; si aprirà la finestra Assign Permissions.
- A destra, sotto Assigned Role, selezionare il ruolo desiderato.
- Nella stessa finestra, fare clic su Add per aggiungere uno o più utenti/gruppi a cui assegnare il ruolo selezionato.
- Per estendere i permessi a tutti gli oggetti figlio, abilitare la voce Propagate to Child Objects.
Quando un permesso viene assegnato ad un oggetto, può essere esteso a tutti gli oggetti figlio lasciando abilitata la voce Propagate to Child Objects. Tuttavia se per un oggetto figlio viene esplicitato un determinato permesso, questo prevale rispetto al permesso ereditato dall’oggetto padre. Ad esempio, se un utente ha il ruolo di amministrazione delle VM a partire da un host, ma su una specifica VM ha privilegi di sola lettura, allora l’utente sarà in grado di gestire e modificare tutte le VM di quell’host, escluso quella specifica per cui sono stati esplicitati privilegi di sola lettura.
Se un utente fa parte di più gruppi, e questi gruppi sono utilizzati su uno stesso oggetto, a quell’utente saranno concessi i privilegi di tutti i gruppi ai quali appartiene. Vale sempre la regola per cui una permission esplicitata per un oggetto figlio prevale rispetto a quella assegnata all’oggetto padre; pertanto se l’utente appartiene al gruppo di amministratori che possono gestire tutte le VM di un host, ma anche ad un gruppo che ha privilegi di sola lettura su una specifica VM, allora quell’utente sarà in grado di gestire e modificare tutte le VM, escluso quella specifica su cui avrà privilegi di sola lettura.
Infine, se un permesso è stato esplicitato per un utente, prevale sui permessi di gruppo assegnati sullo stesso oggetto. Per intenderci, se l’utente appartiene al gruppo di amministratori che possono gestire tutte le VM di un host, ma a quell’utente si assegnano privilegi di sola lettura su una specifica VM, allora quell’utente sarà in grado di gestire e modificare tutte le VM, escluso quella specifica su cui avrà privilegi di sola lettura.