ERP

    Odoo Security and Access Control: Protecting Business Data

    Odoo security controls who can access, create, modify, and delete data. Proper access configuration protects sensitive business information while enabling productivity.

    VT
    9 min read
    Share

    Key Takeaways

    • Odoo security operates on multiple layers: authentication, group-based access, record rules, and field-level controls
    • Access rights (ir.model.access) control CRUD operations per model per user group
    • Record rules filter which specific records within a model each user can see and modify
    • Two-factor authentication and IP restrictions add essential protection for sensitive data access
    • Audit user group assignments quarterly and revoke terminated employee access immediately

    Odoo's Multi-Layer Security Model

    Odoo security operates on multiple levels that work together to provide comprehensive data protection. Understanding each layer helps you configure the right balance between security and usability.

    LayerMechanismScopeManaged By
    AuthenticationLogin credentials + 2FASystem accessAdmin
    Group AccessUser groups per moduleModule featuresAdmin
    Model Access (ACL)CRUD per model per groupData operationsDeveloper
    Record RulesDomain filters per groupRecord visibilityDeveloper
    Field AccessField-level read/writeSensitive fieldsDeveloper
    IP RestrictionNetwork-level filteringConnection sourceSysadmin
    Warning

    Default Odoo installations are permissive. Always review and tighten security groups after installation, especially for accounting, HR, and admin-level access.

    User Groups and Access Rights

    User groups define functional access within each module. Each module provides default groups (User, Manager, Administrator) that grant progressively more access. Assign users to the minimum groups needed for their responsibilities.

    • Access rights (ir.model.access): Define CRUD permissions per model per group
    • Implied groups: Groups that automatically include permissions from other groups
    • Technical groups: Hidden groups for advanced features like analytic accounting or multi-currency
    • Custom groups: Create additional groups when default roles don't match your organizational structure
    • Multi-company groups: Control which companies each user can access and switch between

    Record rules (ir.rule) filter which records a user can access within a model. For example, salespeople see only their own leads, while sales managers see all team leads. Record rules combine with access rights for fine-grained control.

    Field-Level Security and Authentication

    Field-level access controls visibility and editability of specific fields. Mark sensitive information (salary, cost prices, margins, personal data) as accessible only to authorized groups to prevent information leakage.

    1. Enforce minimum password length and complexity requirements for all users
    2. Enable two-factor authentication (2FA) for administrative and financial users
    3. Configure session timeout to auto-logout inactive users after a defined period
    4. Restrict access by IP range for on-premise security or require VPN for remote access
    5. Use HTTPS exclusively and configure SSL certificates for encrypted communications
    Pro Tip

    Enable 2FA for all users who access financial data, HR records, or administrative settings. The minor inconvenience of 2FA is negligible compared to the risk of unauthorized access.

    Audit Logging and Security Reviews

    Audit logging tracks who changed what and when. The tracking feature on sensitive fields records value changes with user and timestamp, providing the documentation needed for compliance and troubleshooting.

    Security TaskFrequencyResponsibleAction
    User access reviewQuarterlyIT AdminVerify group assignments match current roles
    Terminated employee auditOn departureHR + ITRevoke all access immediately
    Record rules reviewAfter reorgsDeveloperUpdate rules for new team structures
    Password policy checkSemi-annuallyIT AdminEnsure compliance with policy
    2FA enrollmentMonthlyIT AdminFollow up on non-enrolled users
    Access log reviewMonthlySecurityCheck for unusual patterns

    Regular security reviews prevent access drift where users accumulate permissions over time as they change roles. Quarterly audits ensure that access rights reflect current responsibilities rather than historical assignments.

    Frequently Asked Questions

    Need Help Implementing This?

    Our team can help you put these insights into practice.

    Schedule a Consultation