管理消费者凭据
消费者是指使用你的API的应用程序或开发者。在服务上启用身份验证可以让你控制访问,要求消费者在访问API之前获得凭据。
在服务上启用的身份验证插件就像 API 上的锁,而消费者凭据则是解锁它们的钥匙。在 API7 企业版中,你需要一个唯一的用户名和至少一个凭据来设置消费者。
消费者可以使用多种不同类型的凭据,所有凭据在身份验证方面都被视为平等的。
本教程将指导你创建消费者和配置身份验证凭据。
前提条件
配置Key Authentication凭据
- 控制台
- ADC
- Ingress Controller
从侧边栏选择网关组的消费者。
点击+ 新增消费者。
在对话框中,执行以下操作:
- 名称,输入
Alice
。 - 点击新增。
- 名称,输入
凭据选项卡下,点击+ 新增Key Authentication凭据。
在对话框中,执行以下操作:
- 名称,输入
primary-key
。 - Key,选择手动输入,然后输入
alice-primary-key
。 - 如果你想选择引用 Secret 提供商,请参阅引用 HashiCorp Vault 中的密钥 或 引用 AWS Secrets Manager 中的密钥。
- 点击新增。
- 名称,输入
再次尝试新增另一个名为
backup-key
的Key Authentication凭据,Key 为alice-backup-key
。所有凭据都是有效的,可以互换使用以进行 API 身份验证。
下面是一个交互式演示,提供了使用 API7 企业版配置 Key Authentication 凭据的实践介绍。
consumers:
- username: Alice
credentials:
- name: primary-key
type: key-auth
config:
key: alice-primary-key
- name: backup-key
type: key-auth
config:
key: alice-backup-key
将配置同步到 API7 企业版:
adc sync -f adc-consumer.yaml
暂不支持。
验证
有关说明,请参阅为 API 启用 Key Authentication,并在服务级别启用 Key Auth 插件
。
然后按照验证 Key Authentication 说明进行操作。
配置Basic Authentication凭据
- 控制台
- ADC
- Ingress Controller
从侧边栏选择网关组的消费者。
点击新增消费者。
在对话框中,执行以下操作:
- 名称,输入
Alice
。 - 点击新增。
- 名称,输入
凭据选项卡下,点击Basic Authentication选项卡,然后点击新增Basic Authentication凭据。
在对话框中,执行以下操作:
- 名称,输入
primary-basic
。 - 用户名,输入
alice
。 - 密码,选择手动输入,然后输入
alice-password
。 - 如果你想选择引用 Secret 提供商,请参阅引用 HashiCorp Vault 中的密钥 或 引用 AWS Secrets Manager 中的密钥。
- 点击新增。
- 名称,输入
再次尝试新增另一个名为
backup-basic
的Basic Authentication凭据,用户名为alice-backup
,密码为alice-backup-password
。所有凭据都是有效的,可以互换使用以进行 API 身份验证。
即将推出。
Ingress Controller 目前不支持凭据和匿名消费者。
验证
有关说明,请参阅为 API 启用Basic Authentication,并在服务级别启用 Key Auth 插件
。
然后按照验证Basic Authentication 说明进行操作。
配置不同的身份验证凭据
虽然消费者可以拥有多个不同类型的凭据,但已发布服务中的每个路由都应该只配置一个身份验证插件。这允许消费者使用他们喜欢的身份验证方法访问多个路由。
下面是一个交互式演示,提供了使用 API7 企业版配置各种身份验证凭据的实践介绍。
- 控制台
- ADC
- Ingress Controller
从侧边栏选择网关组的消费者。
点击+ 新增消费者。
在对话框中,执行以下操作:
- 名称,输入
John
。 - 点击新增。
- 名称,输入
凭据选项卡下,点击新增Key Authentication凭据。
在对话框中,执行以下操作:
- 名称,输入
key-auth
。 - 密钥,选择手动输入,然后输入
john-key-auth
。 - 点击新增。
- 名称,输入
凭据选项卡下,选择Basic Authentication,然后点击新增Basic Authentication凭据。
在对话框中,执行以下操作:
- 名称,输入
basic-auth
。 - 用户名,输入
john
。 - 密码,选择手动输入,然后输入
john-password
。 - 点击新增。
- 名称,输入
凭据选项卡下,选择JWT,然后点击新增 JWT 凭据。
在对话框中,执行以下操作:
- 名称,输入
jwt-auth
。 - 密钥,输入
john-jwt-key
。 - 算法,选择
RS256
。 - 公钥,选择手动输入,然后输入你的公钥。
- 点击新增。
- 名称,输入
凭据选项卡下,选择HMAC 认证,然后点击新增 HMAC 认证凭据。
在对话框中,执行以下操作:
- 名称,输入
hmac-auth
。 - 密钥 ID ,输入
john-key
。 - 密钥,选择手动输入,然后输入
john-hmac-key
。 - 点击新增。
暂不支持。
Ingress Controller 目前不支持凭据和匿名消费者。
相关阅读
- 核心概念
- API 安全
- API 使用