- 我有
UserA
。 - 正在工作
ComputerA
。 ComputerA
我已经在Hyper-V 下设置了一个名为的虚拟机ComputerA-VM
。ComputerA
运行 Windows 10 Pro。ComputerA
是运行 Windows Server 2012 R2 的 DC 管理的 domain.com 的一部分。UserA
是域用户。
我希望UserA
拥有启动ComputerA-VM
和连接(访问控制台)的权限,ComputerA-VM
而不要其他任何权限。
我不希望他们能够创建其他虚拟机、删除虚拟机、编辑 ComputerA-VM 的设置、或者弄乱快照或任何东西。
我怎样才能做到这一点?
答案1
这似乎是可能的。 https://blogs.msdn.microsoft.com/virtual_pc_guy/2008/01/17/allowing-non-administrators-to-control-hyper-v/ 这里有更多相关信息。
我对它进行了一些探索,看看它是如何工作的。它似乎是这样的。
- 打开 MMC
- 添加管理单元授权管理器
- 右键单击授权管理器并选择开设授权商店
- 浏览至%programdata%\Microsoft\Windows\Hyper-V\InitialStore.xml
- 展开项目并转到角色定义
- 这里只列出了管理员的角色,右键单击并新角色。
- 点击添加添加权限定义,然后转到选项卡运营
- 选择用户应该获得的所有权限,然后保存新的角色定义
- 去角色分配并添加您刚刚创建的角色。
- 在树视图中,在“角色分配”下选择您的角色
- 右键单击并选择分配用户和组 然后选择从 Windows 和 Active Directory
答案2
基于角色的访问控制是可行的方法。
在 Windows 2008 时代,它使用授权管理器工具支持。遗憾的是,Windows 2012 R2 不再支持授权管理器。
现在使用 Windows 2012 R2 控制 RBAC 的唯一方法是使用 SCVMM:https://technet.microsoft.com/en-us/library/gg696971(v=sc.12).aspx
答案3
最后,我还是没能找到一种有效的方法来完全按照我想要的方式限制访问(嘘微软删除了细粒度的选项)。
我现在使用的解决方法是简单地授予控制虚拟机的权限。然后,我向用户提供两个 Powershell 脚本文件,允许他们启动虚拟机,另一个允许他们连接到虚拟机。
同时,我有一个 GPO 策略,该策略禁止那些本地安装了 HyperV 的特定用户访问 HyperV 控制面板。