访问控制 (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.10010.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-4ogpt-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` 白名单,这是防止密钥泄露后被盗用的最有效手段。