租户与安全策略
# 租户与安全策略
本文介绍已经初始化的租户内部安全策略。平台开通、停用、到期和套餐操作见 平台租户与套餐。
每个租户有一行安全策略,初始化时与租户在同一事务里创建。策略只有两种完整模式:
| 模式 | 行为 |
|---|---|
| inherit | 使用平台默认,不能在请求里夹带覆盖值 |
| custom | 必须一次提交全部规则,漏传或传 null 不会把有效期悄悄变成 0 |
不支持按字段混用继承和覆盖。策略行缺失、配置损坏或模式未知时拒绝为 503,不会退回更松的默认。
可配置范围:口令长度 8 到 64,有效期 0 到 365 天,失败阈值 1 到 20 次,锁定和空闲 1 到 1440 分钟。复杂度为 off 或 three_of_four。管理口令另外保留至少 14 个字符的下限。平台身份使用平台默认,不读租户覆盖。
登录、刷新、访问认证、本人改密、管理员新建或重置口令,都读当前有效策略。策略把空闲时间改短后,仍停留在旧窗口里的会话会被拒绝,这次失败也不会把活动时间续上。
口令到期后,正确口令仍可进入受限改密。已有的正常 access 或 refresh 会转成受限会话,其他旧会话被撤销。关闭自然过期不会解除已经写下的强制改密。
安全管理员用 system:security-policy:read 和 system:security-policy:update 读写策略,用 system:user:unlock 查看脱敏账号目录并解锁。保存和解锁都要提交最新 version 与操作者口令。解锁清除锁定和失败计数,并撤销旧会话,不能让旧凭证恢复。安全管理员不能借此改口令、角色、停用状态或强制改密标记。
页面在 /system/security-policy。规则细节见 M2 系统管理 中的安全策略一节。
读取当前租户策略(须 system:security-policy:read):
GET /api/admin/v1/system/security-policy
Origin: http://127.0.0.1:5174
X-App-Request: admin
Authorization: Bearer <access>
自定义模式保存须一次提交全部规则字段并携带 version 与 operatorPassword;缺字段不会悄悄继承为 0,损坏配置返回 503001。