Module Document

06.08 账号管理 · 概要设计文档

基础架构 / IT 资产治理 / 账号管理

1. 顶层设计

账号管理是内部 IT 资产治理模块,核心是账号资产台账和特权访问治理。它登记账号在哪里、谁负责、谁保管、权限多高、是否启用 MFA、凭证引用、何时复核、离职是否回收。

边界:不负责登录认证,不替代 SSO,不保存任何凭证明文。

2. 核心业务流

flowchart LR
  A[发现系统/账号] --> B[登记 AccountAsset]
  B --> C[指定 owner/custodian]
  C --> D[标记 credential_mode;本地/超管/服务凭证绑定 secret_provider + vault_secret_ref]
  D --> E[交互式账号标记 MFA;服务账号 mfa_status=not_applicable]
  E --> F[周期复核]
  F --> G{人员离职/转岗?}
  G -->|是| H[回收/禁用/转交]
  G -->|否| I[继续纳管]
  H --> J[审计留痕]

3. 业务概要设计

能力设计
账号资产登记登记 SaaS、超管、跳板机、服务账号元数据。
特权账号治理对 super_admin/root/admin/bastion_admin 等交互式账号要求 owner、custodian、MFA、凭证引用和复核周期;服务账号不要求 MFA,但必须有 vault 引用、最小权限、owner/custodian 和 rotation_due_at
离职回收HR/SSO 离职事件触发账号盘点,账号进入 pending_review / disabled / transferred。
复核任务按权限级别生成月度/季度复核任务,owner 确认账号仍需保留。
审计证据保存登记、变更、复核、回收动作,不保存密码或 token。

4. 系统边界

负责不负责
IT 账号资产台账、账号 owner/custodian、权限级别、MFA 状态、凭证引用、复核和离职回收状态。用户登录认证、SSO/OIDC/SAML 协议、密码保管、业务系统权限判定、终端用户身份主数据。

5. 系统顶层设计

组件职责
Account Asset WebIT 账号资产列表、详情、筛选、复核和回收视图。
Account Asset API账号资产 CRUD、复核任务、离职回收状态机和审计写入。
Discovery Importer从 SaaS 导出、云账号导出、堡垒机账号导出、手工 CSV 导入账号资产。
Review Scheduler根据 privilege_level 和 last_review_at 生成复核任务。
Audit Ledger记录账号登记、复核、转交、禁用、凭证引用变更。

6. 系统流图

sequenceDiagram
  participant IT as IT Admin
  participant AM as Account Management
  participant Vault as Secret Provider
  participant HR as HR/SSO Event
  participant Audit as Audit Ledger

  IT->>AM: Register AccountAsset
  AM->>Vault: For local/break_glass/service/bastion credentials, validate secret reference metadata exists
  AM->>Audit: account.created
  AM->>AM: Schedule review by privilege_level
  HR->>AM: user.offboarded / role.changed
  AM->>IT: Create offboarding review task
  IT->>AM: Mark disabled/transferred
  AM->>Audit: account.offboarding_closed

7. 模型设计

7.1 AccountAsset

字段说明
account_asset_id主键,UUID/ULID。
providerSaaS/系统提供方,如 feishu、gitlab、aliyun、aws、kingdee、bastion。
system_name系统名称。
account_name脱敏账号标识,可为邮箱、用户名或账号 ID;禁止保存密码。
account_typesaas_usersaas_adminsuper_adminbastion_userbastion_adminservice_account
owner_user_id业务责任人,负责确认账号是否仍需要。
custodian_user_id保管/运维责任人,负责凭证轮换和安全动作。
privilege_levelnormaladminsuper_adminbreak_glassservice
mfa_required仅交互式 admin/super_admin/break_glass/本地管理员/跳板机账号必须启用 MFA;服务账号/API key/CI key 不要求 MFA,mfa_status=not_applicable
mfa_statusenabledmissingunknownnot_applicableexception_approved;例外必须记录 mfa_exception_approved_bymfa_exception_reasonmfa_exception_expire_at
credential_modesso_managedfederatedlocal_passwordbreak_glassservice_keybastion_key。SSO 托管 SaaS 普通账号和外部联邦账号不要求 vault 引用。
secret_provider / vault_secret_reflocal_passwordbreak_glassservice_keybastion_key 必填;只校验引用元数据存在,不读取秘密内容。
rotation_due_at服务账号、本地凭证、break-glass 和 bastion 凭证的下次轮换时间;service_key 必填。
last_review_at最近复核时间。
next_review_at下次复核时间。
offboarding_statusnot_applicablepending_reviewdisabledtransferredexception_approved
statusactivedisabledpending_reviewretired

7.2 禁止字段

8. 验收点

验收点标准
台账覆盖关键 SaaS、超管、跳板机账号已登记。
责任人覆盖owner_user_idcustodian_user_id 不能为空。
凭证引用local_passwordbreak_glassservice_keybastion_key 模式必须有 secret_providervault_secret_refsso_managed / federated SaaS 普通账号允许为空,且不得为满足台账而保存 SaaS 密码。
MFA 覆盖admin/super_admin/break_glass/本地管理员/跳板机交互式账号 MFA 100% enabled 或带过期时间的 exception_approved;服务账号不要求 MFA,但必须有 vault 引用、最小权限和 rotation_due_at
离职回收离职账号进入 offboarding review,关闭状态可审计。
明文秘密表结构、页面、导出、日志中均无密码/token/私钥字段。

9. 人力评估

角色估算
后端/API1 人 2 周
前端1 人 1.5 周
IT/SecOps1 人 1 周梳理初始台账
QA0.5 人 1 周

10. 风险点

风险对策
被误用为密码库文档、模型、验收点明确禁止保存秘密,仅保存引用。
owner/custodian 缺失关键字段必填,缺失账号进入 pending_review。
超管账号共享标记 shared/super_admin 高风险,要求双人复核与 MFA。
离职未回收对接 HR/SSO 离职事件,生成回收任务。
SaaS 导入不完整支持手工补录 + 周期性导出导入 + 复核。