在CLI中使用RBAC

RBAC xe命令

使用以下命令处理角色和主题。

列出所有可用的已定义角色

运行以下命令:xe角色列表

该命令返回当前定义的角色列表,例如:

uuid (RO): 0165 f154 ba3e - 034 e - 6 - b27 - 5 - d271af109ba名称(RO): pool-admin描述(RO):泳池管理员角色完全访问所有功能和设置,包括访问Dom0)和管理主题,角色和外部认证uuid (RO): b9ce9791 - 0604 - 50 - cd - 0649 - 09 - b3284c7dfd名称(RO):池运营商描述(RO):Pool Operator角色管理整个主机和池的资源,包括创建存储、创建资源池、管理补丁和HA。uuid (RO): 7955168 d - 7 - bec - 10 - ed - 105 f - c6a7e6e63249名称(RO): vm-power-admin描述(RO): VM权力管理员角色完全访问虚拟机和模板管理,可以选择从哪里开始VM和使用动态内存控制和虚拟机快照功能uuid (RO): aaa00ab5 - 7340 bfbc - 0 - d1b - 7 - cf342639a6e名称(RO):vm-admin描述(RO): VM管理员角色可以管理虚拟机和模板uuid (RO): fb8d4ff9 - 310 c - a959 - 0613 - 54101535 - d3d5名称(RO): vm-operator描述(RO): VM运营商角色可以使用VM和与虚拟机控制台uuid (RO): 7233年b8e3-eacb-d7da-2c95-f2e581cdbf4e名称(RO):只读描述(RO):只读角色可以以基本的只读访问方式登录

注意:

这个角色列表是静态的。不能添加、删除、修改角色。

显示当前主题的列表

执行如下命令:

xe主题列表< !——NeedCopy >

这个命令返回一个Citrix Hypervisor用户的列表,他们的uuid和他们关联的角色:

uuid (RO): bb6dd399 -1fa9-a06b-a497-3be28b8dca44 subject-identifier (RO): S-1-5-21-1539997073-1618981536-2562117463-2244 other-config (MRO): subject-name: example01\user_vm_admin;subject-upn: \ user_vm_admin@XENDT.NET;subject-uid: 1823475908;subject-gid: 1823474177;\ subject-sid: s - 1 - 5 - 21 - 1539997073 - 1618981536 - 1539997073 - 2244;subject-gecos: \ user_vm_admin;subject-displayname: user_vm_admin;subject-is-group:错误;\ subject-account-disabled:错误;subject-account-expired:错误; \ subject-account-locked: false;subject-password-expired: false roles (SRO): vm-admin uuid ( RO): 4fe89a50-6a1a-d9dd-afb9-b554cd00c01a subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2245 other-config (MRO): subject-name: example02\user_vm_op; subject-upn: \ user_vm_op@XENDT.NET; subject-uid: 1823475909; subject-gid: 1823474177; \ subject-sid: S-1-5-21-1539997073-1618981536-2562117463-2245; \ subject-gecos: user_vm_op; subject-displayname: user_vm_op; \ subject-is-group: false; subject-account-disabled: false; \ subject-account-expired: false; subject-account-locked: \ false; subject-password-expired: false roles (SRO): vm-operator uuid ( RO): 8a63fbf0-9ef4-4fef-b4a5-b42984c27267 subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2242 other-config (MRO): subject-name: example03\user_pool_op; \ subject-upn: user_pool_op@XENDT.NET; subject-uid: 1823475906; \ subject-gid: 1823474177; subject-s id: S-1-5-21-1539997073-1618981536-2562117463-2242; \ subject-gecos: user_pool_op; subject-displayname: user_pool_op; \ subject-is-group: false; subject-account-disabled: false; \ subject-account-expired: false; subject-account-locked: \ false; subject-password-expired: false roles (SRO): pool-operator 

将主题添加到RBAC

要使现有AD用户能够使用RBAC,请在Citrix Hypervisor中为AD用户或包含组创建一个主题实例:

运行命令添加新的主题实例:

xe subject-add subject-name=AD用户/组

将RBAC角色分配给主题

添加主题后,可以将其分配给RBAC角色。你可以通过uuid或者名字来引用角色:

运行以下命令:

Xe subject-role-add uuid=subject uuid role-uuid=role_uuid 

Xe subject-role-add uuid=subject uuid role-name=role_name 

例如,下面的命令添加一个带有uuid的主题b9b3d03b - 3 - d10 - 79 - d3 - 8 ed7 a782c5ea13b4到Pool Administrator角色:

Xe subject-role-add uuid=b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 role-name=pool-admin 

修改主题的RBAC角色

若要更改用户的角色,需要将其从现有角色中删除,并添加到新角色中:

执行如下命令:

Xe subject-role-remove uuid=subject_uuid role-name=role_name_to_remove 

用户必须先注销再登录,才能使角色生效。这需要池管理员或池操作员具有“注销活动用户连接”权限)。

如果您从用户中删除Pool Admin角色,还可以考虑更改服务器根密码并旋转池秘密。有关更多信息,请参见池安全

警告:

当您添加或删除池管理主题时,池中的所有主机可能需要几秒钟的时间来接受与此主题关联的ssh会话。

审计

RBAC审计日志记录了登录用户的所有操作。

  • 该消息记录与调用该操作的会话相关联的Subject ID和用户名。

  • 如果主题调用未授权的操作,则将记录该操作。

  • 任何成功的操作也会被记录。如果操作失败,则记录错误代码。

Audit log xe CLI命令

下面的命令将池中RBAC审计文件的所有可用记录下载到一个文件中。如果可选参数' since '存在,那么它只下载该特定时间点的记录。

exe audit-log-get \[since=timestamp\] filename=output filename 

从审计池中获取所有审计记录

执行如下命令:

xe audit-log-get文件名= / tmp / auditlog-pool-actions。< !——NeedCopy >

获取自精确毫秒时间戳以来池的审计记录

执行如下命令:

/tmp/auditlog-pool-actions. exe audit-log-get since=2009-09-24T17:56:20.530Z \ filename=/tmp/auditlog-pool-actions. exe< !——NeedCopy >

获取从精确的分钟时间戳开始的池的审计记录

执行如下命令:

/tmp/auditlog-pool-actions. exe audit-log-get since=2009-09-24T17:56Z \ filename=/tmp/auditlog-pool-actions. exe< !——NeedCopy >
在CLI中使用RBAC