跳到主要内容

Token 管理

概述

Token 管理是 LLM Gateway 的访问控制核心,提供细粒度的 API 访问密钥管理。每个 Token 代表一个 API 访问凭证,用于验证和授权客户端请求。

🔑
安全访问控制
为不同应用创建独立 Token,隔离访问权限
📊
配额管理
为每个 Token 设置独立的使用配额和限制
📈
使用监控
实时监控 Token 使用情况和性能指标
🎛️
灵活控制
随时启用、禁用、更新或删除 Token

Token 基础

Token 格式

LLM Gateway 使用标准的 Bearer Token 格式:

格式: sk-{prefix}{random_string}
示例: sk-abc123def456ghi789jkl012mno345pqr678stu901vwx234yz
长度: 48-64 字符
前缀: sk- (Secret Key)

特点:

  • 全局唯一
  • 随机生成,安全性高
  • 兼容 OpenAI API 格式
  • 支持自定义前缀

Token 属性

属性说明示例
名称Token 的标识名称"生产环境主 Token"
密钥完整的 Token 字符串sk-abc...xyz
用户Token 所属用户user_123
状态启用/禁用enabled
配额使用限制100000 tokens/day
权限访问权限范围read, write
过期时间Token 有效期2025-12-31
创建时间创建时间戳2025-10-18 10:30:00
最后使用上次使用时间2 分钟前

Token 状态

  • 启用(Enabled): Token 正常工作,可以访问 API
  • 禁用(Disabled): Token 被禁用,所有请求被拒绝
  • 过期(Expired): Token 超过有效期,自动失效
  • 吊销(Revoked): Token 被永久吊销,无法恢复

Token 管理操作

创建 Token

1
进入 Token 管理

导航到 Token 管理页面。

Token 管理页面
2
点击创建 Token

点击"创建 Token"按钮。

创建 Token 按钮
3
填写基本信息

配置 Token 基本信息:

  • Token 名称: 便于识别的名称
  • 描述: Token 用途说明(可选)
  • 所属用户: 选择 Token 归属的用户
  • 有效期: 永久或指定过期日期
Token 基本信息
4
配置配额

设置 Token 的使用配额:

  • 每日配额: 每天可用的 tokens
  • 每月配额: 每月可用的 tokens
  • 总配额: Token 生命周期总配额
  • 请求限流: 请求速率限制
Token 配额配置
5
设置权限

配置 Token 访问权限:

  • 可访问模型: 选择允许访问的模型
  • 可访问渠道: 选择允许使用的渠道
  • 路由策略: 指定默认路由策略
  • 功能权限: 启用/禁用特定功能
Token 权限配置
6
保存并复制

点击"创建"后,系统生成 Token:

注意

Token 只显示一次,务必立即复制保存!

复制新 Token

编辑 Token

可以修改 Token 的配置(除了密钥本身):

  • 名称和描述
  • 配额和限流
  • 权限设置
  • 状态(启用/禁用)
  • 过期时间
编辑 Token

禁用和删除 Token

效果: Token 临时失效,可以重新启用

操作: 切换 Token 的启用开关

场景:

  • 临时停用某个应用
  • 怀疑 Token 泄露
  • 调试和测试
禁用 Token 开关

轮换 Token

定期轮换 Token 提高安全性:

1
创建新 Token
为应用创建新的 Token,保持相同配置。
2
更新应用
在应用中更新为新 Token。
3
验证新 Token
测试确认新 Token 工作正常。
4
禁用旧 Token
确认迁移完成后,禁用或删除旧 Token。

最佳实践:

  • 生产环境 Token 每 90 天轮换一次
  • 开发环境 Token 每 180 天轮换一次
  • 怀疑泄露时立即轮换

配额和限流

Token 配额

限制 Token 可使用的 tokens 数量:

{
"daily_quota": 10000,
"monthly_quota": 300000,
"total_quota": 10000000,
"used_daily": 5234,
"used_monthly": 156789,
"used_total": 2345678,
"unlimited": false
}

配额监控

查看 Token 配额使用情况:

Token 配额监控

监控指标:

  • 配额使用率
  • 剩余配额
  • 使用趋势
  • 预估耗尽时间

配额告警

配置配额告警,及时发现问题:

{
"alert_threshold": 0.8, // 80% 时告警
"alert_channels": [
"email",
"webhook"
],
"recipients": ["admin@example.com"]
}

Token 权限

模型权限

限制 Token 可访问的模型:

  • 全部模型: Token 可访问所有可用模型
  • 指定模型: 仅允许访问特定模型列表
  • 禁止模型: 禁止访问某些模型

