API 密钥
API 密钥让脚本和 CI 可以使用 REST API。在 账号设置 → API 密钥 中创建。
- 密钥以
zv_pat_开头,只显示一次。请像对待密码一样对待它。 - 每个密钥都有权限,并且可以只限部分项目。只给密钥完成任务所需的权限。
- 任何密钥都不能修改你的账号(邮箱、密码、密钥)、创建其他密钥,或者操作账单、购买或团队成员。
- 有效期可以选 30、90 或 365 天,或者永不过期。列表中显示每个密钥最近一次使用的时间;不再需要的密钥请删除。
sh
curl -H "Authorization: Bearer $ZENAVO_API_KEY" https://zenavo.app/api/projects权限
| 权限 | 可以 | 不可以 | 相当于 |
|---|---|---|---|
| 只读 | 查看项目、服务、部署、任务、日志、服务器和用量 | 查看配置的值(环境变量、连接信息),修改任何内容 | 最多是观察者 |
| 部署 | 另外还可以部署、回滚、重启和恢复服务,编辑项目配置(包括环境变量),上传源代码,添加生成的域名,创建备份 | 打开 shell 或运行命令,读取或修改文件和数据库中的数据,下载或恢复备份,创建、删除、迁移或停止项目,修改服务器或防火墙 | 最多是成员 |
| 完全访问 | API 密钥能做的一切,权限与你自己的角色相同 | 账单,购买或续费服务器,邀请或移除成员,创建、删除或转移团队 | 你的角色 |
密钥在团队中的权限永远不会超过你的角色:观察者创建的部署密钥仍然只是观察者。在权限功能推出之前创建的密钥和以前一样拥有 完全访问。密钥权限不允许的请求会返回 403。
日志中可能包含你的服务输出的任何内容。如果服务把机密打印了出来,只读密钥也能看到。
限定密钥只能访问部分项目
选择 仅限部分项目 并勾选项目。之后这个密钥看不到其他任何内容:项目和任务列表只显示这些项目,其他项目返回 404,项目以外的内容(服务器、团队设置、成员)返回 403。即使拥有完全访问权限,它也不能删除、复制、迁移或转移这些项目。对于 AI 智能体或 CI 任务,这是最安全的选择。
项目限制在每次请求时都会与你的角色一起检查,所以你离开团队后,密钥也会失去对项目的访问。
CLI 登录
CLI 的 zenavo auth login 会为 CLI 创建一个密钥,不需要你手动复制。终端会显示一个代码;在控制台打开 /device,输入代码并批准。请确认设备名称和网络是你自己的:只批准你刚刚亲自请求的代码。批准操作会记录在你的安全活动中。这个密钥名为 CLI on <hostname>,90 天后过期,并显示在密钥列表中。
批准页面会显示 CLI 请求的权限。你可以批准更少的权限(例如用只读代替部署),并限定部分项目;但永远不能给它超过请求的权限。不请求权限的旧版 CLI 会获得完全访问。