Saltar al contenido

Permisos de acceso y reglas de registro

🔐 ODOO · DESARROLLO · SEGURIDAD

Permisos de acceso y reglas de registro

Las dos capas de seguridad de Odoo: permisos de acceso (CRUD a nivel modelo) y reglas de registro (filtro condicional por registro). Una sin la otra deja huecos de seguridad — usadas juntas, controlan exactamente qué ve y modifica cada grupo.

1¿Qué son?

Restricciones por modelo que controlan qué puede ver, crear, modificar o eliminar un usuario según el grupo al que pertenezca.

2Diferencias clave

📂 Permisos de acceso
Acceso al modelo completo con un conjunto de operaciones. Si ningún permiso coincide con la operación, el usuario no tiene acceso.
🎯 Reglas de registro
Condiciones por registro. Se evalúa registro por registro tras los permisos de acceso para filtrar lo accesible.

3Permisos de acceso — archivos CSV

La forma más común. En la carpeta security/ del módulo, archivo ir.model.access.csv mapeado en __manifest__.py. Ejemplo del módulo de Ventas:

Archivo CSV de permisos de acceso del módulo de ventas

Estructura por columna

Columna Descripción
id Identificador externo del permiso.
name Nombre del permiso de acceso.
model_id:id Modelo al que se aplica (sale.order).
group_id:id Grupo al que aplica el permiso.
perm_read Leer (1=sí, 0=no).
perm_write Actualizar.
perm_create Crear.
perm_unlink Eliminar.

4Probar el permiso en Odoo

Asignamos al usuario el grupo Usuario: solo mostrar documentos propios:

Asignación del grupo al usuario

Como el permiso tiene perm_unlink=0, no podemos eliminar ventas:

Imposibilidad de eliminar ventas debido al permiso

Modificamos a perm_write=0 para impedir actualizar:

Cambio de permiso a perm_write=0
Imposibilidad de editar ventas

También se editan desde Odoo en la sección Permisos de acceso:

Edición de permisos de acceso desde la UI de Odoo

5Reglas de registro — archivos XML

Se crean en archivos XML del módulo. Ejemplo del módulo de Compras:

Regla de registro en XML del módulo de compras
💡 EJEMPLO TÍPICO: MULTI-COMPAÑÍA
La regla anterior indica que los usuarios solo ven compras cuya compañía esté dentro de las compañías activas en Odoo — los usuarios solo acceden a las compras de las compañías a las que tienen acceso.

Permisos perm_* en la regla

A la regla se le puede indicar sobre qué operaciones aplica (los 4 campos perm_*). Si se restringe solo lectura, el usuario puede leer todas pero no editarlas:

Regla con campos perm_unlink, perm_write, perm_read, perm_create

Tras actualizar el módulo, podemos leer compras de otras compañías a pesar de tener otra activa:

Lista de compras mostrando las de otras compañías

Si actualizamos para que la regla aplique solo a lectura:

Regla actualizada para aplicar solo a lectura

Ahora solo vemos las de la compañía activa:

Lista filtrada solo a compras de la compañía activa

También se editan directamente desde Odoo:

Edición de reglas de registro desde la UI

6Consejos rápidos

✅ Solo lo necesario
Evita dar permiso de eliminar a menos que sea imprescindible.
✅ Grupos bien estructurados
Por roles o departamentos — nunca permisos directos a usuarios.
✅ Pruebas con usuarios test
Confirma que solo tienen acceso a lo necesario tras cada cambio.
⚠️ Cuidado con permisos contradictorios
Pertenecer a varios grupos puede generar herencias inesperadas.
💡 Combina ambas capas
Reglas de registro junto con permisos de acceso — una sin la otra deja huecos.

📌 En resumen

Permisos de acceso (CSV) y reglas de registro (XML) son las dos capas de seguridad de Odoo. Una controla qué modelos, la otra qué registros. Bien combinadas, definen exactamente qué ve y modifica cada usuario. En Exdoo diseñamos esquemas de seguridad robustos en cada implementación de Odoo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¿Te gustaría implementar Odoo en tu empresa?

12 años de experiencia · +60 implementaciones exitosas · Partner Gold de Odoo en México

Hablemos por WhatsApp