XenServer

Usar RBAC con la CLI

Comandos CLI de RBAC xe

Utilice los siguientes comandos para trabajar con roles y sujetos.

Para listar 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
<!--NeedCopy-->

Nota:

Esta lista de roles es estática. No puede añadir, eliminar ni modificar roles.

Para mostrar una lista de los sujetos actuales

Ejecute el siguiente comando:

xe subject-list
<!--NeedCopy-->

Este comando devuelve una lista de los usuarios de XenServer®, su uuid y los roles a los 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 añadir un sujeto a RBAC

Para permitir que los usuarios de AD existentes utilicen RBAC, cree una instancia de sujeto dentro de XenServer, ya sea directamente para el usuario de AD o para los grupos que lo contienen:

Ejecute el siguiente comando para añadir una nueva instancia de sujeto:

xe subject-add subject-name=AD user/group
<!--NeedCopy-->

Para asignar un rol RBAC a un sujeto

Después de añadir un sujeto, puede asignarlo a un rol RBAC. Puede referirse 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

xe subject-role-add uuid=subject uuid role-name=role_name
<!--NeedCopy-->

Por ejemplo, el siguiente comando añade un sujeto con el UUID b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 al rol de Administrador de Pool:

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 añadirlo a un nuevo rol:

Ejecute los siguientes comandos:

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 conexiones de usuario activas” disponible para un Administrador de Pool o un Operador de Pool.

Si elimina el rol de Administrador de Pool de un usuario, considere también cambiar la contraseña de root y rotar el secreto del pool. Para obtener más información, consulte Seguridad del Pool.

Advertencia:

Cuando añade o elimina un sujeto de administrador de pool, puede tardar unos segundos en que todos los hosts del pool acepten las sesiones ssh asociadas con este sujeto.

Auditoría

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

  • El mensaje registra el ID de sujeto y el nombre de usuario asociados con la sesión que invocó la operación.

  • Si un sujeto invoca una operación no autorizada, la operación se registra.

  • Cualquier operación exitosa también se registra. Si la operación falló, se registra el código de error.

Registro de auditoría de comandos de la CLI xe

El siguiente comando descarga todos los registros disponibles del archivo de auditoría de RBAC en el pool a un archivo. Si el parámetro opcional ‘since’ está presente, solo descarga los registros a partir 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 pool

Ejecute el siguiente comando:

xe audit-log-get filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->

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

Ejecute el siguiente 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 pool desde una marca de tiempo precisa en minutos

Ejecute el siguiente comando:

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