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 中心,滿足等保要求 |