Accès à la console de management d'Hyper-V en "lecture seule"

Sous Windows 2008 R2, la délégation des droits via AZMAN ( cf https://blogs.technet.microsoft.com/windowsinternals/2009/01/02/azman-et-hyper-v-ou-comment-dlguer-laccs-aux-machines-virtuelles/) permettait de définir une politique de délégation d'administration d'Hyper-V.

Avec Windows 2012 R2, AZMAN n'est plus supporté et seul le groupe "Hyper-V Administrators" permet d'éviter de donner les droits administrateur en donnant accès  à toutes les fonctionnalités d'Hyper-V.  Cette fonctionnalité de délégation est maintenant offerte par SCVMM ( System Center Virtual Machine manager).... si vous l'utilisez.... et si vous l'avez acheté !

Il est néanmoins possible de permettre un accès en "lecture simple" ( i.e: autoriser la visualisation sans permettre un quelconque changement ) avec la petite astuce décrite ci-dessous.

L'administration d'Hyper-V est uniquement possible via WMI ( "namespace" : root\virtualization\v2).  Pour gérer Hyper-V, nous avons donc 2 niveaux distincts  de protection :

  1. les droits sur le "namespace" WMI
  2. l'appartenance au groupe de sécurité local : "Hyper-V administrators" ou aux membres du groupe local "Administrators"

En analysant en détail l'activité WMI liée à l'administration Hyper-V, on peut faire les constats suivants:

  • Toute action (création,configuration,arrêt,démarrage,...) se fait via des méthodes associées aux classes définies dans  root\virtualization\v2
  • la visualisation ne nécessite que l'accès aux instances des classes

L'idée est donc d'interdire l'utilisation des méthodes WMI pour ne permettre qu'un accès en lecture seule à Hyper-V

Il suffit donc de  :

  • rendre l'utilisateur membre du groupe  "Hyper-V administrators"
  • lui refuser ( "deny" ) le droit "Execute methods" sur le "namespace" root\virtualization\v2

hyperv1

 

Toute tentative de modification entrainera maintenant une erreur pour cet utilisateur (lt\user1 dans l'exemple) !

Hyperv2