APP下载

解析VMware ESXi访问权限和身份验证机制

2018-03-03

网络安全和信息化 2018年7期
关键词:文件夹列表管理员

管理用户和用户组

用户具有登录vCenter主机或VMWare ESX/ESXi服务器的权限,用户组可以包括若干用户,可授予其相同的权限。用户或用户组可在VMWare ESX/ESXi服务器创建,也可在vCenter主机上创建。当然,也可借助于Active Directory域账户进行授权。对于vCenter主机来说,可以加入域环境,也可以运行在工作组环境下。如果加入到域中,那么对于域中的域管理员来说,默认拥有了对vCenter管理的所有ESX/ESXi服务器,虚拟机等对对象完全的控制权限。

即系统会自动为Active Directory中 名 为“ESX Admins”组中的用户分配Administartor角 色。Active Directory服务可以为本地服务提供身份验证,对于ESX/ESXi主机来说,可以使用活动目录域账户,通过vSphere Client进行登录。当然,只有域管理员组中的成员才可以使用DCUI直接控制台界面。在vCenter主机和ESX/ESXi主机分别管理自己的角色组,角色是分开管理的,即某个用户直接登录到ESX/ESXi主机上,在vCenter主机上创建的角色,在ESX/ESXi主机上是看不到的。

使用角色来分配权限

角色是一个或多个特权的组合,使用特权可以执行特定的任务,可以将一项特权和其他特权划分为一个组。例如对于虚拟机Power User组来说,可以授予其对数据存储,Global等访问权限。

角色可以按照类别进行分类,例如系统角色、示例角色、自定义角色等。对于系统角色来说,是永久的不可删除的,不能编辑与这些角色相关的特权。例如管理员角色、Read only角色等。对于示例角色来说,VMWare为了方便起见角色定义,提供了样本角色作为准则和建议,可以根据需要修改或删除这些角色。

在ESX/ESXi主 机 和vCenter主机上提供了一些默认的角色,包括管理员角色、只读角色和无权访问角色等,这些角色是系统角色,无法进行编辑和删除。对于管理员角色来说,就具有对所有对象的访问特权,可以为vSphere环境中的所有vCenter主机用户和所有虚拟对象执行添加、移除和设置访问权限和特权。对于只读角色来说,可以查看对象的状态和详细信息,但不能对其编辑和修改,其无权查看这些对象的属性,其可以查看vSphere Client中除了控制台页面之外的所有页面内容,也无法利用菜单或工具栏执行任何操作。对于无权访问角色来说,通常用于撤销从父对象传播下来的子对象的权限。在配置权限时,存在一个向下传递的过程,如果不希望某个对象继承上面一层父对象的权限,即撤销继承的权限,就要授予无权访问角色。

利用权限来管理对象

对象即要对其执行操作的实体,包括数据中心、文件夹、资源池、群集、主机、数据存储、网络、虚拟机等。对于每一个对象来说,都可以在与之关联的“Permissions”页面中对其进行权限控制,即允许哪些账户对于执行何种操作权限。例如对某账户来说,对其拥有管理权限,某些账户对其拥有只读权限等。在分配权限时,可以在清单中选择一个对象,在权限页面中执行添加权限操作,在分配权限窗口左侧选择具体的用户,在角色分配列表中为其选定所需的角色,如果选择“Propagate to Child Object”项,表示可以将权限传递给子对象。否则的话,这些角色值授予当前对象,当前对象下的子对象是不会继承权限的。

例如对数据中心进行了授权,在该数据中心下有多台ESX/ESXi主机,如果禁止继承权限的话,那么这些ESX/ESXi主机将不会继承这里的权限。当给对象分配了相应的角色,授予适当的权限,之后可以对其进行查看,了解某角色分配了哪些对象,以及该角色授予了哪些用户和用户组具体的权限。在vSphere Client中切换到主页面板,在系统管理下的角色栏中进行查看。在角色列表中例如选择某个角色,来查看其对于数据中心有哪些管理选项,对哪些文件夹和ESXi主机,以及这些ESXi主机上有哪些虚拟机和用户进行管理操作。在信息面板中会显示得到该角色的用户和用户组信息,权限可以沿着对象层次结构向下传递给所有的子对象,例如当对数据中心设置了权限后,其下的所有虚拟机都将继承该权限。

