Role-Based Access Control (RBAC): Il nuovo modo per gestire Exchange (Parte 3) – I Management Role
Ed ecco la terza parte del mio post su RBAC ed Exchange 2010.
Come promesso nel mio post precedente stavolta mi occuperò dei management role.
I management role contengono la lista dei CmdLet e dei parametri disponibili a ogni ruolo (attributo: msExchRoleEntries)
E’ importante ricordarsi che i ruoli utilizzano una struttura gerarchica in cima alla quale ci sono i ruoli Built-In.
Ci sono 3 tipi di management role:
- I ruoli Built-In
- I ruoli Custom
- I ruoli Unscoped Top-Level
Vediamo esattamente come si differenziano.
Ruoli Built-In
I ruoli Built-In sono quelli predefiniti e sono la base da cui partire per creare i ruoli custom. Si possono dividere in due macro-categorie: Gestione Amministrativa e Gestione basata su utente.
I ruoli di gestione amministrativa servono per dare l’accesso a specifiche aree di gestione dell’organizzazione (ad esempio: Database o Message Tracking) mentre i ruoli basati su utente servono principalmente agli utenti per il fai-da-te e l’autogestione (ad esempio: MyDistributionGroups o MyVoiceMail)
Ruoli Custom
I ruoli Custom sono i ruoli definiti da voi. Volete un ruolo che permetta di fare il mount dei DB ma non il dismount ? Volete un ruolo che permetta di aggiungere una mailbox ma non di rimuoverla ? Usate un ruolo custom.
Quando create un ruolo custom dovete usare come base di partenza i cmdlet disponibili a un ruolo built-in e poi togliere quello che non serve. Un esempio pratico: Il vostro helpdesk deve essere in grado di creare una mailbox ma non di cancellarla.
Domanda 1: Quale ruolo built-in si avvicina di più a questa descrizione ?
Risposta: “Mail Recipient Creation”
Domanda 2: Quali dei Cmdlet/parametri disponibili a questo ruolo non servono al mio helpdesk ?
Risposta: Remove-mailbox
Domanda 3: e adesso ?
Risposta: Adesso creiamo un custom role chiamato “Helpdesk Add Mailbox” basato su “Mail Recipient Creation” e gli togliamo l’uso di remove-mailbox :-)
Passo 1 (creazione custom role): New-ManagementRole -Name “Helpdesk Add Mailbox” -Parent “Mail Recipient Creation”
Passo 2 (rimozione di remove-mailbox): Get-ManagementRoleEntry “Helpdesk Add Mailbox” | Where { $_.Name -NotLike "remove-mailbox*" } | Remove-ManagementRoleEntry
Con il primo cmdlet create un custom role con l’attributo msExchRoleEntries identico a quello di Mail Recipient Creation mentre con il secondo togliete il cmdlet remove-mailbox da questo ruolo
Importante: Un custom role può usare al massimo i cmdlet disponibili al ruolo “padre”. Nel mio esempio “Helpdesk Add Mailbox” non potrà mai avere a disposizione cmdlet o parametri che non siano disponibili a “Mail Recipient Creation”. Se volete “aggiungere” dovete usare come template un ruolo che abbia già i cmdlet/parametri che vi servono e poi togliere il resto.
Ruoli Unscoped Top-Level
Questi ruoli sono particolari. Non sono built-in ma sono al loro stesso livello in AD. All’atto pratico vuol dire che quando li create l’attributo msExchRoleEntries è vuoto perchè non avete usato nessun ruolo built-in come template. Per creare un ruolo di tipo Unscoped Top-Level dovete usare il parametro –UnscopedTopLevel di New-ManagementRole. Questi ruoli sono indicati a chi vuol dare accesso a script o cmdlet non-Exchange a un particolare ruolo. Gli script e i cmdlet da aggiungere a questo tipo di ruolo devono prima essere aggiunti come Unscoped Top-Level Role Entries usando il Cmdlet New-ManagementRoleEntry. Gli script che aggiungete devono trovarsi nella cartella Scripts di Exchange 2010 (C:\Program Files\Microsoft\Exchange Server\V14\Scripts). I cmdlet non-Exchange che volete aggiungere devono essere disponibili sui server su cui gli amministratori dovranno usarli.
La prossima volta parlerò dei Management Scope.
Un saluto dal vostro Gabriele