通过建立共享服务层,实现系统间的统一登录、集中授权和用户数据同步,从而避免功能重复并确保数据一致性。
一、 整合目标与功能说明
| 目标层级 |
解决的问题 |
核心功能 |
价值体现 |
| 第一步:身份认证 |
用户需要重复登录多个系统。 |
统一登录 (SSO) |
提高员工效率和用户体验,消除重复登录的痛点。 |
| 第二步:授权管理 |
权限分散、复杂,调岗或新员工入职需要手动开通。 |
统一授权 |
权限变更(调岗、离职)自动化,通过身份属性(如“3C品类运营”)驱动权限。 |
| 第三步:数据打通 |
各系统用户数据不一致,无法进行交叉分析。 |
统一用户属性 |
确保所有系统使用唯一的员工 ID 和组织架构数据,为未来数据分析和业务流程打通奠定基础。 |
二、 核心架构设计
为了避免应用系统功能重复,我们采用四层架构,将身份认证、用户管理和授权逻辑集中化。
| 架构层级 |
核心系统名称 |
核心职责 |
技术实现 |
| 1. 身份权威源 |
HRIS / 用户目录 |
存储所有员工最权威、最完整的身份数据(包括组织架构、品类归属等)。 |
数据源 |
| 2. 身份管理中枢 |
中央身份认证服务 (IdP) |
统一登录入口,颁发 Token,是所有身份数据的同步目标和唯一认证出口。 |
OIDC / OAuth 2.0 |
| 3. 共享服务层 |
统一授权与用户服务 |
集中处理所有应用系统的授权查询和用户列表查询,维护用户属性的实时缓存。 |
SCIM 协议 (对外同步) / 内部 API (对应用提供查询服务) |
| 4. 应用层 |
CRM, EDM, WMS, etc. |
专注于自身的业务功能,不存储密码,不进行复杂的授权规则匹配。 |
OIDC 客户端 / 调用共享服务 API |
三、 数据交互流程(三大关键场景)
场景 1:统一登录 (SSO) 与属性传递(OIDC)
| 步骤 |
流程描述 |
关键数据/动作 |
涉及系统 |
| 1. 认证请求 |
用户访问 CRM,被重定向到 IdP 登录。 |
client_id, redirect_uri |
CRM → IdP |
| 2. 身份验证 |
用户在 IdP 成功输入账号密码。 |
用户凭证验证 |
IdP |
| 3. 令牌颁发 |
IdP 颁发包含用户属性的 ID Token。 |
ID Token 包含 user_id, product_category: 3C 等 Claim |
IdP → CRM |
| 4. 权限执行 |
CRM 解析 Token,根据属性动态开通本地权限。 |
会话创建 |
CRM |
场景 2:员工调岗与用户属性同步(SCIM)
| 步骤 |
流程描述 |
关键数据/动作 |
涉及系统 |
| 1. 数据变更 |
员工品类归属在 HRIS 发生变化。 |
用户属性更新 |
HRIS → IdP |
| 2. SCIM 同步 |
IdP 通过 SCIM 协议将最新用户属性同步到统一授权服务。 |
SCIM Update/Patch Request |
IdP → AuthService |
| 3. 数据缓存 |
统一授权服务更新本地缓存的瘦用户表。 |
用户缓存刷新 |
AuthService |
场景 3:管理员查询用户和设置精细权限(共享服务 API)
| 步骤 |
流程描述 |
关键数据/动作 |
涉及系统 |
| 1. 查询请求 |
CRM 管理员搜索用户。 |
API Call: /api/user_info?name=Tom |
CRM → AuthService |
| 2. 结果返回 |
AuthService 从缓存查找并返回用户信息。 |
JSON: {user_id: U123, name: Tom} |
AuthService → CRM |
| 3. 权限分配 |
管理员选中 U123,在 CRM 本地设置权限规则。 |
本地权限规则创建 |
CRM |
四、 系统部署图
graph TD
subgraph A[Source of Truth]
HRIS[HRIS]
end
subgraph B[Identity Management]
IdP[IdP]
end
subgraph C[Shared Services]
AuthService[Authorization Service]
UserCache[User Cache]
end
subgraph D[Applications]
CRM[CRM]
EDM[EDM]
WMS[WMS/OMS/Other]
end
User[User]
User --> IdP
IdP --> HRIS
HRIS --> IdP
IdP --> AuthService
AuthService --> UserCache
IdP --> CRM
IdP --> EDM
IdP --> WMS
CRM --> AuthService
EDM --> AuthService
WMS --> AuthService
AuthService --> UserCache
AuthService --> CRM
五、 核心功能时序图
统一登录 (SSO) 与动态授权时序图
sequenceDiagram
participant User
participant Browser
participant CRM
participant IdP
participant AuthService
participant Cache
User->>Browser: Access CRM
Browser->>CRM: GET /
CRM->>IdP: Redirect (OIDC)
User->>IdP: Enter credentials
IdP-->>Browser: Return Code
Browser->>CRM: Send Code
CRM->>IdP: Exchange Code
IdP-->>CRM: ID Token
CRM->>AuthService: Query Permission
AuthService->>Cache: Lookup
Cache-->>AuthService: Attributes
AuthService-->>CRM: Permission List
CRM-->>User: Login Success
管理员用户搜索与精细权限分配时序图
sequenceDiagram
participant Admin
participant CRM
participant AuthService
participant Cache
Admin->>CRM: Open Permission Page
CRM->>AuthService: Search User (Tom)
AuthService->>Cache: Query
Cache-->>AuthService: User Info
AuthService-->>CRM: User List
CRM-->>Admin: Show Result
Admin->>CRM: Select U123
CRM->>CRM: Save Local Rule
六、 总结
通过统一身份管理与授权方案,可以实现:
- 效率提升:单点登录减少重复操作。
- 安全增强:调岗、离职权限自动回收,防止越权。
- 数据一致:所有系统基于同一用户 ID 与属性。
- 架构简化:业务系统聚焦自身功能,身份逻辑由共享层统一处理。
未来可以扩展到 多因子认证 (MFA)、零信任访问 以及 审计与合规,进一步提升企业安全性和合规性。
统一身份管理方案(两层架构)
通过建立身份管理层,实现系统间的统一登录(SSO)、集中授权和用户数据同步,避免功能重复并确保数据一致性,适合初创企业快速迭代和未来上市合规需求。
一、整合目标与功能说明
| 目标层级 |
解决的问题 |
核心功能 |
价值体现 |
| 第一步:身份认证 |
用户需重复登录多个系统。 |
统一登录 (SSO) |
提高员工效率和用户体验,消除重复登录痛点。 |
| 第二步:授权管理 |
权限分散,调岗/新员工需手动开通。 |
统一授权 |
权限变更(如调岗、离职)半自动化,基于身份属性驱动权限。 |
| 第三步:数据打通 |
系统用户数据不一致,无法交叉分析。 |
统一用户属性 |
确保系统使用唯一员工ID和组织架构数据,支持业务流程优化。 |
二、核心架构设计
采用两层架构,将身份认证、用户管理和授权逻辑集中到身份管理层,应用层聚焦业务功能,降低初创企业实施成本。
| 架构层级 |
核心系统名称 |
核心职责 |
技术实现 |
| 身份管理层 |
IAM(HRIS + IdP) |
存储权威身份数据,提供统一认证、权限映射和用户数据API。 |
OIDC/OAuth 2.0(认证),REST API(查询/同步)。 |
| 应用层 |
CRM, EDM, WMS, etc. |
聚焦业务功能,解析Token,维护精简用户表和本地权限规则。 |
OIDC客户端,调用IAM API。 |
三、数据交互流程(三大关键场景)
场景1:统一登录 (SSO) 与属性传递(OIDC)
| 步骤 |
流程描述 |
关键数据/动作 |
涉及系统 |
| 1. 认证请求 |
用户访问CRM,被重定向到IAM登录。 |
client_id, redirect_uri |
CRM → IAM |
| 2. 身份验证 |
用户在IAM输入账号密码。 |
用户凭证验证 |
IAM |
| 3. 令牌颁发 |
IAM颁发包含用户属性的ID Token。 |
ID Token包含user_id, product_category: 3C等Claim |
IAM → CRM |
| 4. 权限执行 |
CRM解析Token,动态开通本地权限。 |
会话创建 |
CRM |
场景2:员工调岗与用户属性同步(API/Webhook)
| 步骤 |
流程描述 |
关键数据/动作 |
涉及系统 |
| 1. 数据变更 |
员工品类归属在IAM发生变化。 |
用户属性更新 |
IAM |
| 2. 数据同步 |
IAM通过API/Webhook通知应用更新属性。 |
REST API或Webhook推送(如user_id, product_category) |
IAM → CRM/EDM/WMS |
| 3. 本地更新 |
应用更新本地精简用户表。 |
用户表刷新 |
CRM/EDM/WMS |
场景3:管理员查询用户和设置精细权限(API)
| 步骤 |
流程描述 |
关键数据/动作 |
涉及系统 |
| 1. 查询请求 |
CRM管理员搜索用户。 |
API Call: /api/user_info?name=Tom |
CRM → IAM |
| 2. 结果返回 |
IAM返回用户信息。 |
JSON: {user_id: U123, name: Tom} |
IAM → CRM |
| 3. 权限分配 |
管理员在CRM本地设置权限规则。 |
本地权限规则创建 |
CRM |
四、系统部署图
graph TD
subgraph Identity_Management_Layer
IAM[Identity Management]
end
subgraph Application_Layer
CRM[CRM]
EDM[EDM]
WMS[WMS]
end
User[User]
User --> IAM
IAM --> CRM
IAM --> EDM
IAM --> WMS
CRM --> IAM
EDM --> IAM
WMS --> IAM
五、核心功能时序图
统一登录 (SSO) 与动态授权时序图
sequenceDiagram
participant User
participant Browser
participant CRM
participant IAM
User->>Browser: Access CRM
Browser->>CRM: GET /
CRM->>IAM: Redirect (OIDC)
User->>IAM: Enter credentials
IAM-->>Browser: Return Code
Browser->>CRM: Send Code
CRM->>IAM: Exchange Code
IAM-->>CRM: ID Token
CRM-->>User: Login Success
管理员用户搜索与精细权限分配时序图
sequenceDiagram
participant Admin
participant CRM
participant IAM
Admin->>CRM: Open Permission Page
CRM->>IAM: Search User (Tom)
IAM-->>CRM: User Info (user_id: U123, name: Tom)
CRM-->>Admin: Show Result
Admin->>CRM: Select U123
CRM->>IAM: Query Permissions
IAM-->>CRM: Permission List
CRM->>CRM: Save Local Rule
六、总结
通过两层统一身份管理方案,实现:
- 效率提升:SSO减少重复登录操作。
- 安全增强:权限变更通过API/Webhook半自动化,防止越权。
- 数据一致:所有系统基于统一用户ID和属性,应用层维护精简用户表。
- 架构简化:合并HRIS和IdP,移除共享服务层,降低初创实施成本。
合规支持(3年内上市)
- SOX/GDPR:IAM集中认证和API日志支持审计追踪,精简用户表符合数据最小化原则。
- 建议:集成支持SOC 2/ISO 27001的IdP(如Okta),记录同步和权限操作日志,计划上市前扩展MFA和审计功能。
未来扩展
- **多因子认证 (MFA)**:在IAM层添加TOTP或短信验证。
- 零信任访问:基于Token动态验证,增强安全。
- 共享服务层:规模扩大后引入统一授权服务和缓存,消除应用层精简用户表的重复存储。