配置示例:

{
"allowed_models": [
"gpt-4",
"gpt-3.5-turbo"
],
"denied_models": [
"gpt-4-32k"
]
}
模型权限配置

渠道权限

限制 Token 可使用的渠道:

  • 全部渠道: 使用所有可用渠道
  • 指定渠道: 仅使用特定渠道
  • 渠道组: 使用特定渠道组

使用场景:

  • 生产 Token 仅使用稳定渠道
  • 测试 Token 使用测试渠道
  • 成本控制,使用低成本渠道

功能权限

控制 Token 可使用的功能:

功能说明
聊天补全chat/completions API
文本补全completions API
嵌入embeddings API
图像生成images API
语音转文本audio/transcriptions API
文本转语音audio/speech API
文件上传files API
微调fine-tuning API

Token 使用监控

实时监控

监控 Token 的实时使用情况:

Token 实时监控

监控指标:

  • 当前 QPS
  • 活跃连接数
  • 平均响应时间
  • 错误率
  • 配额使用率

历史统计

查看 Token 的历史使用数据:

  • 总请求数
  • 总 tokens 使用量
  • 成功/失败请求数
  • 平均每次请求 tokens
Token 使用量统计

使用日志

查看 Token 的详细访问日志:

[2025-10-18 10:30:00] [INFO] Token: sk-abc123...
IP: 192.168.1.100
Model: gpt-4
Tokens: 1234 (input: 500, output: 734)
Latency: 2.3s
Cost: $0.0456
Status: success

参考: 访问日志

安全最佳实践

Token 安全建议

🔒
安全存储
使用环境变量或密钥管理系统,不要硬编码
🔑
最小权限
仅授予 Token 完成任务所需的最小权限
🔄
定期轮换
定期更换 Token,降低泄露风险
🛡️
监控异常
监控 Token 使用,及时发现异常行为

泄露应对

Token 泄露时的应急处理:

1
立即禁用
第一时间禁用或吊销泄露的 Token。
2
创建新 Token
为应用创建新的 Token。
3
审查日志
检查泄露 Token 的使用日志,评估影响范围。
4
通知相关方
通知可能受影响的用户和团队。
5
加强防护
审查安全措施,防止再次泄露。

IP 限制

为 Token 配置 IP 白名单:

{
"ip_whitelist": [
"192.168.1.0/24",
"10.0.0.100"
]
}

场景:

  • 固定服务器 IP
  • 企业内网访问
  • 额外安全层

使用示例

客户端集成

import openai

# 设置 API 密钥
openai.api_key = "sk-abc123def456ghi789jkl012mno345pqr678stu901vwx234yz"
openai.api_base = "https://your-gateway.com/v1"

# 调用 API
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Hello!"}
]
)

print(response.choices[0].message.content)

环境变量

推荐使用环境变量存储 Token:

# .env
OPENAI_API_KEY=sk-abc123def456ghi789jkl012mno345pqr678stu901vwx234yz
OPENAI_API_BASE=https://your-gateway.com/v1

Python 示例:

import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")
openai.api_base = os.getenv("OPENAI_API_BASE")

常见问题

Token 丢失了怎么办?

Token 创建后只显示一次,丢失无法找回。

解决方案:

  1. 创建新的 Token
  2. 在应用中更新
  3. 删除旧 Token

预防措施:

  • 创建时立即保存到安全位置
  • 使用密钥管理系统
Token 为什么返回 401 错误?

可能原因:

  • Token 无效或输入错误
  • Token 已被禁用或删除
  • Token 已过期
  • Token 不属于该用户

排查步骤:

  1. 检查 Token 是否正确复制
  2. 确认 Token 状态为"启用"
  3. 检查 Token 是否过期
  4. 查看错误日志获取详细信息
一个用户可以有多少个 Token?

限制: 通常无硬性限制,建议不超过 100 个/用户

最佳实践:

  • 为每个应用/环境创建独立 Token
  • 定期清理不用的 Token
  • 使用有意义的名称区分
Token 配额和用户配额有什么关系?
  • Token 配额: 单个 Token 的使用上限
  • 用户配额: 用户下所有 Token 的总上限

检查顺序:

  1. Token 配额是否充足
  2. 用户总配额是否充足

两者都充足才能继续使用。

相关页面

👥
用户管理
管理 Token 所属的用户账户
📋
访问日志
查看 Token 的使用日志
限流控制
配置 Token 的速率限制
⚙️
系统设置
配置 Token 相关的全局设置