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