密钥管理
本文档将介绍 APISIX 中密钥管理的基本概念以及为什么需要它们。
在文档末尾探索其他资源,以获取有关相关主题的更多信息。
概述
在 APISIX 中,密钥(Secret)对象用于设置与外部密钥管理器的集成,以便 APISIX 可以在运行时动态地建立连接并从密钥管理器获取密钥。
下图使用一个示例说明了密钥对象的概念,其中为用户 John 启用了 key-auth,并且用户凭证存储在 HashiCorp Vault 服务器中:
如演示所示,当 APISIX 与外部密钥管理器结合使用时,密钥字段被定义为一个以固定前缀 $secret:// 开头的变量,后跟密钥管理器名称、APISIX 密钥对象 ID、用户名和其他详细信息。
具体来说,如果使用 Vault 作为密钥管理器,APISIX 密钥对象应指定:
uri:托管 Vault 服务器的位置prefix:对应于 Vault 应路由流量的密钥引擎的路径前缀token:APISIX 对 Vault 进行身份验证并建立连接的令牌
这些配置确保 John 可以向 APISIX 发送请求并使用正确的密钥访问后端服务。来自未通过身份验证用户的请求将被 APISIX 拒绝。
除 Vault 外,APISIX 还支持与 AWS 和 GCP 密钥管理器集成。有关密钥配置的更多详细信息,请参阅 Admin API。