当然,也可以对其中的子对象直接定义权限。例如,当对某用户设置了对于数据中心的管理员角色,那么该用户对其中的所有虚拟机都具有管理权限。如果想禁止该用户管理其中的某台虚拟机,可以直接对其该虚拟机对象应用权限,即授予其没有访问权限。这和大家熟悉Windows的权限叠加机制不同,当对较低级别的对象单独设置了权限,则会替换从较高级别对象继承下来的权限,即其权限的优先级更高。如果某个用户隶属于多个用户组,而不同的用户组对于同一个对象拥有不同的权限,那么该用户就具有了分配给这些用户组的所有权限,例如虚拟机开机权限,创建虚拟机快照权限等。如果某用户隶属于多个用户组,而这些组具有访问不同对象的权限,那么对于这些组有权访问的每个对象。该用户也可以拥有相同的访问权限,犹如为该用户赋予了这些权限一样。

例如用户A属于组1和组2,组1拥有对数据中心的管理权限,组2拥有对某虚拟机的只读权限,那么用户A将拥有上述所有权限。对于某个对象来说,当用户A隶属于多个用户组的话,当对用户A单独设置了访问权限,那么其优先级要高于其隶属的不同用户组的权限。例如对于用户A,设置了其拥有对数据中心的只读权限,该用户隶属于组1和组2,这两个组拥有对数据中心不同的权限,那么用户A的权限将覆盖其在这些组中获取的权限,即其只拥有只读权限,不具有其他权限,这和Windows的权限管理机制截然不同。

可以根据需要,使用管理员特权身份登录,在vCenter或者ESXi主机上创建自定义角色,便于委派合适的工作任务。注意,在执行具体操作时,应以尽可能小的特权来定义角色来提高系统的安全性以及控制力度。例如,可以使用文件夹来限定权限,在vCenter主机上使用VM和模版清单,在其中创建某个文件夹,在该文件夹下创建多个虚拟机,之后对用户赋予创建虚拟机的权限,并将其应用到该文件夹中。然后创建一个虚拟机角色,授权其分配磁盘空间、分配网络权限、创建虚拟机清单、创建磁盘和网络、配置虚拟机等权限。将该角色授予该用户,即可让其拥有相关的权限。

在ESXi主机上管理账户

使用域管理员身份登录域控,在活动目录用户和计算机窗口左侧选择“Computers”项,在右侧可以看到所有的ESXi和vCenter主机,如果不存在则需要加入到域中。运行vSphere Client,输入目标vCenter主机IP,以Root账户和密码登录。注意,以域管理员账户登录是不行的,因为其在目标ESXi主机上不具有本地管理员角色。而根账户是拥有对该机的管理权限。在vSphere Client界面中依次点击菜单“系统管理”→“清单”→“清单”项,可以查看在当前ESXi主机上存在的虚拟机信息。

在左侧选择该ESXi主机项,依次点击菜单“清单”→“系统管理”→“角色”项,在角色列表中看到内置的无权访问、只读、管理员角色。选择对应角色,在右侧可以显示其使用情况。例如选择管理员角色,在右侧显示Root账户、DCUI、进程管理账户等用户拥有该角色。要对用户授予角色,可打开清单列表,在右侧的“本地用户和组”面板选择用户或组标签,右键点击“添加”项,来添加新的用户或组。例如,在新增用户窗口中输入登录名(例 如“administrator”)和密码,选择“授予该用户shell程序访问权限”项,可以让其通过Shell执行管理操作。在“组”列表中选择“root”项,点击“确定”按钮,添加该账户。

在“权限”面板中可以看到,Root组拥有管理员角色,这样该账户就拥有了针对该ESXi主机的完全管理权限。之后关闭vSphere Client,以该 Administrator账户身份进行登录,在“权限”面板中的右键菜单中点击“添加权限”项,在“分配权限”窗口中的“用户和组”栏中点击“添加”按钮,在“打开”窗口中的“域”列表中选择“服务器”项,选择该“administrator”账户,点击“添加”按钮添加进来。点击“确定”按钮,在用户和组列表中可以看到,该账户拥有的是只读角色。如果想为其赋予管理员角色,可在“分配的角色”列表中选择“管理员”项,点击“确定”按钮,这样,就授权了该本地用户拥有管理员角色。当然,在每台ESXi主机分别创建本地账户,管理起来比较繁琐。

为此,可以使用活动目录域账户进行集中管理。可以选择该ESXi主机,针对某用户进行权限设定,也可以选择其下的某虚拟机,来设定访问权限。注意,针对子对象的权限设定会覆盖从父对象继承的权限。例如,想让域管理员拥有对该ESXi主机的访问权限,可以在“权限”面板中的右键菜单上点击“添加权限”项,在“打开”窗口点击“添加”按钮,在“选择用户和组”窗口中的“域”列表中选择具体的域名,在列表中显示该域中的所有账户信息,注意这里不是该ESXi主机的本地账户。选择域管理员账户Administrator,将其添加进来,按照上述方法,授予其本地管理员权限。之后就可以以域管理员身份登录即可,注意其账户名表示格式为“xxxadministrator”,其中的“xxx”为域名。

