企业级 IAM 平台中的 App-Manage(应用管理系统)完整、可落地的详细说明
这不是浅层概述,而是面向“架构设计 + 平台能力 + 接入治理 + 路线图”的全景解析,适用于你构建 IAM 基础设施。
内容包括:
- App-Manage 在 IAM 整体架构中的定位
- 核心目标
- 核心能力模型
- 数据模型(概念、字段边界)
- 交互设计(流程级)
- 权限与安全治理
- 与外部系统的集成(CMDB、审计中心、权限中心)
- App 管理生命周期
- 扩展能力
- 对你的 IAM 平台建设的落地建议
1. IAM 中 App-Manage 的定位
App-Manage 是 IAM 平台的最底座之一,其作用类似于:
- AWS Console 的“应用注册中心”
- Auth0/Okta 的“Applications”
- OAuth/OpenID 的“Client Registry”
- API Gateway 的“开发者应用”
它是整个 IAM 体系的中心枢纽,决定下述系统能否正常运行:
- 权限系统(resource、action、role、policy)
- OAuth2 / Token / SSO
- 审计中心(操作来源 必须绑定 App)
- API Gateway(appKey、secret、回调配置)
- 服务集成(MQ、数据库、内外部服务调用)
一句话:
App-Manage 是企业内部所有“系统 / 服务 / 应用 / 接入方”的唯一身份源(唯一 App Registry)。
没有它,你没法做到权限统一、审计统一、接入统一。
2. App-Manage 的核心目标
企业级 IAM 的 App-Manage 主要解决四类问题:
(1) 应用身份统一
为每个应用生成唯一身份:
- appId
- appKey/clientId
- appSecret
- 安全策略
- 类型(内部系统 / 外部合作方 / 服务类应用)
(2) 接入能力标准化
需要标准化应用的“接入能力”,包括:
- 单点登录(SSO)协议:OIDC、OAuth2、SAML
- 回调地址
- Token 策略
- Scope 权限
- API 调用凭证
(3) 权限体系绑定
应用的权限资源只能在应用创建后初始化:
- resource tree
- actions
- resource-action mapping
- resource-permission
- data-scope
- role 模板
- 默认策略
App 是权限系统的“命名空间根节点”。
(4) 审计和可观测性统一
所有行为必须关联 appId:
- 操作审计
- 服务调用审计
- 登录日志
- 用户行为日志
- 异常告警来源
否则你无法做到 RCA(根因分析)和链路追踪。
3. App-Manage 的核心能力模型
一个完整成熟的 App-Manage 平台应具备以下能力:
3.1 应用全生命周期管理
- 创建(手动创建或 CMDB 同步)
- 接入配置
- 开发者管理
- 环境管理(DEV、TEST、PROD)
- 安全策略配置
- 权限模型初始化
- 变更记录
- 下线与归档
3.2 应用凭证管理
- 自动生成 clientId / clientSecret
- 支持密钥轮换(分阶段启用)
- 支持密钥权限范围(scope、resource)
- 支持 API Gateway 集成
3.3 应用协作管理
- 绑定应用负责人(Owner)
- 多人协作管理
- 权限划分(Owner / Maintainer / Auditor)
3.4 应用接入(Integration)
- 回调地址
- 登录协议(OIDC、OAuth2)
- 接入方式(Web、Mobile、Server、CLI)
- 重定向配置
- Token 配置(TTL、Refresh、签名方式、使用策略)
3.5 权限模型绑定
应用一旦创建,自动生成:
- resource root
- app-action 集合
- app-scope
- 默认 role 模板
3.6 与 CMDB(或 DevOps)同步
可选:
- 同步基础应用元数据
- 同步负责人、部门、环境
- 推送接入信息给 CI/CD、APM、监控平台
4. App-Manage 的数据模型(建议版)
核心表结构可围绕以下 6 大实体:
| 实体 | 描述 |
|---|---|
| app | 应用基础信息 |
| app_env | 应用环境(dev/test/prod) |
| app_credential | 应用凭证(clientId/secret) |
| app_integration | 接入配置(OAuth/回调) |
| app_owner | 负责人、协作成员 |
| app_audit | 应用变更轨迹 |
核心字段建议
app
| 字段 | 描述 |
|---|---|
| app_id | 应用唯一标识 |
| app_code | 应用编码(对齐 CMDB,可选) |
| app_name | 应用名称 |
| app_type | 系统、服务、外部三方、机器人、OAuth client 等 |
| status | 可用状态 |
| description | 描述 |
app_credential
用于 OAuth / API Gateway:
| 字段 | 描述 |
|---|---|
| client_id | 应用凭证 ID |
| client_secret | 密钥 |
| expire_at | 过期时间 |
| scopes | 权限范围 |
| status | 是否启用 |
app_integration
| 字段 | 描述 |
|---|---|
| login_protocol | OIDC/OAuth2/SAML/无认证 |
| redirect_uris | 回调地址 |
| token_policy | token 相关配置 |
| logout_uri | 登出地址 |
5. 交互设计(流程)
(1) 创建应用流程
- 选择应用类型(系统 / 服务 / 外部应用)
- 填写基本信息(名称、描述)
- 配置负责人
- 选择接入方式
- 自动生成 clientId / secret
- 配置回调地址
- 自动初始化权限资源树
- 应用创建成功
(2) 键值轮换流程
- 点击“轮换密钥”
- 生成新 clientSecret(双 Secret 并行, old+new 同时有效)
- 设置生效时间
- 下线旧 Secret
该流程保障无缝迁移。
(3) 应用下线流程
- 提交下线申请
- 检查所有用户绑定权限
- 检查资源是否使用中
- 下线/归档(逻辑删除)
- 回写到审计中心、CMDB
6. 权限与安全治理要点
IAM 中 App-Manage 不是“纯粹的应用列表”,它必须具备安全治理能力:
- 资源树以 app 为根
- app 必须绑定权限命名空间
- app 的所有调用行为必须审计
- app 凭证必须有权限范围(scopes)
- 支持多环境隔离
7. 与外部系统的集成能力
App-Manage 是 IAM 中唯一需要与多系统互联的模块:
与 CMDB
- 同步应用基础信息(可选)
- 回写负责人数据
与审计中心
- appId 是审计日志的核心字段
- 所有操作都必须记录 audit trail
与权限中心(resource/role/policy)
- app 创建后自动初始化资源 namespace
- 每个 app 的 resource action 结构独立管理
与 SSO/OAuth
- 提供 clientId/secret
- 提供回调地址
- 维护授权协议
与 API Gateway
- app-key / secret 管理
- 权限 scope 对接网关
- 统一服务方身份
8. 应用生命周期管理
企业级 IAM 要求应用具备标准化生命周期:
- Application Created
- Configuration Required
- Integration Completed
- Testing
- Production Ready
- Active
- Deprecated
- Archived
App-Manage 应提供状态流转管理机制,以支持治理和审计要求。
9. 扩展能力(高级版)
随着平台发展,可以扩展以下能力:
- API 可观测性(绑定 Gateway)
- SLA 监测
- 责任链模型:Owner → Maintainer → Auditor
- 应用合规扫描
- 应用风险评估
- 接入分级(L1/L2/L3)
- 跨租户应用(多租户 IAM)
- OAuth1P/2P/3P 能力
10. 对你当前 IAM 系统的落地建议
结合你目前在建设的:
- RBAC+ 权限体系
- 审计中心
- OpenAPI / 外部调用
- SDK 化
- 应用接入生态
我建议:
第一阶段(基础)
- app CRUD
- clientId/secret
- resource 根节点初始化
- audit 绑定
第二阶段(接入)
- OAuth 接入
- scope 权限
- secret rotation
- 单点登录
