使用指南

API 凭证

保存 RAM AccessKey,供多个阿里云部署目标复用。

阿里云

将证书推送到 阿里云 CDN、ESA、CLB、ALB、NLB、OSS、云虚拟主机或 CAS 证书库。请使用 RAM 子用户 的 AccessKey 调用 OpenAPI,不要使用主账号密钥

安全提示:建议单独创建一个仅用于证书自动部署的 RAM 用户,授予最小权限,并妥善保管 AccessKey Secret(仅创建时完整显示一次)。

前置说明

NestSSL 按产品调用对应 OpenAPI:

产品 部署方式 是否走 CAS 收费「云产品部署」
CDN / ESA / CLB / ALB / NLB / OSS 产品 OpenAPI 直接换证 ❌ 否(免费 API)
云虚拟主机 / CAS 上传到 CAS 证书库 ❌ 否(仅上传;绑定仍须控制台)

下文以 自定义策略(最小权限) 为例。本站 API 凭证 页也会按您已创建的目标类型,动态给出建议权限 JSON,可与下文对照。

命名说明:传统型负载均衡现称 CLB(控制台);OpenAPI 产品码仍为 slb:。本站侧栏与文档统一写 CLB。


一、创建 RAM 用户(API 访问)

  1. 打开 RAM 用户控制台
  2. 点击 「创建用户」
  3. 填写用户信息,例如:
    • 登录名称nestssl(可自定;完整 ID 形如 nestssl@您的账号ID.onaliyun.com
    • 显示名称NestSSL 证书自动部署
    • 备注用于证书自动部署
  4. 访问配置 中:
    • 不要 勾选「使用控制台访问」
    • 勾选使用永久 AccessKey 访问」(用于 API 或其他开发工具访问)
  5. 点击 「确定」,创建成功页会直接显示 AccessKey IDAccessKey Secret

若当时未保存 Secret,可进入该用户 → 认证管理创建 AccessKey 重新生成(旧 Key 建议及时禁用)。


二、创建自定义权限策略

2.1 进入策略列表

打开 RAM 权限策略,可查看账号下已有策略;点击左上角 「创建权限策略」 开始新建。

也可直接访问创建页:创建权限策略

2.2 按产品需要的 Action

产品 Action 用途
CAS / 虚拟主机 / CLB / ALB / NLB / OSS yundun-cert:UploadUserCertificate 上传证书到 CAS
CAS / 虚拟主机 / CLB / ALB / NLB / OSS yundun-cert:ListUserCertificateOrder 测试连接(只读)
CDN cdn:DescribeCdnDomainDetailcdn:SetCdnDomainSSLCertificate 查询/更新加速域名证书
ESA esa:GetSiteesa:SetCertificate 查询站点 / 更新边缘证书
CLB slb:Describe*slb:UploadServerCertificateslb:Set* 查询实例、换扩展域/默认证(API 码仍为 slb:
ALB alb:GetListenerAttributealb:UpdateListenerAttribute 查询/更新 HTTPS 监听默认证
NLB nlb:GetListenerAttributenlb:UpdateListenerAttribute 查询/更新 TCPSSL 监听证书
OSS oss:ListCnameoss:PutCname 更新自定义域名证书

仅用某一产品时,可只保留对应 Action;下文 JSON 为 全产品一次性授权 示例。

2.3 使用脚本编辑填入 JSON

  1. 在创建页切换到 「脚本编辑」 选项卡
  2. 将下方 JSON 完整替换 编辑器中的默认内容
  3. 点击 「继续编辑基本信息」(或「下一步」)
  4. 填写 策略名称,例如:NestSSL证书管理;备注可留空
  5. 点击 「确定」 完成创建
JSON
{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "yundun-cert:UploadUserCertificate",
                "yundun-cert:ListUserCertificateOrder",
                "cdn:DescribeCdnDomainDetail",
                "cdn:SetCdnDomainSSLCertificate",
                "esa:GetSite",
                "esa:SetCertificate",
                "slb:DescribeLoadBalancerAttribute",
                "slb:DescribeDomainExtensions",
                "slb:DescribeLoadBalancerHTTPSListenerAttribute",
                "slb:DescribeServerCertificates",
                "slb:UploadServerCertificate",
                "slb:SetDomainExtensionAttribute",
                "slb:SetLoadBalancerHTTPSListenerAttribute",
                "alb:GetListenerAttribute",
                "alb:UpdateListenerAttribute",
                "nlb:GetListenerAttribute",
                "nlb:UpdateListenerAttribute",
                "oss:ListCname",
                "oss:PutCname"
            ],
            "Resource": "*"
        }
    ]
}

