基于黑白名单的访问控制
有时候,你需要比身份验证插件提供的更精确的访问控制。例如,你可能希望保留可以访问 API 的消费者白名单。现在,消费者必须发送经过身份验证的请求,并且在白名单上(而且不在黑名单上)才能访问 API。
备注
在实施基于消费者的访问控制之前,请考虑 API 门户 是否是更好的解决方案。
本教程将指导你通过 Consumer Restriction 插件创建消费者白名单来配置精确的访问控制。
前提条件
通过消费者名称限制访问
当消费者发出经过 身份验证的请求时,API7 网关会将消费者的名称传递给路由。因此,路由不需要直接访问消费者的凭据,这对用户更加友好。
- 控制台
- ADC
- Ingress Controller
- 从侧边栏选择网关组的 已发布服务,然后选择要配置的服务,例如,版本为
1.0.0的httpbin API。 - 从侧边栏选择 插件。
- 搜索
consumer-restriction插件。 - 点击 加号图标 (+)。
- 在对话框中,执行以下操作:
-
如果你已按照前提条件教程操作,那么你应该已经拥有一个启用了
key-auth插件的消费者Alice。将以下配置添加到JSON 编辑器:{"whitelist": ["Alice"]} -
点击 启用。
-
用同样的方法添加一个新的消费者
Lisa并使用以下配置启用key-auth插件。{"key": "secret-key2"}