Gestión de Roles¶
Aqui se enumeran las tareas más comunes para administrar roles en Proxmox (PVE).
Todos los comandos se basan en la utilidad pveum (Proxmox User Manager) y deben ejecutarse como root o mediante sudo.
Listar Roles Existentes¶
Para listar todos los roles definidos en el sistema:
pveum role list
Esto muestra tanto los roles integrados como los personalizados.
Mostrar Privilegios Asignados a un Rol¶
Para inspeccionar qué privilegios están asignados a un rol:
pveum role list | grep <nombre_rol>
Para una salida legible por máquina:
pveum role list --output-format json
Ejemplo:
pveum role list --output-format json | jq '.[] | select(.roleid=="MiRolPersonalizado")'
Listar Todos los Privilegios Disponibles¶
Para ver todos los privilegios que se pueden asignar a los roles:
pveum role list-privileges
Esto es esencial al diseñar roles personalizados con el mínimo privilegio.
Crear un Rol Personalizado¶
Los roles se utilizan para definir un conjunto de permisos para los usuarios y grupos a los que se asigna este rol.
pveum role add <nombre-rol> -privs <privilegios>
Donde:
<nombre-rol>es el nombre del rol a crear.-privs <privilegios>, deben estar separados por espacios y encerrados entre comillas.
Ejemplo:
pveum role add gestor-vm -privs "VM.PowerMgmt VM.Config.CDROM"
Este comando crea un rol llamado gestor-vm con permisos para administrar la configuración de energía de la VM y configurar CD-ROM.
Modificar un Rol Existente¶
Para reemplazar todos los privilegios de un rol existente:
pveum role modify MiRolPersonalizado -privs "VM.PowerMgmt VM.Config.Disk"
Esta operación sobrescribe el conjunto de privilegios anterior.
Clonar un Rol Existente¶
Para duplicar un rol (común al extender roles integrados):
pveum role add MiNuevoRol -clone PVEVMUser
Luego puede modificar el rol clonado según sea necesario.
Eliminar un Rol Personalizado¶
Para eliminar un rol:
pveum role delete MiRolPersonalizado
Nota: - El rol no debe estar asignado a ningún usuario o token de API.
Asignar un Rol a un Usuario o Grupo¶
Asignar a un Usuario¶
pveum acl modify /vms/100 -user usuario@pam -role MiRolPersonalizado
Asignar a un Grupo¶
pveum acl modify / -group MiGrupo -role MiRolPersonalizado
Revisar las Asignaciones de ACL¶
Para listar todas las ACL:
pveum acl list
Para filtrar por usuario:
pveum acl list | grep usuario@pam
Probar Permisos Efectivos¶
Si bien no existe un comando directo de «permisos efectivos», puede validar el acceso mediante:
Iniciar sesión como el usuario
Usar un token de API vinculado al rol
Intentar operaciones restringidas (por ejemplo, inicio de VM, acceso a la consola)
Copia de Seguridad y Restauración de la Configuración de Roles¶
Los roles y las ACL se almacenan en:
/etc/pve/user.cfg
Para hacer una copia de seguridad:
cp /etc/pve/user.cfg /root/user.cfg.backup
Restaurar este archivo (en todo el clúster) restaura los roles, los usuarios y las ACL.
Consideraciones¶
Los cambios en los privilegios de los roles son inmediatos y en todo el clúster
Modificar un rol afecta a todos los usuarios que utilizan ese rol
Siempre probar los roles personalizados con usuarios que no sean de producción
Usar
list-privilegescon frecuencia para evitar el exceso de permisos