Odoo 安全和访问控制:保护您的业务数据
您的 ERP 包含最敏感的业务数据 - 财务记录、客户信息、员工详细信息、定价策略和运营指标。配置错误的访问控制可能会将这些数据暴露给未经授权的用户或允许意外(或恶意)修改。 Odoo 提供了分层安全模型,如果配置正确,可以保护数据,同时允许人们完成工作所需的访问权限。
安全层堆栈
Odoo 安全性分为四层,每一层都增加了更细粒度的控制:
- 用户组 — 广泛的访问类别(销售用户、会计经理、人力资源官员)
- 访问权限 — 每个组每个模型的 CRUD 权限(创建、读取、更新、删除)
- 记录规则 — 行级过滤(用户只能看到自己的记录、团队记录或所有记录)
- 字段级访问 — 个别字段限制(对非 HR 用户隐藏薪资字段)
用户组
预定义组
每个 Odoo 模块都定义了与典型组织角色相匹配的用户组。销售模块包括:销售用户(访问自己的销售线索和订单)、销售经理(访问所有销售数据)和管理员(完整配置访问)。
自定义组
为您的组织特有的角色创建自定义组。 “区域经理”组的销售经理访问权限可能仅限于其所在区域的记录。
组层次结构
组可以继承其他组。销售经理继承所有销售用户权限并增加管理功能。这种层次结构减少了配置重复。
访问权限 (ACL)
模型级权限
对于每个组,定义每个模型(数据库表)的权限:读取(查看记录)、创建(创建新记录)、写入(修改现有记录)、删除(删除记录)。
仓库工作人员可能可以读取/写入库存(履行订单),但只能读取产品(无法修改产品信息)。
常用配置
- 只读访问:需要查看数据但不能更改数据的用户
- 创建但不删除:添加记录但无法删除的用户
- 无访问权限:根本不应该看到某些模型的组(对非 HR 隐藏的 HR 数据)
记录规则
基于域的过滤
记录规则应用域过滤器来限制组可以在模型中访问哪些记录。示例:
- 销售用户只能看到分配给他们的潜在客户:
[('user_id', '=', user.id)] - 部门经理查看其部门中的所有记录:
[('department_id', '=', user.department_id.id)] - 多公司隔离:
[('company_id', '=', user.company_id.id)]
全局规则与特定组规则
全局规则适用于所有人(例如多公司隔离)。特定于组的规则仅适用于特定组的成员。组规则是附加的 - 如果用户属于多个组,他们将获得所有适用规则的并集。
现场级安全
敏感场保护
将各个字段标记为仅限于特定组。常见用例:员工工资仅对人力资源和财务可见,客户信用条款仅对销售经理可见,产品成本价格仅对采购和会计可见,以及利润计算仅对管理层可见。
计算字段安全
对于计算字段(利润率、佣金),请确保源数据字段也受到保护。无法看到成本价的用户不应该看到间接显示成本价的保证金字段。
身份验证安全
双因素身份验证 (2FA)
为所有用户启用 2FA,尤其是具有管理或敏感数据访问权限的用户。 Odoo 支持 TOTP(基于时间的一次性密码),与 Google Authenticator、Authy 和类似应用程序兼容。
密码策略
配置密码要求:最小长度、复杂性要求(大写、数字、符号)和有效期。 Lock accounts after repeated failed login attempts.
API密钥管理
使用 API 密钥代替密码进行自动化集成。每个密钥都可以独立撤销,并且记录密钥的使用情况。
审计和监控
变更跟踪
对敏感模型启用更改跟踪以记录:谁更改了什么、何时更改、旧值和新值。这对于财务记录、人力资源数据和任何合规性监管信息至关重要。
登录监控
监控登录活动:成功登录、失败尝试、异常模式(从新位置登录、工作时间外登录)。针对可疑活动设置警报。
会话管理
为非活动用户配置会话超时。管理员可以在需要时查看和终止活动会话(例如,如果设备丢失)。
生产安全最佳实践
- 最小权限原则 — 从最小访问权限开始,根据需要添加权限
- 定期访问审查 — 每季度审核谁有权访问什么内容
- 单独的管理员帐户 — 不要使用管理员帐户进行日常工作
- 保护数据库 — 仅限 DBA 直接访问数据库
- 保持 Odoo 更新 — 安全补丁解决已知漏洞
- 仅使用 HTTPS — 绝不允许未加密的连接
- 备份加密 — 加密静态备份,而不仅仅是实时数据库
- 网络分段 — 将 Odoo 服务器置于防火墙后面,仅打开必要的端口
- 禁用未使用的功能 - 每个启用的模块都是额外的攻击面
- 记录您的安全配置 - 以便可以对其进行审查和复制
我们的 Odoo 支持和维护服务 包括持续的安全审核和配置审查。
常见问题
我可以根据用户组限制菜单可见性吗?
是的。菜单项链接到组。用户只能看到他们有权访问的模块和功能的菜单。这可以保持界面干净并防止混乱。
多公司安全如何运作?
Odoo 中内置了多公司记录规则。分配给特定公司的用户只能看到这些公司的数据。管理员可以在他们有权访问的公司之间切换。
员工离职时会发生什么?
停用(不要删除)用户帐户。这可以保留审计跟踪和历史记录,同时防止访问。从所有组中删除用户并重置其密码。
我可以审核谁访问了特定记录吗?
启用更改跟踪后,您可以查看谁修改了记录。对于读取访问审核,需要自定义日志记录模块或服务器日志分析,因为 Odoo 默认情况下不跟踪读取。
作者
ECOSIRE Research and Development Team
在 ECOSIRE 构建企业级数字产品。分享关于 Odoo 集成、电商自动化和 AI 驱动商业解决方案的洞见。
相关文章
Allegro Marketplace 与 Odoo 集成:波兰领先的电子商务平台
将 Allegro 市场与 Odoo ERP 集成的完整指南,涵盖波兰电子商务的 REST API 设置、Allegro Smart、出价和运输。
Odoo 的应付账款自动化:从发票到付款
在 Odoo 中自动化应付账款,从发票捕获到审批工作流程再到付款执行。降低处理成本并消除逾期付款罚款。
2026 年如何为您的企业选择合适的 CRM
2026 年选择正确 CRM 平台的完整指南,比较 Odoo CRM、Salesforce、HubSpot、GoHighLevel 和 Zoho 的功能、定价、可扩展性和行业契合度。