跳至正文
目录
账户

API密钥和开发者访问

此内容为机器翻译,如需查阅原文请查看英语版本。

KapsuleHost 为您提供两个开发者界面:限定范围的 API 密钥用于以编程方式读取您的账户,以及远程构建缓存用于加速您自己的机器和 CI 运行器上的 Turborepo 和 Nx 构建。

默认情况下,两者都未启用。两者都从设置创建,两者都会向您交付一个密钥,且仅交付一次。

创建 API 密钥

API 密钥位于设置下,然后是安全,在 API 密钥卡中。

KPanel 安全设置中的 API 密钥卡,显示范围芯片

  1. 转到设置,然后安全。
  2. 滚动到 API 密钥并点击新密钥。
  3. 为密钥指定一个名称。该字段建议"密钥名称(例如 My automation script)"。该名称仅供您使用,因此请让它说明密钥将在何处使用。
  4. 点击范围芯片以选择密钥可以执行的操作。三个读取范围已预先选定:read:sites、read:email 和 read:domains。点击芯片以添加或删除它。
  5. 点击创建。

完整密钥出现一次,在一个绿色面板中,标题为"立即复制"。将其直接复制到您的密钥存储中。当您关闭该面板时,密钥消失:仅保留一个短前缀,这是列表以后能显示的全部。

密钥永远不会显示第二次,并且无法恢复。如果您丢失了它,撤销该密钥并创建一个新的。不要将其粘贴到共享文档、工单、提交或聊天消息中。

只有所有者和管理员角色可以创建密钥。任何其他角色都会收到权限错误。创建密钥时,安全警报电子邮件会发送到创建该密钥的人的地址,因此意外收到其中之一是值得立即调查的。

范围

提供七个范围:

范围授予
read:sites读取您的网站
write:sites保留用于网站上的写入操作
read:email读取您的邮箱
write:email保留用于邮箱上的写入操作
read:domains读取您的域
write:domains保留用于域上的写入操作
read:billing保留用于读取计费数据

客户 API 目前是只读的。write: 范围和 read:billing 可以在密钥上选择,但目前没有客户端点使用它们,因此授予它们不会改变任何内容。仅授予您实际需要的读取范围,并在写入端点发货时重新访问密钥。

使用密钥

在 Authorization 标头上将密钥作为承载者令牌发送。

curl https://kpanel.kapsulehost.com/api/v1/sites \
  -H "Authorization: Bearer YOUR_KEY_HERE"

三个端点接受客户 API 密钥:

端点所需范围返回
GET /api/v1/sitesread:sites您的网站,包括域、应用程序类型和状态
GET /api/v1/domainsread:domains您的域,包括状态和到期日期
GET /api/v1/mailboxesread:email您的邮箱

没有密钥、未知密钥或已撤销密钥的请求返回 401。具有正确范围的有效密钥返回 403,并带有一条消息,命名所需的范围。每次成功调用都会更新密钥的上次使用时间戳。

轻轻轮询。这些端点读取实时账户数据,针对它们的紧密循环与滥用无法区分。对于仪表板需要的任何内容,每分钟一次都很充分;每小时一次通常足够了。

审查和撤销密钥

API 密钥表按名称、前缀(密钥的可见开头)和范围列出每个活跃密钥。点击行末尾的撤销以将其禁用。

撤销立即生效,没有确认对话框。使用该密钥的下一个请求失败,返回 401。已撤销的密钥无法恢复,因此在点击之前请确保您知道什么在使用它。

密钥属于账户,而不是创建它们的人。从团队页面移除团队成员不会撤销他们创建的密钥。将密钥审查纳入您的员工离职流程:移除该人,然后来这里撤销他们创建的任何东西。

密钥创建和撤销都记录在审计日志中,在 api_key.* 操作下,包含执行者和来源 IP 地址。

远程构建缓存

设置边栏的高级组中的开发者页面提供远程构建缓存。该面板将其描述为"通过在机器和 CI 管道之间共享分布式缓存来加速 Turborepo 和 Nx 构建"的方式。

  1. 转到设置,然后开发者。
  2. 点击启用远程缓存。
  3. 从标题为"已生成新令牌。立即复制它,它不会再次显示"的面板中复制令牌。

然后在您的 CI 配置或本地 .env.local 中设置两个环境变量:

TURBO_TOKEN=<your-token>
TURBO_TEAM=<your-account-id>

团队 ID 是您的 KapsuleHost 账户 ID,显示在同一页面上的设置说明中。

该页面说明了其自身的兼容性:Turborepo 1.x 及更高版本、Nx 16 及更高版本,以及任何实现相同远程缓存协议的工具。工件按账户存储,永远不会跨账户共享。

卡上还有两个进一步的控件:

  • 轮换令牌发出新令牌并使旧令牌失效。任何仍保留旧令牌的 CI 作业都会停止使用缓存,因此请一起轮换和更新您的密钥。
  • 禁用完全关闭缓存。

在两者之间选择

它们解决的是无关问题,不可互换。

当 KapsuleHost 外部的某些东西需要了解您账户的状态时,使用 API 密钥:列出您网站的状态板、警告您有关域名即将过期的脚本、库存导出。

当您的构建速度缓慢因为每台机器和每次 CI 运行都重新构建相同的未更改包时,使用远程构建缓存。它与您托管的网站无关,不读取您的账户数据。

故障排除

每个请求都返回 401。确认您在 Authorization: Bearer <key> 上以单个空格发送了标头,密钥在复制时未被截断,并且未被撤销。将密钥的开头与前缀列进行比较,以确保您使用的是您认为的密钥。

请求返回 403 并命名范围。密钥不包含该范围。范围在创建密钥时是固定的,因此创建一个具有正确范围的替代品并撤销旧的。

我看不到 API 密钥卡。它在安全页面上,不在开发者页面上。开发者页面仅保存构建缓存。

新密钥按钮没有反应。您的角色低于管理员。请联系所有者或管理员。

构建未命中缓存。检查 TURBO_TOKEN 和 TURBO_TEAM 是否都存在于构建环境中,令牌自设置以来是否未被轮换,以及页面是否仍显示活跃徽章。

出现了一个我未创建的密钥。将其视为泄露。撤销它,然后通过账户安全进行操作,并检查审计日志了解还有什么更改。

这对您有帮助吗?

您是 AI 吗?以 Markdown 格式阅读本页

相关文章

连接您的 AI 工具:快速入门借助“连接 AI”,您可以通过已在使用的 AI 工具(例如 Claude Code、Cursor 或 Codex)管理网站、域名和邮箱。…离开 KapsuleHost:带走您的所有数据这是将您的网站、文件、数据库、邮箱和域名迁移到其他服务商的完整检查清单,按照能让所有数据完好无损的顺序排列。…Insights: 在您注意到问题之前发现的问题Insights:问题在您发现之前就被找到 KapsuleHost 在您的网站、域名和账户上运行的自动检查,以及如何处理检查发现的问题。…关闭您的 KapsuleHost 账户关闭账户是一系列步骤的终点,而不是一个按钮:先取消服务,迁出或释放域名,导出数据,最后才关闭账户本身。 请按顺序完成本页内容。…

仍未解决?

询问了解您账户的 Kora,或联系我们的团队。

联系我们发送邮件