Skip to content

主用例说明:License 管理

背景概述

随着 PowerX 插件生态商业化,越来越多插件采用订阅制或基于功能的授权模式。缺少统一的 License 管理体系,将导致付费插件被未授权租户使用、续费流程脱节、以及监管部门无法审计授权链路。本主用例聚焦“License 管理”,从密钥生成、分发绑定、运行时校验到续约与审计闭环,确保插件权益、营收与合规控制一致。

目标与价值

  • 授权统一:为插件提供统一的 License 生成、分发、激活与回收流程,避免各自实现导致的管理混乱。
  • 收益保障:在租户到期或超出授权范围时自动限制插件能力,保障 Vendor 收费权益。
  • 合规审计:记录 License 生命周期的审批、变更与使用日志,满足审计与监管要求。
  • 运营效率:提供自动提醒、续费链路与异常处理机制,降低运营人员手工维护成本。

参与角色

  • Vendor / 商务运营:配置产品包、定价策略,发放 License 并处理变更。
  • 租户管理员:激活 License、管理绑定租户范围并处理续费。
  • 宿主 License 服务:负责 License 密钥生成、存储、验证与过期控制。
  • 插件运行时:在功能调用时校验 License 状态并执行能力开关。
  • 财务与合规团队:审计 License 使用记录、对账收入与处理违规使用。

主场景 User Story

作为 插件生态运营负责人,我希望 为不同租户提供可控的 License 管理能力并自动执行到期策略,从而 保障插件收费模式、减少违规使用并满足审计需求。

子场景详解

子场景 A:License 策略配置与密钥发放

  • 角色与触发:Vendor 上线新插件版本或售出授权,需要发放 License。
  • 主要流程
    1. Vendor 在 License 控制台创建产品包,定义授权范围(租户、实例数、功能模块、有效期)。
    2. 系统生成唯一 License Key,并加密存储于宿主 License 服务。
    3. 商务审核后将密钥分发给租户管理员或通过 API 推送。
    4. 记录发放日志并同步至财务系统。
  • 成功标准:License Key 与授权策略正确绑定,状态为「待激活」,审计记录完整。
  • 异常与风控:策略字段配置不完整时阻断发放;重复生成高风险时触发告警;分发渠道需加密传输。
  • 指标建议:License 发放成功率、审批耗时、重复发放告警数。

子场景 B:租户激活与运行时校验

  • 角色与触发:租户管理员获取 License 后在宿主控制台激活。
  • 主要流程
    1. 租户管理员输入 License Key 并校验绑定信息(租户 ID、版本、功能包)。
    2. License 服务校验密钥签名与状态,激活成功后下发授权令牌给插件。
    3. 插件运行时在功能调用时校验 License 令牌,记录使用次数与指标。
    4. 若检测到超出授权范围,触发限流或能力关闭,并通知租户与 Vendor。
  • 成功标准:合法 License 可激活并实时生效;调用记录可追踪;超限行为被阻断。
  • 异常与风控:重复激活或跨租户使用时拒绝;密钥被暴力破解触发风控;离线环境需支持一次性激活令牌。
  • 指标建议:激活成功率、运行时校验失败率、越权调用次数。

子场景 C:续费提醒与到期处理

  • 角色与触发:License 临近到期或已经过期。
  • 主要流程
    1. License 服务根据到期时间 T-30/T-7/T-1 发送续费提醒(邮件、站内、Webhook)。
    2. 租户完成续费支付后,Vendor 更新 License 有效期并重新下发。
    3. 若到期仍未续费,系统自动切换 License 状态为「已过期」,插件运行时降级或停用。
    4. 记录续费流程、停用动作与恢复时间,供合规与客服跟进。
  • 成功标准:提醒策略生效;续费后能力自动恢复;到期后能力关闭符合 SLA。
  • 异常与风控:提醒渠道失败需重试;误停用可快速恢复;离线租户需支持宽限期策略。
  • 指标建议:到期提醒触达率、续费转化率、过期停用响应时长。

子场景 D:License 变更与审计

  • 角色与触发:Vendor 调整授权策略或合规团队执行巡检。
  • 主要流程
    1. Vendor 在控制台发起变更,如增加功能模块、调整席位数或停用密钥。
    2. 系统生成变更任务,需经过合规审批后生效。
    3. 变更结果同步至 License 服务与插件运行时,实时更新授权令牌。
    4. 合规团队定期导出 License 使用、违规阻断与变更日志,对账与审计。
  • 成功标准:变更流程可审批;插件能力与新授权保持一致;审计日志齐全可追溯。
  • 异常与风控:审批超时触发升级;变更失败支持回滚;违规使用持续发生时可冻结 License。
  • 指标建议:变更通过率、审批时长、审计覆盖率。

