Uso de RBAC con la CLI
Importante:
La actualización acumulativa 1 de Citrix Hypervisor 8.2 llega al final de su vida útil el 25 de junio de 2025. Planifique su actualización a XenServer 8 ahora para garantizar una transición fluida y un soporte continuo. Para obtener más información, consulte Actualizar.
Si utiliza los archivos de licencia de Citrix Virtual Apps and Desktops para licenciar los hosts de Citrix Hypervisor 8.2 Cumulative Update 1, estos archivos de licencia no son compatibles con XenServer 8. Antes de actualizar, debe adquirir los archivos de licencia de socket de XenServer Premium Edition para utilizarlos con XenServer 8. Estos archivos de licencia de socket están disponibles como un derecho de las suscripciones de Citrix para Private Cloud, Citrix Universal Hybrid Multi-Cloud, Citrix Universal MSP y Citrix Platform License para ejecutar sus cargas de trabajo de Citrix. Los clientes de Citrix que aún no hayan realizado la transición a estas nuevas suscripciones pueden solicitar participar en una promoción gratuita de 10.000 licencias de socket de XenServer Premium Edition. Para obtener más información, consulte XenServer.
Si no obtiene una licencia compatible para XenServer 8 antes de actualizar, cuando actualice sus hosts, estos volverán a la edición de prueba de 90 días. La Edición de Prueba ofrece las mismas características que la Edición Premium con algunas limitaciones. Para obtener más información, consulte Descripción general de las licencias de XenServer 8.
Comandos RBAC xe CLI
Utilice los siguientes comandos para trabajar con roles y sujetos.
Para enumerar todos los roles definidos disponibles
Ejecute el comando: Lista de roles xe
Este comando devuelve una lista de los roles definidos actualmente, por ejemplo:
uuid( RO): 0165f154-ba3e-034e-6b27-5d271af109ba
name ( RO): pool-admin
description ( RO): The Pool Administrator role has full access to all
features and settings, including accessing Dom0 and managing subjects,
roles and external authentication
uuid ( RO): b9ce9791-0604-50cd-0649-09b3284c7dfd
name ( RO): pool-operator
description ( RO): The Pool Operator role manages host- and pool-wide resources,
including setting up storage, creating resource pools and managing patches, and
high availability (HA).
uuid( RO): 7955168d-7bec-10ed-105f-c6a7e6e63249
name ( RO): vm-power-admin
description ( RO): The VM Power Administrator role has full access to VM and
template management and can choose where to start VMs and use the dynamic memory
control and VM snapshot features
uuid ( RO): aaa00ab5-7340-bfbc-0d1b-7cf342639a6e
name ( RO): vm-admin
description ( RO): The VM Administrator role can manage VMs and templates
uuid ( RO): fb8d4ff9-310c-a959-0613-54101535d3d5
name ( RO): vm-operator
description ( RO): The VM Operator role can use VMs and interact with VM consoles
uuid ( RO): 7233b8e3-eacb-d7da-2c95-f2e581cdbf4e
name ( RO): read-only
description ( RO): The Read-Only role can log in with basic read-only access
<!--NeedCopy-->
Nota: No
Esta lista de roles es estática. No se pueden agregar, quitar ni modificar roles.
Para mostrar una lista de los temas actuales
Ejecute este comando:
xe subject-list
<!--NeedCopy-->
Este comando devuelve una lista de usuarios de Citrix Hypervisor, su uuid y las funciones a las que están asociados:
uuid ( RO): bb6dd239-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-2562117463-2244; subject-gecos: \
user_vm_admin; subject-displayname: user_vm_admin; subject-is-group: false; \
subject-account-disabled: false; subject-account-expired: false; \
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
<!--NeedCopy-->
Para agregar un asunto a RBAC
Para permitir que los usuarios de AD existentes utilicen RBAC, cree una instancia de asunto en Citrix Hypervisor, ya sea para el usuario de AD directamente o para los grupos contenedores:
Ejecute el siguiente comando para agregar una nueva instancia de asunto:
xe subject-add subject-name=AD user/group
<!--NeedCopy-->
Para asignar un rol RBAC a un asunto
Después de agregar un asunto, puede asignarlo a un rol RBAC. Puede hacer referencia al rol por su UUID o por su nombre:
Ejecute el comando:
xe subject-role-add uuid=subject uuid role-uuid=role_uuid
<!--NeedCopy-->
O bien,
xe subject-role-add uuid=subject uuid role-name=role_name
<!--NeedCopy-->
Por ejemplo, el siguiente comando agrega un asunto con el uuid b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4
al rol de administrador del grupo:
xe subject-role-add uuid=b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 role-name=pool-admin
<!--NeedCopy-->
Para cambiar el rol RBAC de un sujeto
Para cambiar el rol de un usuario, es necesario eliminarlo de su rol existente y agregarlo a un nuevo rol:
Ejecute los comandos siguientes:
xe subject-role-remove uuid=subject_uuid role-name=role_name_to_remove
xe subject-role-add uuid=subject_uuid role-name=role_name_to_add
<!--NeedCopy-->
El usuario debe cerrar sesión y volver a iniciarla para asegurarse de que el nuevo rol surta efecto. Esto requiere el permiso “Cerrar sesión de conexiones de usuario activo” disponible para un administrador de grupo o un operador de grupo).
Si quita el rol de administrador de grupo de un usuario, considere también la posibilidad de cambiar la contraseña raíz del servidor y rotar el secreto del grupo. Para obtener más información, consulte Seguridad de la piscina.
Advertencia:
Al agregar o eliminar un asunto pool-admin, todos los hosts del grupo pueden tardar unos segundos en aceptar sesiones ssh asociadas con este asunto.
Audioría
El registro de auditoría de RBAC registra cualquier operación realizada por un usuario que haya iniciado sesión.
-
El mensaje registra el ID de sujeto y el nombre de usuario asociados a la sesión que invocó la operación.
-
Si un sujeto invoca una operación que no está autorizada, la operación se registra.
-
También se registra cualquier operación exitosa. Si se produce un error en la operación, se registra el código de error.
Comandos de la CLI de log xe de registro de auditoría
El siguiente comando descarga todos los registros disponibles del archivo de auditoría RBAC en el grupo en un archivo. Si el parámetro opcional ‘since’ está presente, solo descarga los registros de ese punto específico en el tiempo.
xe audit-log-get \[since=timestamp\] filename=output filename
<!--NeedCopy-->
Para obtener todos los registros de auditoría del grupo
Ejecute este comando:
xe audit-log-get filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->
Para obtener registros de auditoría del grupo desde una marca de tiempo precisa de milisegundos
Ejecute este comando:
xe audit-log-get since=2009-09-24T17:56:20.530Z \
filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->
Para obtener registros de auditoría del grupo desde una marca de tiempo precisa de un minuto
Ejecute este comando:
xe audit-log-get since=2009-09-24T17:56Z \
filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->