👤 Empleados, perfiles y permisos

Actualizado: 2024-12-01

Cada persona que accede al Back Office de PrestaShop deberia tener su propia cuenta individual con los permisos minimos necesarios para realizar su trabajo. Compartir cuentas o usar la cuenta de SuperAdmin para todo es un riesgo de seguridad importante y dificulta la auditoria de cambios. Esta guia explica como configurar correctamente la gestion de acceso a tu tienda.

#Por que gestionar empleados correctamente

RazonExplicacion
SeguridadSi un empleado comete un error o su cuenta se ve comprometida, el daño se limita a sus permisos
AuditoriaPuedes rastrear quien hizo cada cambio en la tienda (cambios de estado, ediciones de producto, etc.)
ProductividadCada empleado ve solo las secciones relevantes para su trabajo, sin distracciones
Cumplimiento legalAlgunas regulaciones exigen control de acceso a datos personales (RGPD, PCI DSS)
OffboardingAl dejar la empresa, desactivas su cuenta individual sin afectar a nadie mas

#Crear y gestionar empleados

Los empleados se gestionan desde Parametros avanzados > Equipo > Empleados.

CampoObligatorioNotas
NombreSiNombre real del empleado
ApellidosSiApellidos del empleado
EmailSiSe usa para login y para recibir notificaciones (nuevos pedidos, stock bajo, etc.)
ContrasenaSiMinimo 8 caracteres. Recomendado: 12+ con mayusculas, minusculas, numeros y simbolos
PerfilSiDetermina los permisos: SuperAdmin, Logistica, Vendedor, etc.
Pagina por defectoSiLa primera pagina que ve al loguearse. Ej: Dashboard para admin, Pedidos para logistica
Idioma del BOSiIdioma de la interfaz del Back Office para este empleado
ActivoSiDesactivar impide el login sin eliminar la cuenta
AvatarNoImagen de perfil que aparece en el Back Office
Suscripcion a newsletter PSNoRecibir noticias de PrestaShop sobre actualizaciones y modulos
⚠️
Nunca compartas la cuenta de SuperAdmin

La cuenta de SuperAdmin tiene acceso total e irrestricto a toda la tienda, incluyendo la eliminacion de datos, instalacion de modulos y acceso a la base de datos. Si multiples personas usan esta cuenta, no podras saber quien hizo cada cambio. Crea cuentas individuales con perfiles adecuados para cada miembro del equipo.

#Perfiles predefinidos vs personalizados

PrestaShop incluye un perfil predefinido (SuperAdmin) y te permite crear tantos perfiles personalizados como necesites. Los perfiles se gestionan desde Parametros avanzados > Equipo > Perfiles.

Perfil sugeridoAcceso aSin acceso aPara quien
SuperAdminTodo — acceso completo e irrestrictoNadaPropietario, CTO o administrador principal. Maximo 1-2 personas
Gestor de tiendaPedidos, clientes, catalogo, descuentos, estadisticasModulos, temas, configuracion avanzada, empleadosResponsable de operaciones diarias
LogisticaPedidos (ver y cambiar estado), stock, transportistasPrecios, clientes completos, modulos, configuracionPersonal de almacen y envios
Atencion al clienteClientes (ver), pedidos (ver y anadir mensajes), devolucionesProductos, precios, modulos, configuracionEquipo de soporte y postventa
MarketingDescuentos, reglas de precios, paginas CMS, estadisticas, newsletterConfiguracion tecnica, modulos, empleadosEquipo de marketing y contenido
Content ManagerProductos (crear/editar), categorias, imagenes, CMSPedidos, clientes, configuracion, preciosCreador de contenido y catalogo
DesarrolladorModulos, temas, parametros avanzados, webserviceDatos de clientes reales, pedidos con datos personalesAgencia o freelance tecnico
Solo lecturaTodo en modo visualizacionCrear, editar o eliminar nadaContable, auditor, consultor externo
Crear un perfil personalizado
text
Parametros avanzados > Equipo > Perfiles > Anadir nuevo perfil

1. Nombre: 'Logistica'
   (multiidioma si tienes el BO en varios idiomas)

2. Guardar

