1、多租户基础概念:什么是多租户(Multi-Tenancy)、租户与用户的区别、多租户在签名链路中的典型应用场景
1.1 什么是多租户(Multi-Tenancy)
多租户(Multi-Tenancy)是一种软件架构模式,指单个软件实例能够同时为多个独立的组织(租户)提供服务,同时确保每个租户的数据、配置、权限和性能彼此隔离。在云签名链路中,多租户意味着同一套签名服务集群可以承载不同企业客户(如银行、政务平台、电商)的电子签名请求,而每个企业只能访问自己的密钥、证书、模板和审计日志。
核心特征: 共享基础设施 + 逻辑隔离 + 按租户定制策略。
多租户与单租户(Single-Tenancy)的关键对比如下:
| 对比维度 | 单租户架构 | 多租户架构 |
|---|---|---|
| 实例数量 | 每个客户独立部署一套实例 | 所有客户共享一套实例 |
| 资源利用率 | 低,存在大量空闲资源 | 高,通过共享降低运维成本 |
| 隔离粒度 | 物理/虚拟机级隔离 | 逻辑/数据级隔离 |
| 升级维护 | 逐个客户升级,周期长 | 一次升级,所有租户生效 |
| 适用场景 | 高安全合规要求(如金融核心) | SaaS 化签名平台、企业级签名中台 |
1.2 租户与用户的区别
在多租户签名链路中,租户(Tenant)和用户(User)是两个不同层级的实体,混淆二者会导致权限隔离设计出现严重漏洞。
| 维度 | 租户(Tenant) | 用户(User) |
|---|---|---|
| 定义 | 一个独立的组织、企业或部门 | 租户内部的具体操作人员 |
| 标识 | 租户 ID(Tenant ID / Org ID) | 用户 ID(User ID / Account ID) |
| 权限范围 | 跨租户隔离边界,决定可见的数据集 | 租户内的角色权限(管理员、操作员、审计员) |
| 生命周期 | 长期稳定,随合同/入驻创建 | 可频繁变动,入职/离职/转岗 |
| 签名链路影响 | 决定密钥容器、证书链、签名策略 | 决定是否允许发起/审批/撤销签名 |
实践原则: 在签名链路中,先鉴租户,后鉴用户。所有 API 请求必须携带 Tenant ID,服务端先验证该租户是否有效、是否被禁用,再验证用户身份和权限。
1.3 多租户在签名链路中的典型应用场景
在电子签名全链路中,多租户架构主要解决以下三类核心场景的权限隔离问题:
- 企业级签名中台: 集团企业为下属多个子公司或事业部提供统一的签名能力,每个子公司作为独立租户,拥有独立的印章管理、审批流程和审计日志。
- SaaS 签名服务平台: 云服务商为不同行业客户(金融、医疗、政务、电商)提供签名 API,每个客户是一个租户,租户之间密钥隔离、证书隔离、调用配额隔离。
- 混合云签名网关: 企业内部部署签名网关,对接多个外部合作方(供应商、渠道商、监管机构),每个外部组织作为一个租户,通过租户 ID 路由到不同的签名策略和密钥存储区。
常见误区: 仅通过用户角色(RBAC)做隔离,而忽略租户级隔离。例如,用户 A 属于租户 X,如果系统只校验用户角色而不校验租户 ID,用户 A 可能通过篡改请求参数访问租户 Y 的签名密钥或证书,造成严重的数据泄露。
下表总结了三个典型场景的隔离要点:
| 场景 | 租户划分依据 | 隔离重点 | 签名链路影响 |
|---|---|---|---|
| 企业级签名中台 | 子公司 / 事业部 | 印章模板、审批流、审计日志 | 每个租户独立配置签名策略 |
| SaaS 签名平台 | 外部客户组织 | 密钥容器、证书链、API 配额 | 租户级限流、租户级密钥轮换 |
| 混合云签名网关 | 外部合作方 / 监管机构 | 网络隔离、签名策略、合规审计 | 租户 ID 路由到不同签名集群 |
关键结论: 多租户是签名链路权限隔离的第一道防线。没有正确的租户划分,后续的用户权限、密钥管理、审计追溯都将失去根基。在架构设计阶段,必须将 Tenant ID 作为所有核心表、缓存键、日志标签的必选字段。