访问控制 (ACL)
XAI XAPI 提供了一套强大的访问控制列表 (Access Control List, ACL) 机制,允许您对账户的 API 调用行为进行精细化管理,从而增强安全性。
IP 白名单 (AllowIPs)
通过设置 AllowIPs
,您可以限制一个账户只能从指定的 IP 地址或 IP 段发起 API 调用。这对于保护 API Key 不被泄露和滥用至关重要。
- 格式:
AllowIPs
是一个字符串,支持单个 IP 或 CIDR 格式,多个条目之间用空格或逗号分隔。 - 示例:
"192.168.1.100 10.0.0.0/8"
表示只允许来自192.168.1.100
和10.0.0.0/8
网段的请求。 - 继承规则: 子账户的
AllowIPs
必须是其父账户AllowIPs
的子集。如果父账户设置了 IP 白名单,子账户只能在该名单范围内进一步缩小范围。 - 特殊操作:
- 添加:
"118.23.21.0/24"
- 移除:
"-118.23.21.0/24"
- 恢复默认(不限制):
"*"
- 仅允许本地调用:
"-*"
- 添加:
模型白名单 (AllowModels)
通过设置 AllowModels
,您可以控制一个账户能够使用哪些 AI 模型。这对于成本控制和功能限制非常有用。
- 格式:
AllowModels
是一个字符串,包含模型名称,多个模型之间用空格或逗号分隔。支持使用*
作为通配符。 - 示例:
"gpt-4o gpt-4o-mini claude-*"
表示该账户只能使用gpt-4o
、gpt-4o-mini
以及所有以claude-
开头系列模型。 - 继承规则: 子账户的
AllowModels
必须是其父账户AllowModels
的子集。 - 特殊操作:
- 添加:
"gpt-4o gpt-4o-mini"
- 移除:
"-gpt-4o"
- 恢复默认(不限制):
"*"
- 禁止所有模型:
"-*"
- 添加:
资源路径白名单 (Resources)
这是一个更底层的访问控制,您可以限制账户只能访问特定的 API 路径 (Endpoint)。
- 格式:
Resources
是一个字符串,包含 API 路径,多个路径之间用空格或逗号分隔。 - 示例:
"/v1/chat/completions /v1/embeddings"
表示该账户只能进行聊天和嵌入操作。 - 继承规则: 子账户的
Resources
必须是其父账户Resources
的子集。 - 特殊操作:
- 添加:
"/v1/chat/completions"
- 移除:
"-/v1/embeddings"
- 恢复默认(不限制):
"*"
- 添加:
**安全最佳实践**:
我们强烈建议为所有生产环境中的 API Key 设置严格的 `AllowIPs` 白名单。这是防止密钥泄露后被盗用的最有效手段。