跳至内容

Odoo 19 开放 API:分页、限流与审计日志建议

开放 API:鉴权、分页上限、限流与审计
2025年11月3日
Odoo 19 开放 API:分页、限流与审计日志建议

对外部系统暴露 JSON-RPC / REST 时,默认不安全。Odoo 19 至少落实四件事:专用集成用户与 API Key、强制分页、限流、审计日志。禁止把管理员密码发给集成方。本文给出最小安全基线与验收用例。

鉴权与最小权限

创建专用集成用户,只加入必要安全组;使用 API Key / OAuth。按公司隔离;禁止跨公司万能账号。写操作(过账、支付、改价)可另加 IP 白名单或二次确认机制。

分页与字段白名单

强制 limit 上限;拒绝或截断超大 limit。search_read 明确字段列表,默认不返回超大 binary。列表接口返回 next cursor/offset 约定,避免深度分页打爆数据库。

限流与审计

按用户/IP 限流,超额返回 429。审计记录:调用方、模型、方法、耗时、结果码、关键写操作的 before/after 摘要。审计要能回答「昨晚谁改了价格」。

接口规范

错误码稳定;幂等写操作带外部键;文档给出沙箱与生产地址差异。版本升级时维护变更说明,避免集成方静默失败。

验收标准

  • 无 Token 调用被拒。
  • 超大 limit 被截断或报错。
  • 审计能追到某次改价/过账来源。

集成账号与生产沙箱隔离

为每个外部系统建独立集成用户与 API Key,权限按模型白名单收缩。 沙箱库与生产库使用不同 Key,禁止共用。对 search_read 设默认字段黑名单 (如工资、银行账号)。每月导出审计:按用户汇总调用次数、写操作次数、429 次数。 发现异常峰值先禁用 Key 再排查。文档中明确 rate limit 与分页约定,发给集成方签字。

开放 API 的破坏性变更(删字段、改语义)至少提前一个迭代通知集成方,并保留兼容期。

API 发布清单

文档含:鉴权方式、限流数值、最大 limit、字段白名单、错误码表、幂等写说明、沙箱地址。 集成用户禁用 UI 登录(若策略允许)或强制 2FA。对写接口另开审计模型,记录 before/after。 压测证明:超限返回 429;深度分页不会全表扫描失控。密钥轮换流程写进运维手册, 旧 Key 有重叠有效期。禁止在日志打印完整 Token。

变更字段语义时提供版本头或新端点;监控旧端点流量归零再下线。

API 变更窗口建议与集成方季度例会对齐;紧急热修走缩短兼容期但必须书面通知。

预生产勾选表需覆盖文章编号 318 全部验收点后再约生产窗口。

将文章编号 318 的配置变更记入发版说明,便于回滚对照。

将文章编号 318 的配置变更记入发版说明,便于回滚对照。

将文章编号 318 的配置变更记入发版说明,便于回滚对照。

将文章编号 318 的配置变更记入发版说明,便于回滚对照。

密钥与限流运营

每集成方独立 Key;泄露即轮换。监控 429 与写操作峰值。字段黑名单季度回顾。 破坏性 API 变更提前通知并保留兼容期。审计能回答谁改价。沙箱与生产 Key 严禁混用。 文档与 Postman 集合同步更新,集成分发前内部走一次鉴权失败用例。

落地备忘(318-0):把本文验收项做成检查表,预生产逐条勾选并附截图;生产窗口前提交负责人签字。相关模型与字段以当前 Odoo 19 实例开发者模式显示为准。

落地备忘(318-1):把本文验收项做成检查表,预生产逐条勾选并附截图;生产窗口前提交负责人签字。相关模型与字段以当前 Odoo 19 实例开发者模式显示为准。

中国Odoo网|对照 Odoo 19 企业版开放 API 基线:专用密钥、分页限流、写操作可审计。

Odoo 19 开放 API:分页、限流与审计日志建议
2025年11月3日
存档