3. Ir a Parametros avanzados > Equipo > Permisos
   - Seleccionar el perfil 'Logistica' en el desplegable
   - Marcar/desmarcar permisos por seccion:

     Pedidos:           VER [x]  ANADIR [ ]  EDITAR [x]  ELIMINAR [ ]
     Stock:             VER [x]  ANADIR [ ]  EDITAR [x]  ELIMINAR [ ]
     Productos:         VER [x]  ANADIR [ ]  EDITAR [ ]  ELIMINAR [ ]
     Clientes:          VER [ ]  ANADIR [ ]  EDITAR [ ]  ELIMINAR [ ]
     Transportistas:    VER [x]  ANADIR [ ]  EDITAR [ ]  ELIMINAR [ ]
     Modulos:           VER [ ]  ANADIR [ ]  EDITAR [ ]  ELIMINAR [ ]
     Configuracion:     VER [ ]  ANADIR [ ]  EDITAR [ ]  ELIMINAR [ ]
     Empleados:         VER [ ]  ANADIR [ ]  EDITAR [ ]  ELIMINAR [ ]

4. Guardar permisos

5. Crear empleado con este perfil:
   Parametros avanzados > Equipo > Empleados > Anadir nuevo
   - Perfil: Logistica
   - Pagina por defecto: Pedidos

#Configurar permisos por pagina y accion

La matriz de permisos (Parametros avanzados > Equipo > Permisos) define exactamente que puede hacer cada perfil en cada seccion del Back Office.

PermisoQue permiteEjemplo
VERAcceder a la pagina y visualizar los datosVer la lista de pedidos, abrir el detalle de un pedido
ANADIRCrear nuevos registrosCrear un producto nuevo, registrar un cliente manualmente
EDITARModificar registros existentesCambiar el estado de un pedido, editar el precio de un producto
ELIMINARBorrar registrosEliminar un producto, borrar una direccion de cliente

La matriz se presenta como una tabla con todas las secciones del BO en filas y las 4 acciones en columnas. Para cada combinacion de perfil-seccion-accion puedes activar o desactivar el permiso individualmente.

💡
Principio de minimo privilegio

Asigna siempre los permisos minimos necesarios para que el empleado pueda realizar su trabajo. Es mas facil (y mas seguro) empezar con pocos permisos y anadir mas cuando sea necesario, que dar acceso completo y luego intentar restringirlo. Revisa los permisos trimestralmente.

#Permisos de modulos

Ademas de los permisos por seccion del BO, hay una pestana separada para los permisos de modulos. Puedes controlar que perfiles tienen acceso a ver, configurar, desinstalar o desactivar cada modulo instalado.

Permiso de moduloQue permite
VerAcceder a la pagina de configuracion del modulo
ConfigurarModificar los ajustes del modulo
DesinstalarEliminar el modulo del sistema
Activar/DesactivarHabilitar o deshabilitar el modulo sin desinstalarlo
⚠️
Restringir la instalacion de modulos

Solo los perfiles de SuperAdmin y Desarrollador deberian tener permiso para instalar modulos. Un modulo malicioso puede comprometer toda la tienda, robar datos de clientes o inyectar codigo. El permiso de instalacion de modulos es el mas critico despues del acceso a base de datos.

#Seguridad del Back Office

El Back Office es la puerta de entrada a toda la informacion sensible de tu tienda: datos de clientes, pedidos, configuracion financiera y mas. Protegerlo adecuadamente es fundamental.

