数据库设计说明书

项目名称: sup-iam 身份识别与访问管理系统

编写人: 沈冬法

日期: 2025年12月15日

版本号: V1.0


1.设计目标与约束

1.1 设计目标

  • 持久化存储元数据
  • 高效的数据查询
  • 安全的数据存储
  • 可审计的数据处理
  • 可演进的表结构

1.2 设计约束

  • 确保明文存储的SK的安全

2.核心实体关系

我们有三大核心实体

  • User:控制面的登录用户
  • Secret: 密钥资源
  • Policy:权限资源

和一大实体关系

  • Secret和Policy的m:n绑定关系

3.表设计说明

3.1 users表(User)

字段设计表

名称 类型 业务 规模 约束和性质
id bigint 自增主键 20位 主键,自增
instanceID 变字符串 跨域uud 32位 唯一键
username 可变字符串 用户名 255位 唯一键,非空
nickname 可变字符串 昵称 30位 非空
is_enable tinyint 账户是否启用, 1可用,0不可用 1位 非空
phone int 手机号 20位 默认为空
email 可变字符串 邮箱 256位 默认为空
isAdmin tinyint 是否有管理员权限 1位 默认为0
extandShadow longtext 拓展字段 不超过longtext 默认为空
loginedAt timestamp 登录时间 时间戳长度 默认为空
createdAt timestamp 创建时间 时间戳长度 非空
updatedAt timestamp 更新时间 时间戳长度 非空

3.2 secrets表(Secret)

名称 类型 业务 规模 约束和性质
id bigint 自增主键 20位 主键,自增
instanceID 变字符串 跨域uud 32位 唯一键
username 可变字符串 所属用户名 255位 外键,索引键,非空
accessKey 可变字符串 密钥ID 36位 唯一键,非空
secretKey 可变字符串 私钥 255位 非空
expires int 过期时间 64位 默认1534308590
description 可变字符串 密钥描述 255位 默认为空
extandShadow longtext 拓展字段 不超过longtext 默认为空
createdAt timestamp 创建时间 时间戳长度 非空
updatedAt timestamp 更新时间 时间戳长度 非空

3.3 policies审计表(Policy)

名称 类型 业务 规模 约束和性质
id bigint 自增主键 20位 主键,自增
instanceID 变字符串 跨域uud 32位 唯一键
name 可变字符串 策略名称 64位 非空
username 可变字符串 所属用户名 255位 外键,索引键,非空
description 可变字符串 密钥描述 255位 默认为空
policyShadow longtext 策略描述影子字段 不超过longtext 默认为空
extandShadow longtext 拓展字段 不超过longtext 默认为空
createdAt timestamp 创建时间 时间戳长度 非空
updatedAt timestamp 更新时间 时间戳长度 非空

3.4 secret_policy_binding绑定表

名称 类型 业务 规模 约束和性质
id bigint 自增主键 20位 主键,自增
secretID bigint 密钥ID 20位 主键,自增
policyID bigint 策略ID 20位 主键,自增
username 可变字符串 所属用户名 255位 外键,索引键,非空
extandShadow longtext 拓展字段 不超过longtext 默认为空
createdAt timestamp 创建时间 时间戳长度 非空

3.5 secret_policy_binding_autid绑定表

名称 类型 业务 规模 约束和性质
id bigint 自增主键 20位 主键,自增
secretID bigint 密钥ID 20位 主键,自增
policyID bigint 策略ID 20位 主键,自增
username 可变字符串 所属用户名 255位 外键,索引键,非空
extandShadow longtext 拓展字段 不超过longtext 默认为空
createdAt timestamp 创建时间 时间戳长度 非空

3.4 policies_audit审计表(Policy)

名称 类型 业务 规模 约束和性质
id bigint 自增主键 20位 主键,自增
instanceID 变字符串 跨域uud 32位 唯一键
name 可变字符串 策略名称 64位 非空
username 可变字符串 所属用户名 255位 外键,索引键,非空
description 可变字符串 密钥描述 255位 默认为空
policyShadow longtext 策略描述影子字段 不超过longtext 默认为空
extandShadow longtext 拓展字段 不超过longtext 默认为空
createdAt timestamp 创建时间 时间戳长度 非空
updatedAt timestamp 更新时间 时间戳长度 非空