XenServer

Usar RBAC con la CLI

comandos CLI de RBAC xe

Use los siguientes comandos para trabajar con roles y temas.

Para enumerar todos los roles definidos disponibles

Ejecute el comando: xe role-list

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

Nota:

Esta lista de funciones es estática. No puede agregar, eliminar ni modificar roles.

Para mostrar una lista de temas actuales

Ejecute este comando:

xe subject-list

Este comando devuelve una lista de los usuarios de XenServer, 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

Para agregar un asunto a RBAC

Para permitir que los usuarios de AD existentes usen RBAC, cree una instancia de asunto en XenServer, ya sea directamente para el usuario de AD o para los grupos que la contienen:

Ejecute el siguiente comando para agregar una nueva instancia de asunto:

xe subject-add subject-name=AD user/group

Para asignar una función de RBAC a un sujeto

Después de agregar un asunto, puede asignarlo a una función de RBAC. Puede hacer referencia a la función por su UUID o nombre:

Ejecute el comando:

xe subject-role-add uuid=subject uuid role-uuid=role_uuid

O bien:

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

Por ejemplo, el siguiente comando agrega un asunto con el UUID b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 a la función de administrador del grupo:

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

Para cambiar la función de RBAC de un sujeto

Para cambiar el rol de un usuario, es necesario quitarlo 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

El usuario debe cerrar sesión y volver a iniciarla para asegurarse de que la nueva función surta efecto. Esto requiere el permiso «Cerrar sesión de conexiones de usuario activas» disponible para el administrador o el operador del grupo.

Si le quitas la función de administrador del grupo a un usuario, considera la posibilidad de cambiar también la contraseña raíz y rotar el secreto del grupo. Para obtener más información, consulte Seguridad de la agrupación.

Advertencia:

Cuando agrega o elimina un asunto de administrador de grupo, todos los hosts del grupo pueden tardar unos segundos en aceptar sesiones ssh asociadas con este tema.

Auditoría

El registro de auditoría de RBAC registra cualquier operación realizada por un usuario que ha iniciado sesión.

  • El mensaje registra el ID de asunto 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, se registra la operación.

  • También se graba cualquier operación correcta. Si la operación falló, se registrará el código de error.

Comandos CLI de auditoría log xe

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 “desde” está presente, solo descarga los registros de ese punto específico en el tiempo.

xe audit-log-get [since=timestamp] filename=output filename

Para obtener todos los registros de auditoría del grupo

Ejecute este comando:

xe audit-log-get filename=/tmp/auditlog-pool-actions.out

Para obtener registros de auditoría del grupo desde una marca de tiempo precisa en milisegundos

Ejecute este comando:

xe audit-log-get since=2009-09-24T17:56:20.530Z \ filename=/tmp/auditlog-pool-actions.out

Para obtener registros de auditoría del grupo desde una marca de tiempo precisa por minuto

Ejecute este comando:

xe audit-log-get since=2009-09-24T17:56Z \ filename=/tmp/auditlog-pool-actions.out
Usar RBAC con la CLI