Medida de seguridadComo implementarlaNivel de importancia
Renombrar la carpeta adminYa viene con nombre aleatorio en la instalacion (ej: admin473xk). NUNCA cambiarlo a /adminCritica
SSL obligatorioPreferencias > General > Activar SSL en todas las paginas. Redirigir HTTP a HTTPSCritica
Contrasenas fuertesMinimo 12 caracteres con mayusculas, minusculas, numeros y simbolos. Cambiar cada 90 diasCritica
No reutilizar contrasenasLa contrasena del BO no debe usarse en ningun otro servicioAlta
Limitar intentos de loginModulo de seguridad o configuracion del servidor (fail2ban)Alta
HTTPS en todo el sitioCertificado SSL (Let's Encrypt gratuito o comercial)Critica
Actualizaciones al diaMantener PrestaShop y todos los modulos actualizadosAlta
Backup regularBackup diario de BD y archivos. Probar la restauracion periodicamenteCritica
Restringir acceso por IPEn .htaccess del directorio admin, limitar a IPs conocidasMedia (si es posible)
Restringir acceso al Back Office por IP (Apache .htaccess)
text
# Colocar en el .htaccess dentro de la carpeta admin
# Solo permite acceso desde las IPs especificadas

<IfModule mod_authz_core.c>
    # Apache 2.4+
    Require ip 83.45.123.456
    Require ip 91.78.234.567
    Require ip 10.0.0.0/8
</IfModule>

<IfModule !mod_authz_core.c>
    # Apache 2.2
    Order deny,allow
    Deny from all
    Allow from 83.45.123.456
    Allow from 91.78.234.567
    Allow from 10.0.0.0/8
</IfModule>

Nota: Si trabajas con IP dinamica, esta medida puede
ser impractica. En ese caso, considera usar VPN para
obtener una IP fija desde la que acceder al BO.

#Autenticacion en dos factores (2FA)

La autenticacion en dos factores anade una capa extra de seguridad: ademas de la contrasena, el empleado necesita un codigo temporal generado por una app en su movil.

AspectoDetalle
Que es 2FADespues de introducir email y contrasena, se pide un codigo de 6 digitos que cambia cada 30 segundos
Apps compatiblesGoogle Authenticator, Microsoft Authenticator, Authy, 1Password
Como activar en PSInstalar un modulo de 2FA desde el marketplace (ej: Google Authenticator for Back Office)
Configuracion por empleadoCada empleado escanea un codigo QR con su app y queda vinculado
Codigos de recuperacionEl modulo genera codigos de un solo uso por si se pierde acceso al movil
Para quien activarMinimo para SuperAdmin y cualquier perfil con acceso a datos sensibles o configuracion
CosteAlgunos modulos 2FA son gratuitos, otros son de pago (15-40 EUR)
💡
2FA es imprescindible para el SuperAdmin

La cuenta de SuperAdmin tiene poder absoluto sobre la tienda. Si alguien obtiene la contrasena (phishing, brecha de datos, fuerza bruta), puede causar dano irreparable. El 2FA hace que la contrasena sola no sea suficiente para acceder. Es la medida de seguridad con mejor relacion coste/beneficio.

#Gestion de sesiones

ConfiguracionDondeRecomendacion
Duracion de la sesionphp.ini: session.gc_maxlifetime3600 segundos (1 hora) para el BO. Sesiones largas son un riesgo
Cierre automatico por inactividadDepende del modulo/configuracion del servidorCerrar sesion tras 30-60 minutos de inactividad
Una sesion por empleadoDepende de la configuracion de PS y modulosEvitar que la misma cuenta este logueada en multiples dispositivos
Cookie seguraphp.ini: session.cookie_secure = 1La cookie de sesion solo se envia por HTTPS
HttpOnlyphp.ini: session.cookie_httponly = 1La cookie no es accesible desde JavaScript (proteccion XSS)
Cerrar sesion al salirHabito del empleadoSiempre cerrar sesion al terminar de trabajar, especialmente en equipos compartidos

#Buenas practicas y auditoria

💡
Checklist de gestion de empleados

1. Una cuenta por persona — nunca compartir credenciales. 2. Usar perfiles con permisos minimos necesarios. 3. Activar 2FA al menos para SuperAdmin. 4. Desactivar inmediatamente cuentas de exempleados. 5. Revisar permisos trimestralmente. 6. Cambiar contrasenas cada 90 dias. 7. No usar la cuenta de SuperAdmin para tareas diarias. 8. Mantener un registro de quien tiene acceso al BO.

EventoAccion recomendada
Nuevo empleado se incorporaCrear cuenta con perfil adecuado. Formar sobre el uso del BO. Documentar el acceso
Empleado cambia de puestoRevisar y ajustar permisos al nuevo rol. No acumular permisos del puesto anterior
Empleado deja la empresaDesactivar cuenta inmediatamente. Cambiar contrasenas compartidas (si las habia). Revocar acceso VPN/SSH
Sospecha de acceso no autorizadoCambiar todas las contrasenas. Revisar logs. Verificar que no se hayan instalado modulos maliciosos
Revision trimestralListar todos los empleados activos. Verificar que los permisos siguen siendo adecuados. Eliminar cuentas inactivas
Consulta rapida: listar empleados activos y su perfil (phpMyAdmin)
sql
SELECT
    e.id_employee,
    e.firstname,
    e.lastname,
    e.email,
    p.name AS perfil,
    e.last_connection_date AS ultima_conexion,
    e.active
FROM ps_employee e
INNER JOIN ps_profile_lang p
    ON p.id_profile = e.id_profile
    AND p.id_lang = 1
ORDER BY e.active DESC, e.last_connection_date DESC;
⚠️
Acceso de agencias y desarrolladores externos

Cuando contratas una agencia o freelance para trabajar en tu tienda, crea una cuenta especifica con perfil 'Desarrollador' limitado a modulos y configuracion tecnica, sin acceso a datos de clientes ni pedidos reales. Al terminar el proyecto, desactiva la cuenta. Nunca compartas tu cuenta de SuperAdmin con terceros.

Descargar en Markdown Pensado para pegar en ChatGPT, Claude u otra IA. Incluye solo el contenido de esta pagina.