跳到主要内容

API 密钥管理体系

架构概览

数据库设计

api_master_keys

字段类型说明
idVARCHAR(36) PKUUID
providerVARCHAR(50)openai/anthropic/google/deepseek/etc
key_nameVARCHAR(100)备注名称
api_key_encTEXTAES-256-GCM 加密密文
statusVARCHAR(20)active/revoked
created_atDATETIME(3)

litellm_virtual_keys

字段类型说明
idVARCHAR(36) PKUUID
master_key_idVARCHAR(36)关联主密钥
key_aliasVARCHAR(100)备注
virtual_key_maskedVARCHAR(50)脱敏展示(sk-xxxx****xxxx)
litellm_key_hashVARCHAR(200)LiteLLM 内部 key_name
budget_usdDECIMAL(10,4)预算上限(0=不限)
assigned_instance_idVARCHAR(100)关联 OC 实例
statusVARCHAR(20)active/revoked/expired
created_atDATETIME(3)
expires_atDATETIME(3) NULL

Admin API 接口

方法路径说明
GET/api/v1/api-keys主密钥列表(masked)
POST/api/v1/api-keys录入主密钥
DELETE/api/v1/api-keys/:id撤销主密钥(同步 revoke 子Key)
GET/api/v1/virtual-keys子Key 列表
POST/api/v1/virtual-keys/generate生成子Key(调用 LiteLLM)
POST/api/v1/virtual-keys/:id/assign分配到 OC 实例
DELETE/api/v1/virtual-keys/:id撤销子Key(同步 LiteLLM)

安全策略

  • 加密:主密钥 AES-256-GCM,密钥存 systemd EnvironmentFile
  • 脱敏:所有接口返回时只显示
  • 撤销级联:删主密钥 → 自动撤销所有关联 virtual keys
  • 审计:绑定/撤销操作写 audit_logs

前端页面

路由:
Tab 1「主密钥」:表格 + 录入表单(provider/名称/key),key 仅在录入时可见
Tab 2「子Key管理」:表格(alias/master/预算/关联实例/状态)+ 生成/分配/撤销操作
OC 实例详情:展示当前绑定的 virtual key(脱敏)+ 快捷重新分配入口