调用方 API Key
调用方 API Key 用于标识向 AISIX 代理 API 发送请求的应用。AISIX 可以使用每把 Key 限制模型访问,并应用调用方专属的流量控制。这些 Key 不授予运维人员访问权限。AISIX Cloud 运维人员通过已登录的控制台会话管理资源,或使用 Admin Token 调用 Admin API。开源 AISIX 网关的运维人员则通过资源文件或 etcd 配置网关。
本指南将介绍如何创建调用方 API Key、授予它一个或多个模型别名的访问权限,并管理其生命周期。应用会向 AISIX 发送明文调用方 API Key,而 AISIX 只在 API Key 资源中保存其 SHA-256 哈希。
本指南适用于提交明文 Key 的应用。如需让应用提交来自外部身份提供商的短期凭证,请改为配置 JWT 身份认证。AISIX 会把验证后的 JWT 身份映射到调用方 API Key,因此仍会应用该 Key 的访问控制和流量控制。在 AISIX Cloud 中,匹配的预算也会生效。
示例涵盖两种管理路径。AISIX Cloud 可以生成明文值,而开源 AISIX 网关会从环境变量派生哈希,或接受资源文件中预先计算的哈希。
准备工作
请先准备以下内容:
- 调用方应被允许使用的模型别名。如果尚未创建,请先配置服务提供方密钥和模型别名。
- 对于 AISIX Cloud,需要环境访问权限和具备写入权限的 Admin Token。对于 On-Premises,请按照 AISIX Cloud 快速入门操作。如需申请 Hybrid Cloud 访问权限,请联系 API7。
- 对于开源 AISIX 网关,需要包含该模型别名的声明式资源文件。
创建调用方 API Key
根据部署的管理路径配置调用方凭证。
AISIX Cloud
导出 AISIX Cloud 连接信息,以及调用方可使用的模型 ID:
# AISIX_CP 是 Admin API 基础 URL;应包含 /api,且不含尾部斜杠
# 本地私有化部署快速入门使用 http://localhost:8080/api
export AISIX_CP="YOUR_AISIX_CLOUD_ADMIN_API_URL"
export AISIX_TOKEN="YOUR_ADMIN_TOKEN"
export ENV_ID="YOUR_ENVIRONMENT_ID"
export MODEL_ID="YOUR_MODEL_ID"
MODEL_ID 是创建模型别名时返回的 id,不是别名。
使用允许的模型创建 API Key 资源。AISIX Cloud 会生成明文密钥,并且只在创建响应中返回一次:
RESPONSE=$(curl -sS -X POST "$AISIX_CP/environments/$ENV_ID/api_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "chat-app",
"allowed_models": ["'"$MODEL_ID"'"]
}')
export API_KEY_ID=$(echo "$RESPONSE" | jq -r '.api_key.id')
export AISIX_API_KEY=$(echo "$RESPONSE" | jq -r '.plaintext')
echo "$RESPONSE" | jq
你应该会看到 类似下面的响应:
{
"api_key": {
"id": "f1ad9f8a-75d0-46ae-9d8d-0cfe8d1d8387",
"env_id": "9be9891a-6a53-4bd8-a897-a03fe38a1ca5",
"display_name": "chat-app",
"allowed_models": [
"6a3f2c1d-8f4e-49b2-b6f1-3f6f24d0f9a2"
],
"disabled": false,
"status": "active",
"created_at": "2026-06-24T12:18:39Z",
"updated_at": "2026-06-24T12:18:39Z"
},
"plaintext": "sk-***"
}
高亮的 id 用于以后更新、轮换或删除该密钥。高亮的 plaintext 是调用方凭证。它只在此响应中返回且以后无法恢复,因此请安全保存,并立即使用它配置应用。该密钥会自动投射到已关联的网关。