«Me lo contaron y lo olvidé; lo vi y lo entendí; lo hice y lo aprendí».

— Confucio

Crear usuarios en Proxmox VE 8

Proxmox es una potente plataforma de virtualización de código abierto que permite gestionar máquinas virtuales y contenedores desde una interfaz web intuitiva. Una de las funcionalidades más importantes a la hora de administrar este entorno es la gestión de usuarios, ya que permite asignar roles específicos y controlar el acceso a recursos críticos.

Si alguna vez te has preguntado cómo crear usuarios en Proxmox de manera eficiente y segura, esta guía es para ti. Te explicaremos paso a paso el proceso completo, abordando desde la configuración básica hasta la asignación de permisos personalizados. ¡Vamos a ello!

¿Por qué es importante crear usuarios en Proxmox?

Gestionar los usuarios en Proxmox no solo mejora la seguridad, sino que también facilita el trabajo en entornos colaborativos donde múltiples administradores necesitan acceder a la plataforma. Con la correcta gestión de usuarios, puedes:

  • Garantizar el acceso seguro a la plataforma.
  • Asignar permisos específicos según el rol de cada usuario.
  • Monitorear acciones y eventos realizados por diferentes administradores.
  • Facilitar la administración en infraestructuras complejas.

Pasos para crear usuarios en Proxmox

Vamos a desglosar el proceso en sencillos pasos para que puedas replicarlo sin problemas en tu entorno.

Accede a la interfaz de administración

Abre tu navegador web e ingresa la dirección IP o el nombre de host de tu servidor Proxmox. Inicia sesión con tus credenciales de administrador.

Navega a la configuración de usuarios

En el menú de la izquierda, selecciona Datacenter y luego dirígete a la pestaña Permisos. A continuación, selecciona Usuarios para ver la lista de usuarios actuales. Como podemos apreciar, aparece el usuario root.

Crear un nuevo usuario

Haz clic en el botón Agregar. Se abrirá una ventana emergente donde deberás ingresar los siguientes datos:

  • Nombre de usuario: Elige un nombre identificativo.
  • Dominio: Selecciona el dominio (Proxmox VE Authentication Server, si el usuario no esta creado en Linux de forma local).
  • Contraseña: Define una contraseña segura.
  • Comentario: Opcional, pero útil para describir el rol del usuario.

Haz clic en Aceptar para guardar el nuevo usuario.

Métodos de autenticación en Proxmox VE son:

  • Linux PAM Authentication: Utiliza la autenticación estándar del sistema Linux que proporciona una forma flexible de autenticar usuarios.
  • Proxmox VE Authentication Server: Un método de autenticación interno propio de Proxmox.
  • Active Directory/LDAP: Integración con servidores de autenticación externos.

Diferencias entre PAM y Proxmox VE Authentication:

  • PAM: Utiliza la autenticación del propio sistema Linux, es decir, las credenciales del servidor.
  • Proxmox VE Authentication: Es específico de Proxmox y gestiona usuarios propios en la interfaz web.

Roles

Una vez creado el usuario, deberás asignarle un rol, o crear un grupo antes y asígnale permisos a ese grupo, los tipos de roles son:

  • Administrator: tiene todos los privilegios
  • NoAccess: no tiene privilegios (se usa para prohibir el acceso)
  • PVEAdmin: puede realizar la mayoría de las tareas, pero no tiene derechos para modificar la configuración del sistema (Sys.PowerMgmt, Sys.Modify, Realm.Allocate) o permisos (Permissions.Modify)
  • PVEAuditor: tiene acceso de solo lectura
  • PVEDatastoreAdmin: crea y asigna plantillas y espacio de respaldo
  • PVEDatastoreUser: asigna espacio de respaldo y ve el almacenamiento
  • PVEMappingAdmin: gestionar asignaciones de recursos
  • PVEMappingUser: ver y usar asignaciones de recursos
  • PVEPoolAdmin: asignar grupos
  • PVEPoolUser: ver grupos
  • PVESDNAdmin: gestionar la configuración SDN
  • PVESDNUser: acceso a bridges/vnets
  • PVESysAdmin: auditoría, consola del sistema y registros del sistema
  • PVETemplateUser: ver y clonar plantillas
  • PVEUserAdmin: gestionar usuarios
  • PVEVMAdmin: administrar completamente las máquinas virtuales
  • PVEVMUser: ver, realizar copias de seguridad, configurar CD-ROM, consola de VM, administración de energía de VM

Podemos ver estos roles desde la interfaz grafica:

Privilegios

