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