腾讯云 EdgeOne 与 CDN 接入 CertbotX:SecretId 和 CAM 权限怎么配

腾讯云 EdgeOne 和传统 CDN 是两套产品权限。本文给出专用 CAM 子用户、最小 API 动作、SecretId/SecretKey 和 CertbotX 配置步骤。

本文目录

腾讯云 EdgeOne 和腾讯云传统 CDN 都能托管 HTTPS 证书,但它们不是同一套 API。EdgeOne 使用 TEO 服务,传统 CDN 使用 CDN 服务;两者上传证书时还要调用 SSL 服务。只给其中一套权限,常见结果就是“连接验证通过,部署时权限不足”。

先确认你要部署到哪里

  • 域名在 EdgeOne 的“站点/加速域名”中管理:选择腾讯云 EdgeOne。
  • 域名在传统“内容分发网络 CDN”中管理:选择腾讯云 CDN。
  • 两边都在用:可以共用一个腾讯云连接,但要创建两个不同部署目标,权限策略取两组动作的并集。

CertbotX 不会根据账号名称猜产品。选择什么目标,就调用什么产品 API。

创建 CAM 子用户和 API 密钥

  1. 打开 腾讯云访问管理 CAM。
  2. 在“用户 > 用户列表”创建专用子用户,例如 certbotx-deployer。
  3. 只开启编程访问,不要授予 AdministratorAccess,也不要复用主账号密钥。
  4. 在该子用户的 API 密钥管理中创建 SecretId 和 SecretKey。
  5. SecretKey 只显示一次,立即存入密码管理器。

如果腾讯云账号启用了更严格的密钥策略,按企业要求使用角色、来源 IP 或定期轮换进一步收窄。CertbotX 当前表单接收长期 SecretId/SecretKey,因此轮换时需要在“接入点 > 云厂商”中点击“更新凭据”,旧密钥确认不再使用后再禁用。

EdgeOne 最小权限

选择腾讯云部署产品:2 是 EdgeOne,3 是传统 CDN,必须按实际产品选择
选择腾讯云部署产品:2 是 EdgeOne,3 是传统 CDN,必须按实际产品选择查看原图

EdgeOne 连接和部署当前需要四个动作:

  • teo:DescribeZones:验证连接并找到域名所属站点 Zone ID。
  • teo:DescribeHostsSetting:查询加速域名当前 HTTPS/证书设置。
  • teo:ModifyHostsCertificate:把新证书绑定到指定加速域名,或恢复旧绑定。
  • ssl:UploadCertificate:把证书上传到腾讯云 SSL 证书服务。

可以在 CAM 中创建自定义策略:

{
  "version": "2.0",
  "statement": [
    {
      "effect": "allow",
      "action": [
        "teo:DescribeZones",
        "teo:DescribeHostsSetting",
        "teo:ModifyHostsCertificate",
        "ssl:UploadCertificate"
      ],
      "resource": ["*"]
    }
  ]
}

传统 CDN 最小权限

传统 CDN 使用另一组动作:

  • cdn:DescribeDomains:保存连接时执行只读验证。
  • cdn:DescribeDomainsConfig:查找目标域名和当前证书绑定。
  • cdn:UpdateDomainConfig:开启 HTTPS 并绑定新证书,或恢复旧证书 ID。
  • ssl:UploadCertificate:上传证书到腾讯云 SSL 服务。

对应策略如下:

{
  "version": "2.0",
  "statement": [
    {
      "effect": "allow",
      "action": [
        "cdn:DescribeDomains",
        "cdn:DescribeDomainsConfig",
        "cdn:UpdateDomainConfig",
        "ssl:UploadCertificate"
      ],
      "resource": ["*"]
    }
  ]
}
配置腾讯云账号:1 连接名称,2 SecretId,3 SecretKey,4 保存并验证
配置腾讯云账号:1 连接名称,2 SecretId,3 SecretKey,4 保存并验证查看原图

腾讯云部分 API 是否支持资源级授权会随产品变化。先用最小 Action 集合打通,再按 CAM 自定义策略语法 和权限检测结果收窄资源范围。不要因为 resource 暂时使用 *,就把动作也放大成整套管理员权限。

在 CertbotX 中配置

  1. 登录 CertbotX 客户控制台,进入“接入点 > 云厂商”。
  2. 点击“添加云厂商账号”,选择“腾讯云 EdgeOne”或“腾讯云 CDN”。两者都会创建腾讯云连接。
  3. 填写连接名称、SecretId 和 SecretKey,点击“保存并验证”。
  4. 连接通过验证后,回到域名部署向导,选择实际产品类型。
  5. EdgeOne 目标填写已经接入 EdgeOne 站点的完整加速域名;平台会自动查询 Zone ID。
  6. 传统 CDN 目标填写已经存在于 CDN 控制台的加速域名。

保存云连接时只做只读验证,不修改云资源。凭据使用 AES-GCM 加密保存,SecretKey 不会在连接列表再次显示。

为什么 EdgeOne 会卡在验证中

EdgeOne 控制面接受证书后,边缘节点还需要传播。CertbotX 会先确认云厂商已经绑定本次证书,再从公网读取实际 SNI 证书。只要公网还返回旧指纹,状态就会继续等待;超过上限或遇到不可重试错误时,平台会尝试使用加密快照恢复旧绑定。

排查顺序建议保持简单:

  1. 确认目标类型没有把 EdgeOne 选成传统 CDN,或反过来。
  2. 确认加速域名已经在对应产品中存在且属于这个账号。
  3. 查看错误是否指向 TEO、CDN 还是 SSL 权限。
  4. 在腾讯云控制台确认新证书 ID 是否已绑定。
  5. 用 CertbotX SSL 检测 和不同网络查看公网证书。

HTTP 强制跳转 HTTPS 一般不会影响 DNS-01 的证书重新申请,因为验证走 DNS CNAME/TXT,不走网站的 HTTP 页面。不过跳转规则、回源健康和证书部署是三件事,改 EdgeOne 规则后仍应单独访问业务页面确认。

← 返回资讯中心