功能边界 & 非目标场景

  • 不涉及插件具体计费或结算逻辑,相关内容由 Billing 场景覆盖。
  • 不提供详细的客户关系管理功能,仅维护与 License 相关的租户信息。
  • 不解决离线环境下的硬件加密狗或专用设备授权,需另行规划。

依赖与接口

  • License 服务 API:提供密钥生成、激活、校验、续期、吊销接口。
  • 插件运行时 SDK:支持 License 令牌验证、使用计数与能力开关。
  • 租户与用户管理 API:用于校验 License 与租户绑定关系。
  • 通知服务:邮件、短信、Webhook 用于提醒与告警。
  • 审计与报表平台:汇总 License 生命周期日志供合规与财务分析。

验收要点

  1. License 从发放、激活到回收全链路均需留存审计日志,可按租户与插件维度查询。
  2. 插件运行时在调用敏感能力前必须校验 License,越权或过期行为将被立即阻断并通知相关方。
  3. 续费提醒、到期停用与能力恢复流程自动化可配置,满足不同 SLA 要求。
  4. License 变更需支持审批、回滚与版本化记录,保证策略变更可追溯。
  5. 沙箱环境提供 License 发放、激活、超限、到期等模拟脚本,便于演练。

场景级测试用例示例

测试准备:在沙箱中启用 license-sbx 服务,预置插件 insight-reporter@2.3.0 与租户 tenant-a,并准备有效 License LIC-TRIAL-001 与过期 License LIC-EXPIRED-001

用例 A-1:License 发放审批通过(正向)

  • 前置条件:Vendor 已配置产品包与定价。
  • 操作步骤
    1. 在 License 控制台提交 tenant-a 的授权申请,配置有效期 30 天、并发实例 3 个。
    2. 商务审批通过并生成 License。
  • 预期结果
    • 系统生成 LIC-TRIAL-001,状态为「待激活」,审计日志记录审批动作。
    • API 返回密钥摘要供后续激活。

用例 A-2:发放策略不完整被拒(逆向)

  • 前置条件:申请缺少租户标识或有效期。
  • 操作步骤
    1. 提交缺少字段的授权申请。
  • 预期结果
    • 系统返回校验错误并阻断发放,审计日志记录失败原因。
    • 不生成新的 License。

用例 B-1:租户激活并正常使用(正向)

  • 前置条件:租户管理员持有 LIC-TRIAL-001
  • 操作步骤
    1. 在租户控制台输入 License 并绑定 tenant-a
    2. 执行插件功能触发运行时校验。
  • 预期结果
    • License 状态变为「已激活」,插件返回正常结果。
    • 使用记录写入 License 日志与监控指标。

用例 B-2:跨租户激活被阻断(逆向)

  • 前置条件:在 tenant-b 环境尝试使用 LIC-TRIAL-001
  • 操作步骤
    1. tenant-b 控制台输入 License。
  • 预期结果
    • 系统拒绝激活并提示「租户不匹配」。
    • 触发安全告警并记录 IP、租户与失败原因。

用例 C-1:到期提醒与续费恢复(正向)

  • 前置条件LIC-TRIAL-001 将在 3 天后到期。
  • 操作步骤
    1. 等待系统发送 T-3 提醒,并模拟续费支付。
    2. Vendor 在控制台延长有效期 30 天。
  • 预期结果
    • 租户收到提醒通知,续费后 License 状态更新为新到期日。
    • 插件能力无中断,审计记录包含续费信息。

用例 C-2:License 到期触发停用(逆向)

  • 前置条件LIC-EXPIRED-001 绑定 tenant-a 且已过期。
  • 操作步骤
    1. 在插件运行时执行需授权的功能。
  • 预期结果
    • 插件返回「License 已过期」错误并停用敏感能力。
    • 系统发送停用通知并记录时间戳。

用例 D-1:授权策略变更生效(正向)

  • 前置条件LIC-TRIAL-001 已激活。
  • 操作步骤
    1. Vendor 将并发实例数从 3 提升至 5 并提交审批。
    2. 审批通过后刷新租户授权。
  • 预期结果
    • 插件运行时即时感知新的并发额度,调用成功。
    • 审计日志记录变更详情与审批人。

用例 D-2:违规使用触发冻结(逆向)

  • 前置条件:模拟 License 被泄漏,多租户高频调用。
  • 操作步骤
    1. 触发 License 服务风控策略,标记为异常。
    2. 冻结 License 并通知相关方。
  • 预期结果
    • License 状态变为「已冻结」,插件调用被拒绝。
    • SOAR 工单自动创建,等待安全团队处理。

基于 Apache 2.0 许可发布