Usar RBAC con la CLI

Comandos de CLI de RBAC xe

Utilice 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
nombre (RO): pool-admin
description (RO): o função de administrador de pool tem acesso total para todos os
características y ajustes, incluido el acceso a Dom0 y la gestión de los temas,
funciones y autenticación externa

uuid (RO): b9ce9791-0604-50cd-0649-09b3284c7dfd
nombre (RO): pool-operador
descripción (RO): La función Operador de Pool administra los recursos de todo el host  y la agrupación.
incluida la configuración del almacenamiento, la creación de grupos de recursos y la administración de parches, y
alta disponibilidad (HA).

uuid (RO): 7955168d-7bec-10ed-105f-c6a7e6e63249
nombre (RO): vm-power-admin
description (RO): La función de administrador de energía de VM tiene acceso completo a VM y
y puede elegir dónde iniciar las máquinas virtuales y utilizar la memoria dinámica
funciones de control y instantánea de VM

uuid (RO): aaa00ab5-7340-bfbc-0d1b-7cf342639a6e
nombre (RO): vm-admin
descripción (RO):  la función Administrador de VM puede administrar máquinas virtuales y plantillas

uuid (RO): fb8d4ff9-310c-a959-0613-54101535d3d5
nombre (RO): vm-operator
description (RO):  La función Operador de VM puede usar VM e interactuar con las consolas de VM

uuid (RO): 7233b8e3-eacb-d7da-2c95-f2e581cdbf4e
nombre (RO): sólo lectura
description (RO): el rol de sólo lectura puede iniciar sesión con acceso básico de sólo lectura

Nota:

Esta lista de roles es estática. No puede agregar, quitar o modificar roles.

Para mostrar una lista de temas actuales

Ejecute el siguiente comando:

xe lista de temas

Este comando devuelve una lista de usuarios, su uuid y los roles a los que están asociados:

uuid (RO): bb6dd239-1fa9-a06b-a497-3be28b8dca44
identificador del sujeto (RO): S-1-5-21-1539997073-1618981536-2562117463-2244
other-config (MRO): nombre-sujeto: ejemplo01user_vm_admin; sujeto-upn: \
  user_vm_admin@XENDT.NET; sujeto-uid: 1823475908; sujeto-gid: 1823474177; \
  sujeto-sid: S-1-5-21-1539997073-1618981536-2562117463-2244; sujeto-gecos: \
  user_vm_admin; subject-displayname: user_vm_admin; sujeto-es-group: false; \
  sujeto-cuenta-desactivado: false; sujeto-cuenta-caducado: false; \
  sujeto-cuenta-bloqueada: false; sujeto-password-expired: false
roles (SRO): vm-admin

uuid (RO): 4fe89a50-6a1a-d9dd-afb9-b554cd00c01a
identificador del sujeto (RO): S-1-5-21-1539997073-1618981536-2562117463-2245
other-config (MRO): nombre-sujeto: ejemplo02user_vm_op; sujeto-upn: \
  user_vm_op@XENDT.NET; sujeto-uid: 1823475909; sujeto-gid: 1823474177; \
  sujeto-sid: S-1-5-21-1539997073-1618981536-2562117463-2245; \
  subject-gecos: user_vm_op; subject-displayname: user_vm_op; \
  sujeto-es-grupo: false; sujeto-cuenta-desactivado: false; \
  sujeto-cuenta-caducada: false; sujeto-cuenta-bloqueada: \
  false; sujeto-password-expired: false
roles (SRO): vm-operator

uuid (RO): 8a63fbf0-9ef4-4fef-b4a5-b42984c27267
identificador del sujeto (RO): S-1-5-21-1539997073-1618981536-2562117463-2242
other-config (MRO): nombre-sujeto: example03user_pool_op; \
  subject-upn: user_pool_op@XENDT.NET; subject-uid: 1823475906; \
  sujeto-gid: 1823474177; id del sujeto:
  S-1-5-21-1539997073-1618981536-2562117463-2242; \
  sujeto-gecos: usuario-pool_op; nombre-visualización: usuario-pool_op; \
  sujeto-es-grupo: false; sujeto-cuenta-desactivado: false; \
  sujeto-cuenta-caducada: false; sujeto-cuenta-bloqueada: \
  false; sujeto-password-expired: false
  roles (SRO): operador de grupo

Para agregar un asunto a RBAC

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

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

xe subject -add subject -name = AD usuario/grupo

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 su nombre:

Ejecute el comando:

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

O

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

Por ejemplo, el comando siguiente agrega un asunto con uuidb9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 a la función Administrador de Pool:

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

Para cambiar la función RBAC de un asunto

Para cambiar el rol de un usuario, es necesario eliminarlos de su rol existente y agregarlos a un nuevo rol:

Ejecute los siguientes comandos:

    xe sujeto-role-remove uuid = subject uuid role-name = \
      role_name_to_remove
    xe sujeto-role-add uuid = subject uuid  role-name = \
      role_name_to_add

El usuario debe cerrar la sesión y volver a iniciar sesión para asegurarse de que el nuevo rol surta efecto. Esto requiere el permiso “Cerrar sesión de conexiones de usuario activas” disponible para un administrador de grupo o un operador de grupo).

Advertencia:

Al agregar o quitar un asunto de pool-admin, todos los hosts del grupo pueden tardar unos segundos en aceptar sesiones ssh asociadas con este asunto.

Auditoría

El registro de auditoría RBAC registra cualquier operación realizada por un usuario conectado.

  • 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.

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

Comandos de CLI de log de auditoría

El siguiente comando descarga en un archivo todos los registros disponibles del archivo de auditoría RBAC en el grupo. Si el parámetro opcional ‘since’ está presente, entonces solo descarga los registros desde ese punto específico en el tiempo.

xe audit-logget [since = timestamp] filename = nombre de archivo de salida

Para obtener todos los registros de auditoría del grupo

Ejecute el siguiente 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 de milisegundos

Ejecute el siguiente comando:

xe audit-log-get since = 2009-09-24T 17:56:20 .530Z \
filename = / tmp/auditlog -pool-actions.out

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

Ejecute el siguiente comando:

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