Skip to main content

业级 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
email 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平台身份体系