SuperAPI AI 工具集

licensing-tiers-data-governance

安全与审计

查看项目

更新于 10-16 05:29

技能介绍

用途

该技能面向需要构建订阅制 SaaS 产品的开发者,提供一套完整的订阅分级与数据治理框架。其核心目标是在同一套系统中,根据用户所处的订阅层级(Free、Pro、Enterprise)控制字段可见性、功能可用性、API 调用频率以及数据保留与合规要求。

主要能力

订阅层级体系

技能定义了三级订阅层级结构:

  • Free 层级:基础功能、有限数据访问、仅公开数据、速率限制为每天 100 次请求。
  • Pro 层级:包含 Free 全部功能、扩展数据字段、私有数据访问、速率限制为每天 10,000 次请求、数据保留 90 天。
  • Enterprise 层级:包含 Pro 全部功能、完整数据访问、敏感 PII 字段、无限制 API 调用、自定义保留策略、支持 SOC 2 / HIPAA 合规。

字段级访问控制

同一实体在不同层级下可见的字段不同。技能提供了字段访问策略表(field_access_policies)的设计,用于定义每个表、每个字段所需的最低层级、字段分类(public、private、sensitive、pii)以及合规要求。示例中 users 表的 id、username 为公开字段,email、phone 为 Pro 及以上可见,ip_address、payment_method 为 Enterprise 专属。

功能门控

通过 feature_gates 表定义功能键、所需最低层级、每日/每小时速率限制等。示例功能包括 CSV 导出、API 访问、自定义报告(Pro 及以上),以及 SSO 集成、专属支持、审计日志(Enterprise 专属)。

API 速率限制

技能提供了基于 Redis 的速率限制实现,按用户和层级检查每日请求配额,返回剩余次数与重置时间,并设置 X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset 响应头。同时通过 api_usage 表记录每次请求的端点、方法、响应时间、是否触发限制等信息,并建立物化视图用于快速检查当日用量。

审计追踪

包含两类审计表:tier_change_audit 记录层级变更(升级、降级、试用、取消、过期)的原因、发起方、计费影响等;feature_access_audit 记录功能访问尝试,尤其是拒绝访问的情况,包含拒绝原因(层级不足、速率限制、已过期)、所需层级、用户实际层级、IP 与 User-Agent 等上下文。

层级迁移处理

changeTier 函数在事务中完成审计记录创建、订阅更新、降级时的数据保留处理、升级时的功能解锁以及速率限制缓存清理。降级时会根据新层级的数据保留天数,将超期数据归档。

使用方式

技能以数据库 Schema 设计、TypeScript 接口与函数实现的形式提供。开发者需要:

  1. 创建 subscription_tiers、user_subscriptions、field_access_policies、feature_gates、api_usage、tier_change_audit、feature_access_audit 等表。
  2. 插入层级、字段策略与功能门控的初始数据。
  3. 在应用中使用 filterFieldsByTier 过滤返回字段,使用 requireFeature 中间件保护路由,使用 rateLimitMiddleware 实施速率限制,使用 changeTier 处理层级变更。

适用场景

  • 构建具有 Free/Pro/Enterprise 分级的 SaaS 产品。
  • 需要根据订阅层级实施字段级访问控制。
  • 需要按层级执行 API 速率限制。
  • 需要按层级管理数据保留策略。
  • 需要按层级追踪 SOC 2、HIPAA、GDPR 等合规要求。
  • 需要审计层级变更与功能访问。
  • 需要在订阅层级之间迁移用户。

限制

资料中未提供该技能的具体安装命令、依赖版本、运行环境要求、收费信息或实际部署效果。部分代码示例(如 getUserComplianceLevel 函数)在资料中未完整展示。