我想使用 Kong 作为我所有上游服务的 API 网关。我想使用 API 密钥,以便我的客户可以使用它来使用他们允许使用的一些 API。
有一个用于管理 API 密钥的插件:https ://docs.konghq.com/hub/kong-inc/key-auth/
但我想知道是否可以将属性添加到某些 API 密钥或将其链接到某些配置。
让我用一个例子来解释:
我有 3 个 API
- API 1
- API 2
- API 3
在 Kong API Gateway 上,我想使用速率限制。所以我想为 2 个具有某些属性的客户生成 API 密钥
- 客户 X:基本订阅,API 1 的速率限制为每分钟 10 个请求,API 2 的速率限制为每分钟 20 个请求
- 客户 Y:API 2 的高级订阅,其速率限制为每分钟 5000 个请求,API 3 的速率限制为每分钟 1000 个请求
因此,在 Kong 中,我为这 3 个 API 创建了 3 个服务,并向其中添加了速率限制插件。有没有办法让速率限制插件知道(基于请求中发送的 API 密钥)它应该对刚刚输入的请求使用什么限制?
在我看来,我每次都需要为相同的 API 创建具有特定值的特定速率限制的新服务。在处理大量客户和 api 时,这感觉有点难以管理。
是否可以根据传递的 API 密钥获取速率限制值?
或者有什么解决办法吗?或者这是我们在 API 网关中想要的实际行为,如果是,为什么?