管理用户

通过定义用户、组、角色和权限,可以控制谁可以访问Citrix Hypervisor服务器和池,以及他们可以执行什么操作。

首次安装Citrix Hypervisor时,会自动在Citrix Hypervisor中添加用户。该帐户为本地超级用户LSU或root, Citrix Hypervisor本地认证的用户。

LSU或root是用于系统管理的特殊用户帐户,具有所有权限。在Citrix Hypervisor中,LSU是安装时的默认帐号。Citrix Hypervisor对LSU帐户进行认证。LSU不需要任何外部认证服务。当外部认证服务失败时,LSU仍然可以登录并管理系统。LSU始终可以通过SSH协议访问Citrix Hypervisor物理服务器。

您可以通过XenCenter的users选项卡或xe CLI添加Active Directory帐户来创建更多用户。如果您的环境不使用Active Directory,则只能使用LSU帐户。

注意:

在创建用户时,Citrix Hypervisor不会自动为新创建的用户帐户分配RBAC角色。因此,在为这些帐户分配角色之前,它们不能访问Citrix Hypervisor池。

这些权限是通过角色授予的,如中所述AD认证用户部分。

使用Active Directory (AD)认证用户

如果希望在一台服务器或一个池上有多个用户帐户,则必须使用Active Directory用户帐户进行身份验证。AD帐户允许Citrix Hypervisor用户使用他们的Windows域凭据登录到一个池。

注意:

您可以在AD域控制器上启用LDAP通道绑定和LDAP签名。有关更多信息,请参见微软安全咨询

您可以通过启用Active Directory身份验证、添加用户帐户并为这些帐户分配角色,为特定用户配置不同的访问级别。

Active Directory用户可以使用xe命令行(传递适当的- u而且pw参数),并使用XenCenter连接到主机。身份验证是在每个资源池的基础上进行的。

主题控制对用户帐户的访问。Citrix Hypervisor中的主题映射到目录服务器上的实体(用户或组)。当启用外部身份验证时,Citrix Hypervisor会根据本地根凭证和主题列表检查用于创建会话的凭证。要允许访问,请为要授予访问权的个人或组创建主题条目。您可以使用XenCenter或xe CLI创建主题条目。

如果您熟悉XenCenter,请注意Citrix Hypervisor CLI使用了稍微不同的术语来指代Active Directory和用户帐户特性

尽管Citrix Hypervisor是基于linux的,但Citrix Hypervisor允许对Citrix Hypervisor用户帐户使用活动目录帐户。为此,它将Active Directory凭据传递给Active Directory域控制器。

将Active Directory添加到Citrix Hypervisor时,Active Directory用户和组将成为Citrix Hypervisor主题。这些主题在XenCenter中称为用户。在向Citrix Hypervisor注册主题时,登录时使用Active Directory对用户/组进行身份验证。用户和组不需要使用域名限定用户名。

要限定用户名,必须以“低级登录名称”格式输入用户名,例如,mydomain \ myuser

注意:

默认情况下,如果您没有限定用户名,XenCenter将尝试使用它所加入的域将用户登录到AD认证服务器。唯一的例外是LSU帐户,XenCenter总是首先在本地(即在Citrix Hypervisor上)对其进行身份验证。

外部认证流程如下:

  1. 连接到服务器时提供的凭据被传递到Active Directory域控制器进行身份验证。

  2. 域控制器检查凭据。如果它们无效,身份验证立即失败。

  3. 如果凭据有效,则查询Active Directory控制器以获得与凭据关联的主题标识符和组成员资格。

  4. 如果主题标识符与Citrix Hypervisor中存储的标识符匹配,则身份验证成功。

当您加入域时,您将为该池启用Active Directory身份验证。但是,当一个池加入一个域时,只有该域(或与它有信任关系的域)中的用户可以连接到池。

注意:

不支持手动更新dhcp配置的网络PIF的DNS配置,可能导致AD集成失败或用户认证停止工作。

配置Active Directory认证

Citrix Hypervisor支持使用Windows 2008或更高版本的Active Directory服务器。

要对Citrix Hypervisor服务器的Active Directory进行身份验证,必须对Active Directory服务器(配置为允许互操作性)和Citrix Hypervisor服务器使用相同的DNS服务器。在某些配置中,活动目录服务器可以自己提供DNS。这可以通过使用DHCP向Citrix Hypervisor服务器提供IP地址和DNS服务器列表来实现。或者,您可以在PIF对象中设置值,或者在使用手动静态配置时使用安装程序。