使用自定义角色实现管理操作

除使用系统自带角色外,还可使用自定义角色来大大提高管理灵活性。在域控上打 开Active Directory用户和计算机窗口,在左侧选择“Users”项,在右键菜单上依次点击“新建”→“用户”项,分别创建名为“User1”和“User2”的账户,为其设置一个复杂的密码,选择“用户不能更改密码”和“密码永不过期”项。运行vSphere Client,以上述Administrator账户登录,在地址栏中选择“主页”项,在清单栏中双击“主机和群集”项,在左侧显示所有的EXSi主机以及其下运行的所有虚拟机。

在地址栏中点击“主机和群集”→“虚拟机和模版”项(或 者 点 击“Ctrl+Shift+V”键),在左侧显示正在运行的虚拟机。点击地址栏中的“清单”→“系统管理”→“角色”项(或 点 击“Ctrl+Shift+R”键),在角色管理窗口左侧显示无权访问、只读、管理员、虚拟机超级用户、虚拟机用户、资源池管理员、Vmware Consolidated用户等角色。点击工具栏上的“添加角色”按钮,输入自定义角色名称(例如“Newrole”),在特权列表中为其指派权限,例如选择“数据存储”项,使其拥有数据存储的管理权限,选择“网络”项,授予访问网络的权限,选择“资源”项,授予访问资源权限。选择“虚拟机”→“配置”项,授予管理虚拟机的权限,例如添加现有磁盘、添加新磁盘、移除磁盘、主机USB设备连接等。选择“虚拟机”→“交互”项,授予其相关的交互权限。选择“虚拟机”→“清单”→“新建”项,允许其新建清单,但不允许其删除清单。设置相关特权后,点击“确定”按钮创建该自定义角色。

注意,为了让该用户顺利创建虚拟机,需要在ESXi主机级别指派权限,在主机和群集页面中选择合适的ESXi主机,在右侧的“权限”面板中点击右键,在弹出菜单中点击“添加权限”项,在“分配权限”窗口中添加域账户“User1”,在“分配的角色”列表中选择上述“Newrole”角色,点击“确定”按钮保存配置。这样,域账户就拥有了在该ESXi主机上创建虚拟机的权限。为便于在公用存储上创建虚拟机,打开数据存储和数据存储群集界面,在左侧选择合适的公用存储对象,在右侧的“权限”面板中使用同样非方法,授予域账户“User1”拥有“Newrole”角色的权限。

打开虚拟机和模版界面,为了管理方便可以创建新的文件夹,在其中存储虚拟机。例如选择某个文件夹,在其下存储一些虚拟机,在“权限”面板中点击右键,在弹出菜单中点击“添加权限”项,在“分配权限”窗口中点击“添加”按钮,按照上述方法将域账户“User1”添加进来,在“分配的角色”列表中选择上述“Newrole”角色,在权限列表中可以显示其拥有的权限。点击“确定”按钮,完成角色的分配操作。这样,该账户就可以在指定的文件夹下执行创建虚拟机以及其他预设的管理权限了。如果在其下创建新的子文件夹,则可以继承上一级的权限设定。

如果不想让域账户“User2”管理访问该文件夹下的虚拟机,但可以自由使用虚拟机的话,可以先选择该文件夹,在其右键菜单上点击“添加权限”项,在分配权限窗口中添加域账户“User2”,在分配的角色列表中选择“虚拟机用户(示例)”角色,使其可以使用虚拟机(例如开关机等),但是不能管理虚拟机(例如修改虚拟机配置等)。点击“确定”按钮,这样该文件夹下的所有虚拟机都会继承该权限设定。

如果禁止域账户“user2”访问该文件下的名为“WinSrv10”的虚拟机,可在该虚拟机右键菜单上点击“添加权限”项,在分配权限窗口中添加域账户“user2”,授予其“无权访问”角色。点击“确定”按钮,这样该账户就无法访问该虚拟机了。注意,如果对目标虚拟机没有访问权限,当以该账户登录后,该虚拟机是不可见的。这样,就实现了子对象权限对父对象权限的替换。当运行vSphere Client,使用上述域账户登录到目标vCenter主机上,就只能按照的权限来访问或管理虚拟机。

猜你喜欢

文件夹列表管理员
我是小小午餐管理员
学习运用列表法
我是图书管理员
我是图书管理员
Fast Folders,让你的文件夹四通八达
扩列吧
可疑的管理员
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
不容忽视的空文件夹