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