建议启用DHCP分配主机名。不分配主机名本地主机linux主机。

警告:

在整个Citrix Hypervisor部署过程中,Citrix Hypervisor服务器名称必须是唯一的。

请注意以下几点:

  • Citrix Hypervisor使用它的主机名在AD数据库上标记它的AD条目。如果两台具有相同主机名的Citrix Hypervisor加入同一个AD域,第二个Citrix Hypervisor将覆盖第一个Citrix Hypervisor的AD条目。不管主机是属于相同的池还是不同的池,都会发生覆盖。这可能导致第一个Citrix Hypervisor上的AD身份验证停止工作。

    您可以在两台Citrix Hypervisor服务器中使用相同的主机名,只要它们加入不同的AD域即可。

  • Citrix Hypervisor服务器可以位于不同的时区,因为比较的是UTC时间。为了保证同步的正确性,您可以为Citrix Hypervisor池和Active Directory服务器使用相同的NTP服务器。

  • 不支持混合身份验证池。不能将池中的一些服务器配置为使用Active Directory,而另一些服务器不配置)。

  • Citrix Hypervisor活动目录集成使用Kerberos协议与活动目录服务器通信。因此,Citrix Hypervisor不支持与不使用Kerberos的Active Directory服务器通信。

  • 要成功使用Active Directory进行外部身份验证,Citrix Hypervisor服务器上的时钟必须与Active Directory服务器上的时钟同步。当Citrix Hypervisor加入Active Directory域时,如果服务器之间存在过大的倾斜,则会检查同步并验证失败。

警告:

主机名必须由不超过63个字母数字字符组成,并且不能纯为数字。

启用Active Directory认证后,将服务器加入池时,会提示加入池的服务器上配置Active Directory。当提示在连接服务器上输入凭据时,键入具有足够权限的Active Directory凭据,以便将服务器添加到该域。

活动目录集成

确保以下防火墙端口对出站流量开放,以便Citrix Hypervisor能够访问域控制器。

港口 协议 使用
53 UDP / TCP DNS
88 UDP / TCP Kerberos 5
123 UDP 国家结核控制规划
137 UDP NetBIOS名称服务
139 TCP NetBIOS会话(SMB)
389 UDP / TCP LDAP
445 TCP SMB / TCP
464 UDP / TCP 机密码更改
3268 TCP 全球目录搜索

注:

  • 查询Linux计算机的防火墙规则iptables,执行如下命令:iptables问
  • Citrix Hypervisor使用PBIS (PowerBroker Identity Services)对AD服务器中的AD用户进行认证,并对与AD服务器的通信进行加密。

Citrix Hypervisor如何管理集成AD的机器帐号密码?

与Windows客户端计算机类似,PBIS自动更新计算机帐户密码。PBIS每30天更新一次密码,或者根据AD服务器上的机器帐号密码更新策略进行更新。

开启池外部认证功能

使用Active Directory的外部认证可以通过XenCenter或CLI配置,使用以下命令。

xe pool-enable-external-auth auth-type=AD \ service-name=full-qualified-domain \ config:user=username \ config:pass=password 

指定的用户必须具有添加/删除计算机对象或工作站权限,这是域管理员的默认权限。

如果在Active Directory和Citrix Hypervisor服务器使用的网络上没有使用DHCP,请使用以下方法设置DNS:

  1. 设置您的域DNS后缀搜索顺序,以解析非fqdn条目:

    Xe piif -param-set uuid=pif_uuid_in_the_dns_subnetwork \ "other-config:domain=suffix1.com suffix2.com suffix3.com" 
  2. 配置要在Citrix Hypervisor服务器上使用的DNS服务器:

    Xe pif- reconfiguration -ip mode=static dns=dnshost ip=ip \ gateway=gateway netmask=netmask uuid=uuid 
  3. 手动设置管理接口使用与DNS服务器在同一网络上的PIF:

    Xe host-management-reconfigure pif-uuid=pif_in_the_dns_subnetwork 

注意:

外部身份验证是每个主机的属性。但是,我们建议您在每个池的基础上启用和禁用外部身份验证。每个池设置允许Citrix Hypervisor处理在特定主机上启用身份验证时发生的失败。Citrix Hypervisor还回滚可能需要的任何更改,确保整个池的配置一致。使用host-param-list命令,检查主机属性,并通过检查相关字段的值来判断外部认证的状态。

