0%

统一身份管理与授权

通过建立共享服务层,实现系统间的统一登录、集中授权和用户数据同步,从而避免功能重复并确保数据一致性


一、 整合目标与功能说明

目标层级 解决的问题 核心功能 价值体现
第一步:身份认证 用户需要重复登录多个系统。 统一登录 (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

六、 总结

通过统一身份管理与授权方案,可以实现:

  1. 效率提升:单点登录减少重复操作。
  2. 安全增强:调岗、离职权限自动回收,防止越权。
  3. 数据一致:所有系统基于同一用户 ID 与属性。
  4. 架构简化:业务系统聚焦自身功能,身份逻辑由共享层统一处理。

未来可以扩展到 多因子认证 (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

六、总结

通过两层统一身份管理方案,实现:

  1. 效率提升:SSO减少重复登录操作。
  2. 安全增强:权限变更通过API/Webhook半自动化,防止越权。
  3. 数据一致:所有系统基于统一用户ID和属性,应用层维护精简用户表。
  4. 架构简化:合并HRIS和IdP,移除共享服务层,降低初创实施成本。

合规支持(3年内上市)

  • SOX/GDPR:IAM集中认证和API日志支持审计追踪,精简用户表符合数据最小化原则。
  • 建议:集成支持SOC 2/ISO 27001的IdP(如Okta),记录同步和权限操作日志,计划上市前扩展MFA和审计功能。

未来扩展

  • **多因子认证 (MFA)**:在IAM层添加TOTP或短信验证。
  • 零信任访问:基于Token动态验证,增强安全。
  • 共享服务层:规模扩大后引入统一授权服务和缓存,消除应用层精简用户表的重复存储。