设置 API 身份认证
为了安全起见,你应该只允许经过身份认证和授权的消费者访问你的 API。API7 网关提供了多种插件来启用身份认证和授权。
在服务上启用的身份认证插件就像给 API 上的锁,而消费者凭据则是解锁它们的钥匙。在 API7 网关中,你需要一个唯一的用户名和至少一个认证凭据来设置消费者。
消费者可以使用多种不同类型的认证凭据,所有认证凭据在身份认证方面都被视为平等的。
前提条件
备注
避免在同一服务/路由上配置多个身份认证插件,以防止冲突。
为 API 启用 Key Authentication
针对服务
要在服务中的所有路由上使用 Key Authentication,请在服务上启用 Key Auth 插件
。
- 控制台
- ADC
- Ingress Controller
- 从侧边栏选择网关组的已发布服务,然后选择要修改的服务,例如,版本为
1.0.0
的httpbin
。 - 从侧边栏选择插件,然后点击启用插件。
- 搜索
key-auth
插件,然后点击启用。 - 在对话框中执行以下操作:
-
将以下配置添加到JSON 编辑器:
{
} -
点击启用。
-
更新服务配置以使用 Key Authentication:
adc-service.yaml
services:
- name: httpbin
upstream:
name: default
scheme: http
nodes:
- host: httpbin.org
port: 80
weight: 100
plugins:
key-auth:
_meta:
disable: false
routes:
- uris:
- /ip
name: get-ip
methods:
- GET
将配置同步到 API7 企业版:
adc sync -f adc-consumer.yaml -f adc-service.yaml
备注
ADC 使用配置文件作为单一事实来源。因此,请确保将消费者和服务配置文件都传递给 adc sync
命令,以使两种配置都生效。
暂不支持。