授权管理
授权是流水线访问外部系统的钥匙:DNS 解析、主机登录、面板接口、云厂商 API 全都在这里维护。流水线里只选授权,不填凭据 —— 换账号时改一条授权,所有引用它的流水线一起生效。

四类授权
| 分类 | 用途 | 典型类型 |
|---|---|---|
| 云厂商 | 写 DNS-01 验证记录、上传证书到 CDN / 对象存储 / 负载均衡 | 阿里云、腾讯云、华为云、火山引擎、AWS、Cloudflare、七牛、京东云… |
| 主机 | SSH / FTP 登录服务器下发证书并重载服务 | 主机 SSH、FTP 服务器 |
| 面板 | 通过面板 API 部署(宝塔、1Panel、群晖、PVE、NPM、雷池…) | 面板类 |
| 证书签发 | 保存 EAB 凭据(ACME 账户私钥由系统自动生成并回写) | EAB 凭据 |
共 41 种授权类型,完整清单见 生态集成。
添加与测试
- 授权管理 → 新建授权,选类型(下拉按分类过滤)。
- 填字段 → 保存。
- 点该行的 测试,系统会真的登录 / 调接口一次,把权限、端口、两步验证问题当场暴露出来,而不是等流水线跑到一半才报错。
字段留空 = 不修改
编辑授权时,密码类字段留空表示「这一项没改」,后端会还原旧值。不会把密钥写成空串 —— 所以放心点保存。
凭据的显示规则
这是本项目的铁律,和很多同类系统不一样:
- 接口层明文返回凭据,不做
******打码 —— 排障时能直接确认到底填了什么。 - 界面上的密码框默认显示星号,点右侧「小眼睛」立刻显示明文。
- 保存前统一 trim:粘贴 AK 时带的首尾空格 / 换行会导致签名失败,且极难排查。
- 因此数据库与备份文件本身要当机密文件对待,别随手丢到公共网盘。
云厂商授权
DNS 能力(可做 DNS-01 验证)
| 服务商 | 需要填 | 权限建议 |
|---|---|---|
| 阿里云 | AccessKey ID / Secret | 只给 AliyunDNSFullAccess |
| 腾讯云 / DNSPod | SecretId / SecretKey | 只给 DNSPod 相关权限 |
| 华为云 | AccessKey ID / Secret Access Key / Region | 云解析只读 + 修改 |
| Cloudflare | API Token / Zone ID | Token 权限:Zone.DNS:Edit |
| GoDaddy | API Key / API Secret | 生产 Key(OTE 测试 Key 无效) |
| NameSilo | API Key | 账号级 Key |
其它云厂商
阿里云、腾讯云、华为云、火山引擎、AWS、七牛、天翼云、京东云、多吉云、易盾、括彩云、我爱云、白山云、又拍云、Fastly、百度智能云、TrustAsia、UCloud、金山云、雨云等授权,主要用于把证书上传到 CDN / 对象存储 / 负载均衡。
用子账号,不要用主账号 AK
只授予「DNS 解析」或「CDN 证书」相关权限即可。主账号 AK 泄露等于整台云账号失守。
主机授权
| 字段 | 说明 |
|---|---|
| 主机地址 / 端口 | 默认 22 |
| 用户名 | 建议用有 sudo 权限的专用账号 |
| 认证方式 | 密码 / 私钥(私钥支持带 passphrase) |
部署到 Nginx / Apache / Tomcat / HAProxy / IIS 时,需要能写证书目录并执行重载命令;如果账号不是 root,记得在 sudoers 里放行 nginx -s reload 这类命令。
面板授权
宝塔面板
填 面板地址(含端口,例如 https://1.2.3.4:8888)与 接口密钥(面板 → 设置 → API 接口)。部署时支持多站点选择。
1Panel
填 面板地址 与 API 密钥(面板 → 面板设置 → API 接口)。
群晖 DSM
群晖是字段最多的一家,因为它要处理两步验证:
| 字段 | 说明 |
|---|---|
| DSM 地址 / 版本 | 例如 https://192.168.1.10:5001 |
| 账号 / 密码 | 建议用管理员账号 |
| 已开启二步验证 | 打开后才会出现下面几项 |
| 设备 ID | 推荐:点「获取设备 ID」按钮生成受信设备令牌,之后登录不再需要验证码 |
| 验证密钥(可选兜底) | Base32 密钥,部署时用 pyotp 现算 6 位码,适合设备 ID 过期时自动回退 |
| 设为默认证书 / 证书名称 | 决定部署后是否替换 DSM 的默认证书 |
| 忽略证书校验 | 自签证书 / IP 访问时打开 |
获取设备 ID 的前置条件(DSM 侧):控制面板 → 安全性 → 勾选「允许网页浏览器的用户通过信任设备来跳过双重验证」。之后在授权里填好地址 / 账号 / 密码,输一次双重认证 APP 上的 6 位码,点「获取设备 ID」即可。
设备 ID 约 30 天过期。部署时如果带设备 ID 登录失败、且授权里配了「验证密钥」,系统会自动回退成验证码登录,并把新的 did 写回授权。
其它面板
| 面板 | 字段 |
|---|---|
| 威联通 QTS | 地址、账号、密码、忽略证书校验 |
| Proxmox VE | 地址、API Token ID / Secret、节点名 |
| Nginx Proxy Manager | 地址、登录邮箱、密码 |
| 雷池 WAF | 访问地址、ApiToken |
证书签发:EAB 凭据
EAB(External Account Binding)是部分 CA 要求的账号绑定凭据。放在授权管理里,任务里只选不填 —— 因为 Google 的 EAB key 创建后 7 天失效,放任务里就得逐条流水线改,改漏一条就永远签不出来。
| 字段 | 说明 |
|---|---|
| 所属 CA | 必须和任务里选的 CA 一致(Google / ZeroSSL / FreeSSL-LiteSSL) |
| EAB Key ID | CA 控制台给的 Key ID(Google 叫 keyId,SSL.com 叫 Account Key) |
| EAB HMAC Key | base64 串,粘贴时只复制标签后面的值 |
关于 EAB 的两个坑
- Google 的 EAB 7 天失效:过期后报
Unknown external account binding (EAB) key,去控制台重新取一份,更新这条授权即可。 - FreeSSL / LiteSSL 的 EAB 只能用一次:注册成功后再注册会返回
External account binding has already been used。系统会在首次注册成功后把账户私钥 + 账户 URL 同时写回任务和 EAB 授权,其它流水线复用同一份 EAB 时直接复用账户,不会重复注册。
粘贴整段文本(含「Key ID:」「HMAC Key:」这类标签、换行、零宽字符)也没关系:系统会先清洗再使用,抠不出来会给一句中文提示。
点「测试」不会烧掉 EAB
授权页的「测试」按钮走的是同一条「注册或复用」链路,注册出来的账户会写回授权,所以不会把一次性的 EAB 用废。
授权类型必须匹配
部署插件会声明自己接受哪些授权类型。选错了会在执行前被拦下来,给一句中文结论,例如:
这个任务需要「群晖 DSM」类型的授权,当前选的是「宝塔面板」
所以「部署到群晖」的下拉里只会出现群晖授权,「部署到宝塔」的只会出现宝塔授权。老数据里如果带着不匹配的授权,字段下方会显示红色提示。
