指定 API 密钥的身份验证、授权、速率限制、幂等性、重试、超时和故障隔离规则。它确定采用边界和可观察的失败证据,同时保持环境特定的限制可配置。
包状态: 参考上下文已准备好供人工审核。合同和测试场景已完成,但不保证采用的实现已通过它们。
决策
对于 API 密钥,在服务边界采用版本化的线协议。在受信任的服务器端强制控制,默认拒绝,并定义威胁假设、滥用限制、证据和恢复。该安全模块专注于实现和弹性。本包为参考合同:采用团队必须根据自身环境中的证据选择数值限制、提供商、司法管辖区和运营所有者。
范围
- API 密钥的参与者、输入、输出、状态、策略或模式版本,以及实现和弹性关注点所需的外部可见结果。
- 主要和备用接口、后台工作、缓存、集成、支持路径及可行使相同边界的证据。
- 采用特定的配置、推广、恢复和验证职责,以安全应用该参考。
本模块之外
- 为每个采用者选择通用供应商、框架、司法管辖区、数值阈值、保留期或服务级别目标。
- 声称已针对下游实现运行打包场景,或该参考授予法律、安全或无障碍认证。
合同
- 独立于单一客户端实现定义请求、响应、错误、分页或事件语义。
- 在返回数据或接受工作前,服务器端对调用者进行身份验证并授权资源和操作。
- 使用显式超时、带抖动的有界重试和终结结果;不要盲目重试非幂等操作。
- 在集成过程中携带关联标识符,同时排除凭据和敏感负载的遥测。
- 将所有客户端、回调、文件、模型和遥测字段视为不可信,直到针对预期操作进行身份验证和验证。
- 对于高影响路径,要求第二个独立的安全保障,否则单个解析器、凭据或提供商的妥协将决定性影响安全。
- 新发密钥仅显示一次,仅存储受保护的验证器,暴露非秘密前缀以供识别,支持重叠轮换和即时吊销。
- 将每个密钥绑定到所有者、环境、允许的资源和操作、过期策略、速率限制和可审计的最后使用证据,且不记录凭据。
- 对于实现和弹性变体,强制执行此声明的边界:指定 API 密钥的身份验证、授权、速率限制、幂等性、重试、超时和故障隔离规则。
实现指导
- 在实施审查前,对正常、重放、枚举、跨租户、自动化和降级依赖路径进行威胁建模。
- 在选择框架或供应商细节前,建模 API 密钥的输入、输出、参与者、状态、不变量、副作用和证据。
- 将适用的 API 密钥合同或策略版本与重要状态一起存储,以便迁移、重放和支持决策可归因。
- 在受控推广后引入路径,比较预期与观察结果,并保持经过测试的恢复路径,直至采用证据完整。
故障处理与安全保障
- 依赖失败映射到稳定错误或回退状态;模糊副作用在再次尝试前得到调和。
- 无效或矛盾的 API 密钥状态被拒绝或隔离;实现绝不猜测会扩大权限或重复效果的值。
- 重试有界且使用持久身份;耗尽后,工作达到可检查的终结状态并有责任所有者。
验证与运维
- 在每个信任边界使用配对的允许和拒绝用例,确认控制依赖丢失时失败为关闭状态。
- 按合同版本监控 API 密钥的成功、拒绝、验证失败、依赖失败、重试耗尽和恢复,且不包含敏感负载维度。
- 在策略、模式、依赖、迁移或边界变更后,重新运行配对的正负测试夹具,并保留结果证据。
采用假设
- 示例中的名称和值为具体夹具,不是通用默认值;采用者通过文档化的证据和所有权替换它们。
- 采用系统能够提供身份验证身份、持久操作或记录版本、有界遥测和受控变更路径。
本包中的可执行示例为夹具和验收合同。运行集合验证器检查结构和元数据,然后在目标仓库中翻译并执行场景,最后记录实现证据。