阿里云 CDN 接入 CertbotX:RAM 子账号、AccessKey 和最小权限教程
不用主账号 AccessKey。创建专用 RAM 用户和自定义 CDN 权限,完成 CertbotX 云连接只读验证、证书上传、绑定与回滚。
本文目录
把主账号 AccessKey 填进第三方平台,短期确实省事,长期通常会变成一张没人敢删的“万能钥匙”。接入阿里云 CDN 时,建议单独创建一个 RAM 用户,只授予 CertbotX 查询 CDN 域名、读取当前证书和更新目标域名证书所需的权限。
CertbotX 会调用哪些阿里云 API
当前阿里云 CDN 部署链路使用四个动作:
cdn:DescribeUserDomains:保存云连接时执行只读验证。cdn:DescribeCdnDomainDetail:确认目标 CDN 域名属于该账号。cdn:DescribeDomainCertificateInfo:读取当前 HTTPS 和证书绑定,生成回滚快照。cdn:SetCdnDomainSSLCertificate:上传并绑定新证书,必要时恢复旧证书绑定。
只读验证通过,只能说明前三类查询权限基本可用,不代表最后的写权限已经正确。真正的部署演练仍要用一个非核心测试域名完成。
创建专用 RAM 用户
- 登录阿里云控制台,进入“访问控制 RAM”。
- 打开“身份管理 > 用户”,创建一个专用用户,例如
certbotx-cdn-deployer。 - 只为该用户创建 OpenAPI AccessKey,不给控制台登录权限,也不要使用主账号 AccessKey。
- Secret 只会完整显示一次,先保存在密码管理器中。
阿里云界面会随版本调整,找不到入口时可从 RAM 用户创建说明 进入最新文档。

创建最小权限策略
进入“权限管理 > 权限策略”,创建自定义策略。可以先使用下面的动作集合:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cdn:DescribeUserDomains",
"cdn:DescribeCdnDomainDetail",
"cdn:DescribeDomainCertificateInfo",
"cdn:SetCdnDomainSSLCertificate"
],
"Resource": "*"
}
]
}将策略授权给刚创建的 RAM 用户。部分 CDN API 对资源级授权支持有限,因此示例使用 Resource: "*",但动作已经限制在四项 CDN 能力内。如果账号里同时有多套业务,继续使用阿里云权限助手核对能否按资源收窄,不要为了省一行策略直接挂 AliyunCDNFullAccess 或管理员权限。
自定义策略的创建方式以 阿里云 RAM 自定义权限策略文档 为准。
在 CertbotX 中保存云连接
- 登录 CertbotX 客户控制台,进入“接入点”。
- 切换到“云厂商”,点击“添加云厂商账号”。
- 选择“阿里云 CDN”。
- 连接名称填写能区分环境的名称,例如“阿里云生产 CDN”。
- 填入 RAM 用户的
AccessKey ID和AccessKey Secret。 - 点击“保存并验证”。
凭据会在服务端使用 AES-GCM 加密保存,连接列表和后续 API 不会再次返回 Secret 明文。保存成功后 CertbotX 会立即调用 DescribeUserDomains 做只读验证。

然后在域名的部署向导中选择“云厂商 > 阿里云 > CDN”,选择刚验证的连接并填写已经存在于阿里云 CDN 的完整加速域名。平台不会替你创建 CDN 域名、修改回源或切换 DNS,只负责把已签发证书绑定到明确选择的 CDN 域名。
第一次部署怎么验收
建议先选一个非核心测试域名:
- 确认阿里云 CDN 控制台里已经存在该加速域名。
- 在 CertbotX 发起部署,观察“快照、上传、厂商确认、公网 TLS 验证”各阶段。
- 使用 SSL 检测工具 查看公网证书有效期、SAN 和颁发者。
- 再从不同网络访问一次,避免只看到单个边缘节点的结果。
CertbotX 上传到云厂商的证书名称使用“域名 + 年月日时分秒”,方便在控制台区分历史版本。部署前会保存旧证书绑定快照;厂商确认或公网验证失败时会尝试恢复旧绑定。回滚仍依赖阿里云 API 和旧证书资源可用,关键业务应保留自己的变更窗口和证书备份。
常见报错
- “AccessKey 不存在、已失效或无权访问”:确认 AK 属于刚授权的 RAM 用户,并检查是否已经禁用或轮换。
- “缺少目标资源的必要权限”:核对四个 Action,尤其是
SetCdnDomainSSLCertificate。 - “目标资源不存在或不属于当前账号”:CertbotX 中填写的必须是 CDN 加速域名,不是源站域名,也不能多一个协议或路径。
- 只读验证成功、部署失败:这通常是只有查询权限,没有写权限。
- 厂商显示新证书,公网还是旧证书:等待 CDN 节点传播,并检查 DNS 是否真的指向这套 CDN。
权限策略宜小不宜大,排障时也更清楚:四把小螺丝刀找错了还能逐项检查,一把万能电钻递给所有系统,出问题时就只能先拔电源。