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

密钥

在本文档中,你将了解 API7 网关中**密钥(Secrets)密钥提供者(Secret Providers)**的基本概念,以及为什么你可能需要它们。

探索文档末尾的附加资源以获取有关相关主题的更多信息。

概览

**密钥(Secret)对象是需要保护以免受未经授权访问的一段敏感信息;而密钥提供者(Secret Provider)**对象用于设置与外部密钥管理器(HashiCorp Vault、AWS Secrets Manager 等)的集成,以便 API7 网关可以在运行时动态建立连接并从密钥管理器中获取密钥。

通过将密钥存储在专用的密钥管理服务中,你可以:

  • 降低数据泄露风险:最大程度地减少 API7 网关内敏感信息的暴露。
  • 简化管理:集中存储和检索密钥,简化配置和维护。
  • 增强安全性:利用外部密钥管理器的高级安全功能和审计功能。
  • 提高合规性:确保遵守行业法规和数据保护最佳实践。

使用场景

保护消费者凭证

消费者凭证中的以下敏感字段可以存储在外部密钥管理器(HashiCorp Vault、AWS Secrets Manager 等)中,并在 API7 网关中被引用:

  • key-auth 凭证中的 key
  • basic-auth 凭证中的 password
  • jwt-auth 凭证中的 secretpublic_key
  • hmac-auth 凭证中的 secret_key

有关消费者凭证的详细信息,请参阅消费者和凭证

保护插件配置中的敏感字段

从 3.9.11 版本开始,网关会统一解析密钥引用($secret://$env://),因此任何插件配置字段均可使用密钥引用。你可以将敏感值存储在外部密钥管理器中,并在插件配置中引用。

在 3.9.11 之前的版本中,只有以下插件明确支持密钥引用:

插件字段
Limit Countredis_username, redis_password
Authz-Casdoorclient_id, client_secret
Wolf RBACappid
LDAP Authenticationuser_dn

例如,请参阅配置限流,并在插件配置中使用密钥。

附加资源