三、为 RAM 用户授权

  1. 返回 RAM 用户列表,找到上一步创建的用户(如 nestssl@….onaliyun.com
  2. 在该用户行的 操作 列点击 「新增授权」
  3. 选择范围:保持默认「云账号全部资源」即可
  4. 选择策略:在搜索框输入策略名(如 NestSSL),勾选刚创建的 「NestSSL证书管理」 自定义策略
  5. 确认右侧 已选择权限策略 列表中出现该策略后,点击 「确定」

授权完成后,即可用该 AccessKey 在本站添加凭证并测试各产品目标。


四、在本站配置

建议分两步:先凭证,后目标

4.1 添加 API 凭证

  1. 登录 NestSSL → 证书部署 → 左侧 阿里云 → API 凭证
  2. 点击 「+ 新增凭证」,填写凭证名称、区域、AccessKey ID 与 AccessKey Secret
  3. 保存后可被多个 CDN、ESA、CLB、ALB、NLB、OSS 等目标复用

4.2 添加部署目标

在左侧选择产品类型并 「+ 新增目标」,各产品必填参数与说明见:

类型 文档
CDN CDN 部署
ESA ESA 部署
CLB CLB 部署(含默认证安全说明)
ALB ALB 部署
NLB NLB 部署
OSS OSS 部署
云虚拟主机 云虚拟主机
CAS CAS 证书库

通用步骤:选择 API 凭证 → 填写参数 → 测试保存 → 到 关联与推送 勾选证书(可选 自动)。

部署前请确保证书记录或密钥库中已保存 私钥


五、上传后的操作

  • CDN / ESA / CLB / ALB / NLB / OSS:部署成功即表示对应产品证书已更新(ESA 另需站点已开启 SSL/TLS)
  • 云虚拟主机 / 仅 CAS:证书在 CAS 控制台 可见后,请在对应产品控制台完成绑定

注意事项

  • CAS / CLB / ALB / NLB / OSS 等场景每次推送会生成含日期与任务 ID 的证书名称(如 nestssl-261201123),避免同名冲突
  • ESA 使用稳定名称 nestssl-esa-{站点ID},再次推送会复用上次证书 Id 更新
  • 旧版本证书 不会 自动删除,请在 CAS / ESA 控制台定期清理历史版本
  • 若「测试」或部署提示权限不足,请核对策略是否已授权给 当前使用的 RAM 用户,且 JSON 中 Action 拼写无误
  • 同一天对同一域名重复部署可能触发阿里云「证书名称已存在」;可在 CAS 控制台删除当日旧版本后重试

备选方案:系统策略(权限较宽)

若不需要最小权限,可在 新增授权 时直接搜索并添加阿里云 系统策略(可多选组合):

系统策略 覆盖
AliyunYundunCertFullAccess CAS 证书服务
AliyunESAFullAccess 边缘安全加速 ESA
AliyunSLBFullAccess 传统型负载均衡 CLB(系统策略名仍含 SLB)
AliyunALBFullAccess 应用型负载均衡 ALB
AliyunNLBFullAccess 网络型负载均衡 NLB
各产品对应 FullAccess(如 CDN) 对应云产品

配置更简单,但权限范围大于 NestSSL 实际所需,生产环境仍建议使用上文自定义策略。


相关文档