Come certamente immaginerete, Hyper-V è configurato, per default, in modo da impedire ai non amministratori del server la gestione delle macchine virtuali.

Mi aspetto che si presenteranno molte situazioni in cui un amministratore di un server Hyper-V vorrà concedere il diritto di creare, modificare e cancellare macchine virtuali a uno o più utenti.

Questo è certamente possibile con Hyper-V e si effettua utilizzando Authorization Manager.

Per assegnare i diritti di amministrazione delle macchine virtuali a uno o più utenti, senza renderli amministratori del server, seguite questa procedura:

  • Usando il comando Run dal menù Start, o da command line, aprite una management console digitando MMC.exe e quindi Invio
  • Aggiungete alla MMC snap-in Authorization Manager (nella mmc selezionate File | Add/Remove Snap-in e dalla lista degli snap-in scegliete Authorization Manager)
  • Dopo aver aggiunto lo snap-in alla MMC, cliccate il nodo Authorization Manager e dal menù della MMC selezionate Action | Open Authorization Store
  • Nella finestra di dialogo Open Authorization Store, selezionate XML come tipo di store da aprire e nel campo Store name inserite \programdata\Microsoft\Windows\Hyper-V\InitialStore.xml (Fig.1) e premete OK. Il percorso deve essere digitato perché programdata è una directory nascosta.
    AM-002
    Fig 1
  • Espandete i nodi InitialStore.xml, Microsoft Hyper-V services, Role Assignments e selezionate Administrator (Fig 2).
    AM-003
    Fig 2 
  • Aprite il menù Action della MMC, selezionate Assign Users and Groups e From Windows and Active Directory... (Fig 3)
    AM-004
    Fig 3
  • A questo punto inserite il nome dell'utente a cui desiderate delegare il controllo della gestione delle VM senza renderlo un amministratore del server

Il gioco è fatto!

ATTENZIONE
Ogni utente che ha il diritto di vedere l'output di una VM (e questo è il default per gli appartenenti al ruolo Administration assegnato in Authorization Manager) può vedere in tempo quasi reale lo "schermo" della VM in modalità thumbnail e quindi vedere cosà un dato utente sta' facendo con una data VM. Questo può creare problemi con alcune leggi italiane. Questo diritto è controllato dall'operzione op_View_VM_Output in Authorization Manager. Per evitare problemi derivanti da questo diritto degli amministratori è consigliato accedere alle VM usando una sessione Remote Desktop e non la Connection disponibile nella console Hyper-V Manager

Due note su Authorization Manager

Authorization Manager (noto anche come AzMan) è un'architettura general-purpose per implementare la role-based security in Windows. AzMan può essere usato da qualsiasi applicazione che voglia implementare un'autorizzazione di tipo role-based. AzMan si basa su alcuni concetti base:

Operation
E' il costituente di base di authorization manager. Rappresenta un'azione che un utente può compiere nell'ambito di un'applicazione. Alcune operazioni disponibili per Hyper-V sono op_Create_VM (creazione di una VM), op_Start_VM (avvio di una VM), op_Delete_VM (cancellazione di una VM).

Task
Un task è un insieme di operazioni.

Role
Un ruolo può essere definito come un lavoro o una responsabilità assegnata ad un utente ed è caratterizzato da un insieme di task e/o operazioni che possono essere eseguite.

Scope
Uno scope consente di definire gli oggetti controllati dai diversi ruoli.  Se per esempio si vuole concedere a un utente i diritti di amministrazoione solo di alcune macchine virtuali si deve creare un apposito scope (torneremo su questo).

Giorgio