使用XenCenter禁用Active Directory身份验证,或执行以下xe命令:

xe pool-disable-external-auth < !——NeedCopy >

用户身份验证

要允许用户访问Citrix Hypervisor服务器,必须为该用户或用户所在的组添加主题。(传递组成员也以正常方式进行检查。例如,为组添加主题一个,组一个包含组B而且用户1是小组成员吗B将允许进入用户1)。如果要在Active Directory中管理用户权限,可以创建单个组,然后向其中添加和删除用户。或者,您可以根据您的身份验证需求,从Citrix Hypervisor中添加和删除单个用户,或者用户和组的组合。您可以从XenCenter或使用CLI管理主题列表,如下节所述。

在对用户进行身份验证时,首先根据本地根帐户检查凭证,允许您恢复AD服务器已故障的系统。如果凭据(用户名和密码)不匹配,则向AD服务器发出身份验证请求。如果身份验证成功,则检索用户的信息并根据本地主题列表进行验证。如果身份验证失败,则拒绝访问。如果用户的传递组成员关系中的用户或组在主题列表中,则针对主题列表的验证成功。

注意:

当使用Active Directory组为需要主机ssh访问的Pool Administrator用户授予访问权限时,AD组的大小不能超过500个用户。

在Citrix Hypervisor上添加AD主体。

Xe subject-add subject-name=entity_name 

entity_name是要授予访问权的用户或组的名称。您可以包含实体的域(例如,' xendt\user1 '而不是' user1 '),尽管行为是相同的,除非需要消除歧义。

查找用户的主题标识符。标识符是用户或包含用户的组。删除一个组将删除对该组中所有用户的访问权,前提是这些用户没有在主题列表中指定。使用主题列表命令查找用户的主题标识符。:

xe主题列表< !——NeedCopy >

这个命令返回所有用户的列表。

对列表应用筛选器,例如查找用户的主题标识符user1testad域,使用以下命令:

Xe subject-list other-config:subject-name='testad\user1' 

方法删除用户subject-remove命令,传入你在上一步学到的主题标识符:

Xe subject-remove subject-uuid=subject_uuid 

您可以结束此用户已通过身份验证的任何当前会话。有关更多信息,请参见使用xe终止所有已验证的会话而且使用xe终止单个用户会话在下一节中。如果不结束会话,被撤销权限的用户可能会继续访问系统,直到注销。

运行以下命令确定具有访问Citrix Hypervisor服务器或池权限的用户和组列表:

xe主题列表< !——NeedCopy >

删除用户的访问权限

当用户通过身份验证后,他们可以访问服务器,直到结束他们的会话,或者另一个用户结束他们的会话。从主题列表中删除用户,或从主题列表中的组中删除用户,不会自动撤销该用户拥有的任何已经过身份验证的会话。用户可以继续使用XenCenter或他们已经创建的其他API会话访问池。XenCenter和CLI提供了强制结束单个会话或所有活动会话的功能。看到XenCenter文档查看使用xenenter的过程的信息,或查看使用CLI的过程的下面部分。

使用xe终止所有经过身份验证的会话

执行以下CLI命令,使用xe结束所有已认证的会话:

xe session-subject-identifier-logout-all < !——NeedCopy >

使用xe终止单个用户会话

  1. 确定要注销其会话的主题标识符。使用session-subject-identifier-list主题列表Xe命令查找主题标识符。第一个命令显示有会话的用户。第二个命令显示所有用户,但可以进行过滤。例如,通过使用这样的命令xe主题列表的配置:主题名称= xendt \ \ user1.您可能需要一个双反斜杠,这取决于您的shell)。

  2. 使用session-subject-logout命令,将在上一步中确定的主题标识符作为参数传递,例如:

    Xe session-subject-identifier-logout subject-identifier=subject - _id 

退出AD域

警告:

当您离开域时,使用Active Directory凭据向池或服务器进行身份验证的任何用户都将断开连接。

使用XenCenter退出AD域。有关更多信息,请参见XenCenter文档.交替运行pool-disable-external-auth命令,如果需要,指定池的UUID。

注意:

退出域不会从AD数据库中删除主机对象。有关如何检测和删除禁用的主机条目的信息,请参阅Active Directory文档。

管理用户