IAM 身份权限中心
构建企业统一身份认证与精细化权限管控体系,实现「一个账号,一次认证,全网通行」
核心定位
一句话说清楚:IAM 是所有业务系统的「身份和权限中枢」,统一管理用户的认证、授权、数据权限,让每个子系统不再各自为战。
解决什么问题
| 痛点 | 传统做法 | RuoYiPlus IAM 方案 |
|---|---|---|
| 多系统重复登录 | 每个系统独立登录 | SSO 单点登录,一次认证全网通行 |
| 权限分散难管理 | 各系统自建权限 | 统一 RBAC + 数据权限引擎 |
| 安全风险不可控 | 密码策略不统一 | MFA 多因素 + 密码策略 + 异地登录检测 |
| 合规审计不完整 | 日志分散 | 统一审计事件采集,对接 Audit 中心 |
适合什么样的用户
- 有多个业务系统需要统一身份管理的中大型企业
- 需要通过等保三级认证的机构
- 需要对接第三方系统(OAuth/OIDC/SAML)的平台
用户角色
graph TB
subgraph "IAM 用户角色"
ADMIN["系统管理员
配置认证策略、管理用户"] SECURITY["安全管理员
配置 MFA、密码策略"] DEV["应用开发者
对接 SSO、集成 OAuth"] USER["普通用户
登录认证、访问应用"] end ADMIN -->|管理| USER_POOL["用户池"] SECURITY -->|配置| AUTH_POLICY["认证策略"] DEV -->|集成| SSO_PROTOCOL["SSO 协议"] USER -->|使用| LOGIN["统一登录"]
配置认证策略、管理用户"] SECURITY["安全管理员
配置 MFA、密码策略"] DEV["应用开发者
对接 SSO、集成 OAuth"] USER["普通用户
登录认证、访问应用"] end ADMIN -->|管理| USER_POOL["用户池"] SECURITY -->|配置| AUTH_POLICY["认证策略"] DEV -->|集成| SSO_PROTOCOL["SSO 协议"] USER -->|使用| LOGIN["统一登录"]
核心能力
SSO 单点登录流程
sequenceDiagram
participant User as 用户
participant App1 as 应用A
participant IAM as IAM 认证中心
participant App2 as 应用B
User->>App1: 访问应用A
App1->>IAM: 未认证,302 跳转
User->>IAM: 输入用户名密码
IAM->>IAM: 验证 + MFA
IAM->>App1: 签发 JWT Token
User->>App2: 访问应用B
App2->>IAM: 验证 Token
IAM->>App2: Token 有效
App2->>User: 直接访问,无需再次登录
支持协议
| 协议 | 说明 | 适用场景 |
|---|---|---|
| OAuth 2.0 | 授权框架 | 第三方应用授权 |
| OIDC | 基于 OAuth 2.0 的身份层 | 现代应用 SSO |
| SAML 2.0 | 企业级联合身份 | 传统企业应用 |
| LDAP | 轻量目录访问 | 企业目录集成 |
多因素认证 (MFA)
| 认证方式 | 安全等级 | 说明 |
|---|---|---|
| 密码 + 短信 OTP | ⭐⭐⭐ | 动态短信验证码 |
| 密码 + 邮件 OTP | ⭐⭐⭐ | 邮件验证码 |
| 密码 + TOTP | ⭐⭐⭐⭐ | 时间同步动态口令 |
| 密码 + 硬件 Key | ⭐⭐⭐⭐⭐ | FIDO2/U2F 最高安全 |
权限模型
graph TB
A["用户"] --> B["角色"]
B --> C["菜单权限"]
B --> D["操作权限"]
B --> E["数据权限"]
A --> F["岗位"]
F --> G["角色继承"]
F --> H["数据范围"]
subgraph "数据权限层级"
E1["用户级 (最高)"]
E2["角色级"]
E3["岗位级"]
E4["部门级 (最低)"]
end
E --> E1
E --> E2
E --> E3
E --> E4
技术架构
graph TB
subgraph "IAM 模块"
AUTH["认证服务
登录/MFA/SSO"] USER_MGR["用户管理
用户/部门/岗位"] ROLE_MGR["角色管理
角色/权限/菜单"] PERM_ENGINE["权限引擎
数据权限/字段权限"] AUDIT_CLIENT["审计客户端
事件上报"] end subgraph "外部依赖" REDIS["Redis
Session/Token 存储"] DB["MySQL
用户/权限数据"] SMS["短信服务
OTP 验证码"] MAIL["邮件服务
OTP 验证码"] end AUTH --> REDIS USER_MGR --> DB ROLE_MGR --> DB PERM_ENGINE --> DB AUTH --> SMS AUTH --> MAIL
登录/MFA/SSO"] USER_MGR["用户管理
用户/部门/岗位"] ROLE_MGR["角色管理
角色/权限/菜单"] PERM_ENGINE["权限引擎
数据权限/字段权限"] AUDIT_CLIENT["审计客户端
事件上报"] end subgraph "外部依赖" REDIS["Redis
Session/Token 存储"] DB["MySQL
用户/权限数据"] SMS["短信服务
OTP 验证码"] MAIL["邮件服务
OTP 验证码"] end AUTH --> REDIS USER_MGR --> DB ROLE_MGR --> DB PERM_ENGINE --> DB AUTH --> SMS AUTH --> MAIL
商业价值
| 价值点 | 说明 |
|---|---|
| 一次认证 | SSO 单点登录,减少重复登录 |
| 安全增强 | MFA 多因素 + 密码策略 + 异地检测 |
| 权限统一 | RBAC + 数据权限引擎,精细管控 |
| 合规达标 | 对接 Audit 中心,满足等保要求 |