跳到主要内容
版本:3.10.x

凭证

凭证是用于验证个人或系统身份的数据。系统使用凭证完成身份认证并授权访问受保护资源,从而确认用户或系统的身份真实有效。

凭证可以采取多种形式,包括但不限于:

  • 用户名和密码:唯一用户名与密码的组合。
  • API Key(API 密钥)或令牌:为应用程序或用户安全地访问 API 生成的字母数字字符串。

在 API7 网关中,凭证与消费者关联并保存身份认证数据。消费者可以关联一个或多个凭证,并通过 key-authbasic-authjwt-authhmac-auth 等插件完成身份认证。将凭证与消费者解耦,有助于复用和轮换凭证并增强安全性。

例如,某个 API Key 的有效期为一个月。通过配置多个同类型凭证,管理员可以在旧密钥仍然有效时分配新密钥。在新旧密钥同时有效的过渡期内,管理员可以更新客户端应用,使其改用新密钥,而不会中断在线服务。确认新密钥生效后,即可安全删除旧密钥,从而降低凭证突然变更导致服务停机或访问异常的风险。

API Key 轮换时间线:旧密钥和新密钥都关联到消费者,并在重叠窗口期间同时有效;客户端应用程序在此期间切换到新密钥,随后删除旧密钥

主要特性

  • 与消费者具有一对多关系。
  • 支持密钥认证、JWT、HMAC 和基本认证等多种身份认证方式的凭证管理。
  • 支持独立管理和更新消费者的身份认证信息,便于落实安全实践、简化维护,并避免意外修改消费者配置。
  • 将包含所用凭证 ID 的 X-Credential-Identifier 请求头转发到上游服务,以便实现额外的业务逻辑。
  • 查询消费者详情时不返回其关联凭证,减少攻击面。

用例

缓解配置漂移

如果直接在消费者上配置身份认证凭证,每次轮换或重新配置凭证都可能意外修改或覆盖现有消费者配置,进而造成服务中断。将凭证配置与消费者解耦后,可以更新或轮换凭证而无需改动消费者设置,从而降低配置漂移的风险,避免意外变更不断累积并偏离预期配置。

支持凭证轮换

为消费者配置多个同类型凭证,可以在保障安全访问的同时平滑轮换凭证,尽量减少服务中断。例如,如果 API Key 的有效期为一个月,管理员可以在旧密钥仍然有效时分配新密钥。新旧密钥在受控的过渡期内同时生效,确保相关应用能够持续访问;确认新密钥正常工作后,即可安全删除旧凭证。

增强安全合规性

定期轮换凭证是遵循安全框架和标准的重要实践,API7 网关的凭证功能可以简化这一过程。例如,PCI-DSS(支付卡行业数据安全标准)要求定期更新处理持卡人数据的系统密码和其他凭证,以降低凭证过期或泄露造成未经授权访问的风险。