Los privilegios son las acciones que puede relizar un usuario, estas se agrupan en los roles, para luego poder asignarlos a los usuarios.

Son los siguientes.

Privilegios relacionados con el nodo/sistema

  • Group.Allocate: crear/modificar/eliminar grupos
  • Mapping.Audit: ver asignaciones de recursos
  • Mapping.Modify: gestionar asignaciones de recursos
  • Mapping.Use: utilizar asignaciones de recursos
  • Permisos.Modificar: modificar permisos de acceso
  • Pool.Allocate: crear/modificar/eliminar un grupo
  • Pool.Audit: ver un pool
  • Realm.AllocateUser: asigna usuario a un realm o dominio de autenticación
  • Realm.Allocate: crear/modificar/eliminar dominios de autenticación
  • SDN.Allocate: gestionar la configuración de SDN
  • SDN.Audit: ver la configuración de SDN
  • Sys.Audit: ver el estado/configuración del nodo, la configuración del clúster Corosync y la configuración de HA
  • Sys.Console: acceso de consola al nodo
  • Sys.Incoming: permite flujos de datos entrantes de otros clústeres (experimental)
  • Sys.Modify: crear/modificar/eliminar parámetros de red de nodos
  • Sys.PowerMgmt: gestión de energía del nodo (inicio, parada, reinicio, apagado,…)
  • Sys.Syslog: ver syslog
  • User.Modify: crea/modifica/elimina el acceso y los detalles del usuario.

Privilegios relacionados con la máquina virtual

  • SDN.Use: acceda a redes virtuales SDN y los bridges de red local
  • VM.Allocate: crear/eliminar VM en un servidor
  • VM.Audit: ver la configuración de VM
  • VM.Backup: copia de seguridad/restauración de máquinas virtuales
  • VM.Clone: clonar/copiar una VM
  • VM.Config.CDROM: expulsar/cambiar CD-ROM
  • VM.Config.CPU: modificar la configuración de la CPU
  • VM.Config.Cloudinit: modificar los parámetros de Cloud-init
  • VM.Config.Disk: agregar/modificar/eliminar discos
  • VM.Config.HWType: modifica los tipos de hardware emulado
  • VM.Config.Memory: modifica la configuración de la memoria
  • VM.Config.Network: agregar/modificar/eliminar dispositivos de red
  • VM.Config.Options: modifica cualquier otra configuración de VM
  • VM.Console: acceso de consola a VM
  • VM.Migrate: migre la VM a un servidor alternativo en el clúster
  • VM.Monitor: acceso al monitor VM (kvm)
  • VM.PowerMgmt: gestión de energía (inicio, parada, reinicio, apagado,…)
  • VM.Snapshot.Rollback: revierte la VM a una de sus instantáneas
  • VM.Snapshot: crear/eliminar instantáneas de VM

Privilegios relacionados con el almacenamiento

  • Datastore.Allocate: crear/modificar/eliminar un almacén de datos y eliminar volúmenes
  • Datastore.AllocateSpace: asigna espacio en un almacén de datos
  • Datastore.AllocateTemplate: asignar/cargar plantillas e imágenes ISO
  • Datastore.Audit: ver/explorar un almacén de datos

Rutas

En Proxmox, las rutas de permisos (o Paths) determinan el alcance en el que un usuario puede ejercer los permisos asignados. Básicamente, son las ubicaciones dentro de la infraestructura de Proxmox donde se aplican las reglas de acceso. Estas rutas son fundamentales para garantizar una administración segura y eficiente, ya que permiten restringir los privilegios a áreas específicas del entorno.

