对于文件服务器、主域服务器、邮箱服务器、代理服务器,我们都有严格的权限管控,某个用户、每一级别的管理人员都赋予相应的操作权限。即便是某项权限设置的不当,影响的也只是单一服务,虚拟化服务器则不然,由于它承载的虚拟服务太多,一旦虚拟系统的权限失控,轻则丢失文件,某一服务失效;重则会导致其构建的所有虚拟系统中断运行。因此,我们对虚拟系统的权限控制要谨慎操作。
案例回顾:
处理器E5506、16GB内存、2TB硬盘的一台物理服务器,上面运行着10个虚拟化系统,其中物理服务器的C盘为系统盘,D盘和E盘分别装载着5个虚拟系统,F盘则作为保留,时刻准备应用于虚拟硬盘。这样的设置起初没有任何问题,但是随着时间的推移,虚拟机最近的表现有些异常。
E盘装在的虚拟系统是代理服务器、文件服务器、邮件服务器、OA服务器和测试服务器,除了代理服务器,其余三个服务器每天都会产生大量的数据,这导致了硬盘空间告急,出现了空间不足的提示,看来需要清理一下磁盘空间了。
由于所有的服务都已经稳定的投入运行,测试服务器已经不再需要,决定将这个虚拟化服务器予以删除,暂时缓解一下空间危机,但是再删除过程中出现了意外,登陆的帐户没有权限删除文件。
案例分析:
由于管理员帐户处于绝对的保密状态,很多时候我们使用一个低权限的帐户来查看虚拟化服务器的各项工作指标,但是这个账户受到部分限制,一些工作不能流畅的进行,因此我们需要开放权限。
将这些帐户加入Administrators组吗?显然不是!
管理员组的权限过于开放,有时候无意识的操作会使虚拟服务停止,甚至会使物理服务器崩溃,宽松的权限意味着风险,因此对权限要把握的很准确。
但是,Hyper v的权限指派要比NTFS等安全权限复杂得多,我们需要选择一款好的工具来精确的、简单的设置Hyper v的应用权限,那就是“AzMan”。
#p#
解决方案:
AzMan(Authorization Manager,授权管理器),是微软公司提供的授权管理软件,它不依托于COM+,是开放的组件标准,因此它可以在底层支持XML、AD、ADAM、SQL Server等众多授权方式。
它的应用也较为简单,基于MMC(Microsoft Management Console,微软管理控制台)来管理相关的认证中心和授权访问级别。下面我们介绍一下如何通过AzMan来设置用户访问和管理Hyper的相关权限。
一、授权管理器的添加
1、依次选择“开始”→“运行”,在“运行”对话框中输入“MMC”,启动“控制台”;
2、再选择“文件”→“添加/删除管理单元”,找到“授权管理器”,单击“添加”按钮,再单击“确定”按钮;
3、这时系统会提示“没有选择授权存储”(见图一),我们必须打开一个存储的资源。选择“操作”→“打开授权存储(O)...”,在“选择授权存储类型中选择“XML文件”,然后选择“浏览”按钮,浏览到“
%ProgramData%\Microsoft\Windows\Hyper-V”中的InitialStore.xml文件。
注意:如果安装的是Hyper-V Server 2008 R2,由于自身没有Shell界面,MMC控制台不可用,我们可以直接在存储名称中输入:
\\IP地址\c$\ProgramData\Microsoft\Windows\Hyper-V\InitialStore.xml (IP地址为Hyper-V Server 2008 R2物理服务器地址,C为Hyper-V Server 2008 R2系统安装盘),选择完毕后,单击“确定”按钮;
图一
4、这样授权管理器就已经添加完毕(见图二),我们可以看到里面已经内嵌了administrator管理员帐户,但是这个账户权限太大,我们需要重新定义角色和添加授权帐户。
图二
二、帐户的添加及管理
针对不同管理员我们需要设定差异的控制权限,也许我们希望某个管理员只能建立和删除虚拟系统;也许只希望某IT工程师可以开始或停止虚拟服务;再或者只允许低级别管理用户查看部分虚拟系统的状态,这样就需要仔细授权。
1、依次选择“授权管理器”→“InitialStore.xml” →“Hyper –v services” →“定义”→“角色定义”,右键选择“新建角色定义(N)...”;
2、输入名称和说明,以便日后可以快速的定位相关角色,这里新建的角色名称“Hyper”,然后选择“添加”按钮,再选择“操作”,这里罗列出了所有可操作选项(见图三),虽然都是英文,但是比较简单,不再赘述。
图三
3、勾选合适的操作权限,如:“Create Virtual Machine”,然后选择“确定”按钮,这样角色就已经建立完成;
4、右键选择“角色分配”,再选择“分配新角色(R)…”,选择刚刚建立的“hyper”,确定;
5、右键选择“hyper”角色,选择“分配用户和组(A)” ,再选择“从Windows 和 Active Directory(W)…”,接下来就可以选择Hyper服务器中相应用户名了(见图四),如果该服务器已经加入了域,则可以选择域帐户。所有配置进行完毕后,我们将此控制台予以保存,以方便日后维护。
图四
6、至此,授权工作就全部结束了,Hyper V Server 2008 R2中的用户yanghuan将拥有hyper中设置的Create Virtual Machine(创建虚拟系统)权限,这样的管理将会非常明朗。
#p#
知识延伸:
本文是针对Hyper v权限管理做的实战演示,对于AzMan我们再从结构和组成上做一下简单的介绍。
AzMan是由四个基本对象组成,它们分别是:角色、用户、操作和任务。
角色(Role)
我们之前已经在AzMan建立了一个角色,它是一组任务和操作的集合,在这个集合中我们可以授权给用户多个操作权限,也可以为用户自定义多个任务,如果角色众多我们还可以应用“角色组”的方式将角色统一管理。
用户(Member)
可以是Hyper V中的帐户、Active Directory的帐户、还可以是第三方帐户。一个帐户可以存在于多个角色之中,运行多的操作。
操作(Operation)
它是AzMan逻辑模型中的最基本的、最小的单元,它不可拆分,也不能在叠加其他的“操作”之上,每一个操作都有唯一的ID标识。
任务(Task)
角色是任务和操作的集合,任务则是操作的集合,单一任务包含多个的操作,可以包含多个任务,对于复杂的管理模型,我们就可以通过任务来完成。
结语:
不管是物理服务器还是虚拟服务器,权限的管控都是重中之重,失去权限的控制迟早会造成不可挽回的错误。在Hyper v 投入运行伊始,我们就需要根据职责不同,针对每个IT工程师授予权限,保障权限不会滥用,将虚拟化服务的风险降至最低,提升数据中心整体可用性。
【编辑推荐】
- 下载:微软Hyper-V Server 2008 R2正式版
- Windows Server 2008 R2有效降低成本
- Windows Server 2008 R2:帮助您推动业绩增长
- 实战:Hyper-V Server 2008 R2安装、配置
- 七问Hyper-V Server 2008 R2
- 实战:Hyper-V Server 2008 R2故障排除