业级 SSO(AD → Keycloak → RAGFlow)完整生产方案
下面给你一套企业级 SSO(AD → Keycloak → RAGFlow)完整生产方案,目标是:
✔ AD账号即开即用登录
✔ 自动创建RAGFlow用户
✔ AD组 → 角色 → 权限全映射
✔ 支持离职禁用、权限收敛
✔ 可扩展多系统统一SSO
我按“可落地生产标准”给你拆 4 层架构。
一、企业级最终架构(标准模型)
┌────────────────────────┐
│ Windows AD │
│ 192.168.0.5 │
└─────────┬──────────────┘
│ LDAP/LDAPS
▼
┌────────────────────────┐
│ Keycloak (SSO中台) │
│ 192.168.4.16:8081 │
│ │
│ ✔ 用户同步 │
│ ✔ Group管理 │
│ ✔ Token签发 │
└─────────┬──────────────┘
│ OIDC
┌───────────────┼────────────────┐
▼ ▼ ▼
RAGFlow 其他AI系统 运维平台
(你的系统)
二、整体能力设计(企业级必须具备)
✔ 身份层(Identity)
-
AD 作为唯一身份源
-
Keycloak 做统一身份中心
✔ 认证层(Authentication)
-
OIDC(标准 OAuth2)
-
Token JWT
✔ 授权层(Authorization)
-
AD Group → Keycloak Role
-
Role → RAGFlow 权限
✔ 用户生命周期(关键)
-
自动创建用户
-
自动禁用离职账号
-
自动同步组织架构
三、Keycloak 企业级配置(核心)
1️⃣ LDAP 接入 AD(生产级配置)
User Federation → LDAP
核心参数
| 项目 | 值 |
|---|---|
| Vendor | Active Directory |
| Connection URL | ldap://192.168.0.5:389 |
| Bind DN | CN=ldapbind,OU=ServiceAccounts,DC=shuncom,DC=local |
| Users DN | DC=shuncom,DC=local |
| Import Users | ✔ ON |
| Sync Registrations | ✔ ON |
| Edit Mode | READ_ONLY |
2️⃣ 用户同步策略(企业关键)
Periodic Full Sync: 1h
Periodic Changed Users Sync: 10min
3️⃣ 必须开启:用户自动导入
Import Users = ON
四、AD Group → 权限体系(核心设计)
3️⃣ AD组织结构示例
IT_Admins
AI_Users
AI_ReadOnly
Security_Team
4️⃣ Keycloak Group 映射
LDAP Mapper:
-
group-ldap-mapper
-
memberOf
5️⃣ 映射关系设计
| AD Group | Keycloak Role | RAGFlow权限 |
|---|---|---|
| IT_Admins | ragflow-admin | 全权限 |
| AI_Users | ragflow-user | 创建/查询 |
| AI_ReadOnly | ragflow-reader | 只读 |
五、Keycloak → Token 设计(非常关键)
6️⃣ Client Mapper(必须配置)
Client:ragflow
Mapper 1:email(用户唯一ID)
email → email
Mapper 2:groups(关键)
groups → groups
Mapper 3:roles
realm roles → roles
Token最终结构:
{
"email": "8108@shuncom.local",
"groups": ["AI_Users"],
"roles": ["ragflow-user"]
}
六、RAGFlow 企业级配置(核心)
7️⃣ docker-compose 关键配置
你必须统一成下面结构:
environment:
- AUTH_TYPE=oauth2
- OAUTH2_ENABLE=True
- OAUTH2_TYPE=oidc
- OAUTH2_AUTHORIZATION_URL=http://192.168.4.16:8081/realms/shuncom/protocol/openid-connect/auth
- OAUTH2_TOKEN_URL=http://192.168.4.16:8081/realms/shuncom/protocol/openid-connect/token
- OAUTH2_USERINFO_URL=http://192.168.4.16:8081/realms/shuncom/protocol/openid-connect/userinfo
- OAUTH2_CLIENT_ID=ragflow
- OAUTH2_CLIENT_SECRET=xxxx
- OAUTH2_REDIRECT_URI=http://192.168.4.16/oauth/callback
# ⭐关键
- OAUTH2_USER_ID_CLAIM=email
- REGISTER_ENABLED=1
- AUTO_CREATE_USER=true
七、RAGFlow 权限模型设计(企业级重点)
8️⃣ 权限结构
RAGFlow 用户:
User
├── role
│ ├── admin
│ ├── user
│ └── reader
├── group
│ ├── AI_Users
│ └── IT_Admins
9️⃣ 绑定规则
| Keycloak字段 | RAGFlow映射 |
|---|---|
| groups | role group |
| roles | permission |
| user identity |
八、自动用户创建机制(核心能力)
10️⃣ 登录流程
AD登录
↓
Keycloak认证
↓
返回JWT
↓
RAGFlow解析 email
↓
查用户表
↓
不存在 → 自动创建
↓
绑定 role/group
九、企业级增强能力(强烈建议)
✔ 1. 离职自动禁用
Keycloak LDAP:
User Disabled = AD disabled
✔ 2. 权限自动收敛
用户离开 AD group → 自动降权
✔ 3. 多系统SSO扩展
同一 Keycloak:
-
RAGFlow
-
Jenkins
-
GitLab
-
运维平台
-
内部AI Agent
✔ 4. HTTPS(必须)
生产必须加:
Nginx + SSL
十、推荐生产部署拓扑(最终版)
┌──────────────┐
│ Nginx HTTPS │
└──────┬───────┘
│
┌──────────────┴──────────────┐
│ │
RAGFlow UI Keycloak
192.168.4.16 192.168.4.16:8081
│ │
└──────────────┬──────────────┘
│ LDAP
Windows AD
192.168.0.5
十一、你当前系统升级完成后能力
你会得到:
✔ 企业统一账号登录
✔ AD账号即开即用
✔ 自动用户创建
✔ AD组自动权限映射
✔ 多系统SSO统一
✔ 无本地账号维护
✔ 支持组织架构同步
十二、如果你下一步要继续升级(我可以帮你做)
我可以继续帮你做更高级企业能力:
✔ AD组织架构自动同步到RAGFlow空间
✔ 多租户隔离(部门级AI空间)
✔ API级RBAC权限控制
✔ 审计日志 + 登录追踪
✔ LDAP双向同步(写回AD)
只要你说一句:
“升级多租户+权限审计”
我可以帮你把这一套直接升级成完整企业AI平台身份体系。
No Comments