Las rutas se estructuran de manera jerárquica y pueden abarcar desde todo el clúster hasta recursos específicos. A continuación, te explico las principales rutas que puedes encontrar:

  1. / (Raíz del Clúster)
    • Abarca todo el entorno de Proxmox, incluidos todos los nodos y recursos.
    • Los permisos asignados aquí afectan a todo el clúster.
    • Ejemplo: Asignar el rol PVEAdmin en esta ruta otorga acceso administrativo completo a todos los recursos.
  2. /vms/ (Máquinas Virtuales)
    • Aplica permisos a todas las máquinas virtuales del clúster.
    • Es ideal para usuarios que necesiten gestionar o visualizar todas las VMs.
    • Ejemplo: Asignar PVEVMAdmin para gestionar todas las VMs.
  3. /storage/ (Almacenamiento)
    • Abarca todos los recursos de almacenamiento configurados en el clúster.
    • Ideal para administradores encargados de la gestión de discos y backups.
    • Ejemplo: PVEStorageAdmin para administrar todo el almacenamiento.
  4. /nodes/ (Nodos individuales)
    • Abarca todos los nodos del clúster.
    • Puedes especificar un nodo concreto añadiendo el nombre:
      • /nodes/nodo1/ → Permisos solo en el nodo nodo1.
    • Ejemplo: Asignar PVENodeAdmin para administrar un nodo específico.
  5. /pool/ (Grupos de recursos)
    • Permite asignar permisos a un conjunto de recursos agrupados.
    • Ideal para dividir la infraestructura en grupos administrativos.
    • Ejemplo: PVEPoolAdmin para gestionar todas las VMs en un grupo.
  6. /access/ (Gestión de acceso)
    • Abarca la configuración de autenticación y permisos.
    • Normalmente utilizado por administradores con privilegios elevados.
    • Ejemplo: PVEAdmin o PVESysAdmin para administrar roles y usuarios.
  7. /datastore/ (Almacenamiento de datos)
    • Permite la administración de los almacenes de datos específicos.
    • Ejemplo: Permisos relacionados con backups y volúmenes de almacenamiento.

Teniendo claro la información anterior, ya podemos asignarle permisos a nuestro usuario.

  • Dirígete a la pestaña Permisos nuevamente.
  • Haz clic en Añadir y selecciona Permiso de Usuario.
  • Selecciona la Ruta a la que va a tener accero.
  • Elige el Rol adecuado (como Administrador, Usuario solo lectura, etc.).

Verificación de acceso

Para confirmar que el usuario tiene acceso correctamente:

  • Cierra la sesión de administrador.
  • Inicia sesión con el nuevo usuario para verificar que los permisos asignados funcionan según lo previsto.

Doble Factor de autenticación

El factor de doble autenticación (2FA) en Proxmox es una capa adicional de seguridad que requiere que los usuarios proporcionen dos elementos de verificación al iniciar sesión. Esto mejora la protección de tu infraestructura al reducir el riesgo de accesos no autorizados, incluso si alguien obtiene la contraseña.

¿Por qué usar el doble factor de autenticación en Proxmox?

El 2FA en Proxmox es fundamental para garantizar que solo los usuarios legítimos puedan acceder a la interfaz de administración. Implementar esta capa adicional ofrece beneficios como:

  • Mayor seguridad frente a ataques de fuerza bruta.
  • Protección adicional en entornos con múltiples administradores.
  • Cumplimiento de políticas de seguridad en infraestructuras críticas.

Tipos de doble autenticación en Proxmox

Proxmox ofrece varios métodos de 2FA que puedes configurar según tus necesidades:

  • TOTP (Time-based One-Time Password)
    • Utiliza aplicaciones como Google Authenticator o Authy para generar códigos temporales.
    • El código cambia cada 30 segundos.
    • Es el método más común y fácil de implementar.
  • Yubico OTP
    • Utiliza un dispositivo físico como una llave YubiKey para generar códigos de un solo uso.
    • Es ideal para infraestructuras que requieren alta seguridad.
  • U2F (Universal 2nd Factor)
    • Utiliza dispositivos de hardware como llaves USB o NFC.
    • Ofrece autenticación rápida y segura basada en estándares abiertos.
  • SMS
    • Envía un código de verificación al número de teléfono registrado.
    • Requiere la integración de servicios SMS, lo cual puede ser complejo de configurar.

Cómo configurar el 2FA en Proxmox (TOTP)

Acedemos al apartado de 2FA de los usuarios, en el agregamos un TOTP nuevo, para el usuario que deseemos habilitar el doble factor de autenticación.

Proxmox generará un código QR en la interfaz, utiliza una aplicación de autenticación (como Google Authenticator) para escanearlo e introducir el código de verificación.

Cierra sesión e intenta iniciar sesión con el usuario configurado, ingresa tu contraseña habitual y el código generado por la aplicación de autenticación.

Consejos adicionales para la gestión de usuarios en Proxmox

  • Utiliza contraseñas seguras y políticas de autenticación de dos factores (2FA).
  • Revisa periódicamente los permisos y elimina usuarios innecesarios.
  • Utiliza dominios LDAP o Active Directory para centralizar la autenticación.

Crear usuarios en Proxmox es fundamental para administrar tu infraestructura de virtualización de forma segura y eficiente. Siguiendo estos pasos, podrás crear usuarios con distintos niveles de permisos y garantizar un entorno bien gestionado.

Si esta guía te fue útil, ¡compártela con otros administradores o colegas interesados en Proxmox!