管理证书

本页介绍如何使用证书管理器创建 以及管理传输层安全协议 (TLS) (SSL) 证书。 Certificate Manager 支持 以下类型的 TLS (SSL) 证书:

  • Google 管理的证书是 Google Cloud 为您获取和管理的证书。您可以创建以下类型的 证书管理器:
    • 全球证书
      • 具有负载均衡器授权的 Google 管理的证书
      • 具有 DNS 授权的 Google 管理的证书
      • 使用 Certificate Authority Service (CA Service) 的 Google 管理的证书
    • 区域证书
      • Google 管理的区域级证书
      • 使用 CA Service 的 Google 管理的区域级证书
  • 自行管理的证书是您获取、预配和 续订。

如需详细了解证书,请参阅 Certificate Manager 的工作原理

如需了解如何使用 Certificate Manager 部署证书,请参阅部署概览

如需详细了解本页面中使用的 gcloud CLI 命令,请参阅 Certificate Manager CLI 参考文档

创建具有负载均衡器授权的 Google 管理的证书

如需创建具有负载均衡器授权的 Google 管理的证书,请完成本部分中的步骤。您只能在 global 位置创建具有负载均衡器授权的 Google 管理的证书。

如需为证书指定多个域名,请为证书提供以英文逗号分隔的目标域名列表。

要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:

  • Certificate Manager Editor
  • Certificate Manager Owner

如需了解详情,请参阅角色和权限

控制台

  1. 在 Google Cloud 控制台中,前往证书管理器页面。

    前往 Certificate Manager

  2. 在随即显示的页面上,选择证书标签页。

  3. 点击添加证书

  4. 输入证书的名称

    该名称在项目中必须是唯一的。

  5. 可选:输入证书的说明。说明 可帮助您稍后识别特定证书。

  6. 位置部分,选择全球

  7. 对于范围,选择默认

  8. 证书类型部分,选择创建 Google 管理的证书

  9. 对于证书授权机构类型,选择公开

  10. 指定证书的域名。请输入以英文逗号分隔 目标网域的列表。此外,每个域名都必须是 域名,例如 myorg.example.com

  11. 对于授权类型,请选择负载均衡器授权

  12. 指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 添加标签按钮,并为标签指定 keyvalue

  13. 点击创建。确认新证书是否显示在证书列表中。

gcloud

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES"

替换以下内容:

  • CERTIFICATE_NAME:描述此内容的唯一名称 证书。
  • DOMAIN_NAMES:以英文逗号分隔的目标列表 网域。每个域名都必须是完全限定的域名 域名,例如 myorg.example.com

Terraform

如需创建 Google 管理的证书,您可以使用 google_certificate_manager_certificate 资源 并使用 managed 代码块。

resource "google_certificate_manager_certificate" "default" {
  name        = "prefixname-rootcert-${random_id.default.hex}"
  description = "Google-managed cert"
  managed {
    domains = ["example.me"]
  }
  labels = {
    "terraform" : true
  }
}

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

API

certificates.create 方法发出 POST 请求,以创建证书,如下所示:

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
 }
}

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • CERTIFICATE_NAME:用于描述此证书的唯一名称。
  • DOMAIN_NAME:此证书的目标网域。域名必须是完全限定域名,如 名称:myorg.example.com

如需简要了解证书部署流程,请参阅 部署概览

创建具有 DNS 授权的 Google 代管的证书

如需创建具有 DNS 授权的 Google 管理的全球证书,请执行以下操作:

  1. 创建引用证书涵盖的每个域名的相应 DNS 授权。有关说明,请参阅 创建 DNS 授权
  2. 在 DNS 区域的 DNS 区域中为验证子网域配置有效的 CNAME 记录 目标网域。如需了解相关说明,请参阅将 CNAME 记录添加到您的 DNS 配置
  3. 完成本部分中的步骤。

您可以创建 regionalglobal 由 Google 管理的证书。 如需了解如何创建 regional 由 Google 管理的证书,请参阅 创建由 Google 管理的区域级证书

要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:

  • Certificate Manager Editor
  • Certificate Manager Owner

如需了解详情,请参阅角色和权限

控制台

  1. 在 Google Cloud 控制台中,前往证书管理器页面。

    前往“证书管理器”

  2. 在显示的页面上,选择证书标签页。

  3. 点击添加证书

  4. 输入证书的名称

    该名称在项目中必须是唯一的。

  5. 可选:输入证书的说明。说明 可帮助您稍后识别特定证书。

  6. 位置部分,选择全球

  7. 对于范围,选择默认

  8. 证书类型部分,选择创建 Google 管理的证书

  9. 对于证书授权机构类型,选择公开

  10. 指定证书的域名。请输入以英文逗号分隔 目标网域的列表。此外,每个域名都必须是 域名,例如 myorg.example.com

  11. 授权类型中,选择 DNS 授权。如果 域名具有关联的 DNS 授权,系统会自动获取该授权。如果域名没有关联的 DNS 授权,请执行以下操作:

    1. 点击创建缺失的 DNS 授权以显示“创建 DNS” 授权对话框。
    2. DNS 授权名称字段中,指定 DNS 授权名称。
    3. 点击创建 DNS 授权。 验证 DNS 名称是否已与域名相关联。
  12. 指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 添加标签按钮,并为标签指定 keyvalue

  13. 点击创建。确认新证书是否显示在证书列表中。

gcloud

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --dns-authorizations="AUTHORIZATION_NAMES"

替换以下内容:

  • CERTIFICATE_NAME:描述此内容的唯一名称 证书。
  • DOMAIN_NAMES:以英文逗号分隔的目标列表 网域。每个域名都必须是完全限定域名,例如 myorg.example.com
  • AUTHORIZATION_NAMES:您为此证书创建的 DNS 授权的名称列表(以英文逗号分隔)。

如需创建带有通配符域名的 Google 管理的证书,请使用 。通配符域名证书涵盖给定网域的所有第一级子网域。

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="*.DOMAIN_NAME,DOMAIN_NAME" \
    --dns-authorizations=AUTHORIZATION_NAME

替换以下内容:

  • CERTIFICATE_NAME:用于描述此证书的唯一名称。
  • DOMAIN_NAME:此配置的目标网域 证书。星号圆点前缀 (*.) 前缀表示通配符证书。通过 域名必须是完全限定域名,例如 myorg.example.com
  • AUTHORIZATION_NAME:您为此证书创建的 DNS 授权的名称。

Terraform

如需创建具有 DNS 授权的 Google 管理的证书,您可以在 managed 块中使用 google_certificate_manager_certificate 资源dns_authorizations 属性。

resource "google_certificate_manager_certificate" "root_cert" {
  name        = "${local.name}-rootcert-${random_id.tf_prefix.hex}"
  description = "The wildcard cert"
  managed {
    domains = [local.domain, "*.${local.domain}"]
    dns_authorizations = [
      google_certificate_manager_dns_authorization.default.id
    ]
  }
  labels = {
    "terraform" : true
  }
}

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

API

certificates.create 方法发出 POST 请求,以创建证书,如下所示:

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "dnsAuthorizations": [
   "projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME",
  ],
 }
}

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • CERTIFICATE_NAME:用于描述此证书的唯一名称。
  • DOMAIN_NAME:此证书的目标网域。星号圆点前缀 (*.) 表示通配符证书。域名必须是完全限定域名,例如 myorg.example.com
  • AUTHORIZATION_NAME:您为此证书创建的 DNS 授权的名称。

要跨多个项目独立管理证书,您可以使用 每个项目的 DNS 授权。对于 如需了解如何使用每个项目的 DNS 授权创建证书,请参阅 创建 DNS 授权

如需简要了解证书部署流程,请参阅部署概览

创建由 CA 服务颁发的 Google 管理的证书

创建由 CA 服务颁发的 Google 管理的证书 实例,请完成本部分中的步骤。您可以创建 regionalglobal Google 管理的证书。如需了解如何创建由 CA Service 颁发的 Google 管理的区域级证书,请参阅创建由 CA Service 颁发的 Google 管理的区域级证书

如需完成此任务,您必须在目标中拥有以下角色 Google Cloud 项目:

如需详细了解本部分中使用的 gcloud CLI 命令,请参阅 Certificate Manager CLI 参考文档

配置 CA Service 与 Certificate Manager 的集成

如果尚未配置,则必须先配置 与 CA Service 集成的证书管理器 如本部分所述。如果目标 CA 池中有效的证书颁发政策存在以下某种情况,证书配置可能会失败:

  • 证书颁发政策已屏蔽请求的证书。在这种情况下,由于证书尚未签发,因此您无需付费。
  • 政策对证书进行了一些更改,但证书管理器不支持这些更改。在这种情况下,即使证书与 Certificate Manager 不完全兼容,您仍需支付相应费用,因为证书已颁发。

如有任何与发行政策限制相关的问题,请参阅问题排查页面。

如需配置 CA Service 与 Certificate Manager 的集成,请执行以下操作:

  1. 向 Certificate Manager 授予从目标 CA 池请求证书的权限:

    1. 使用以下命令在目标 Google Cloud 项目中创建一个 Certificate Manager 服务账号:

      gcloud beta services identity create --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
      

      PROJECT_ID 替换为目标 Google Cloud 项目的 ID。

      该命令会返回创建的服务账号的名称。例如:

      service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com

    2. 向 Certificate Manager 服务账号授予目标 CA 池中的 Certificate Requester 角色,如下所示:

      gcloud privateca pools add-iam-policy-binding CA_POOL \
          --location REGION \
          --member="serviceAccount:SERVICE_ACCOUNT" \
          --role roles/privateca.certificateRequester
      

      替换以下内容:

      • CA_POOL:目标池的 ID
      • REGION:目标 Google Cloud 区域
      • SERVICE_ACCOUNT:您在第 1 步中创建的服务账号的完整名称
  2. 为 CA 池创建证书颁发配置资源:

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面。

    前往“证书管理器”

  2. Issuance Configs(发布配置)标签页上,点击 Create(创建)。

  3. 名称字段中,为证书颁发配置输入一个唯一名称。

  4. 位置部分,选择全球

  5. 可选:在说明字段中,输入发布配置的说明。

  6. Lifetime(有效期)字段中,以天为单位指定已颁发证书的有效期。该值必须介于 21 到 30 天(含)之间。

  7. 轮替期限百分比中,指定证书续订流程开始时所占的生命周期百分比。如需查找有效值的范围,请参阅生命周期和轮替期百分比

  8. 密钥算法列表中,选择生成私钥时要使用的密钥算法。

  9. CA 池列表中,选择要分配给此证书颁发配置的 CA 池的名称。

  10. 标签字段中,指定要与证书关联的标签。如需添加标签,请点击 添加标签,然后为标签指定 keyvalue

  11. 点击创建

gcloud

 gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
     --ca-pool=CA_POOL \
     [--lifetime=CERTIFICATE_LIFETIME] \
     [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \
     [--key-algorithm=KEY_ALGORITHM]
 

替换以下内容:

  • ISSUANCE_CONFIG_NAME:用于标识 此证书颁发配置资源。
  • CA_POOL:CA 的完整资源路径和名称 池。
  • CERTIFICATE_LIFETIME:证书有效期(以天为单位)。标准时长的有效值范围为 21 至 30 天 格式。默认值为 30 天 (30D)。此设置为可选设置。
  • ROTATION_WINDOW_PERCENTAGE:触发证书续订时,在证书有效期内所占的百分比。如需查找有效值的范围,请参阅生命周期和轮替期百分比。此设置是可选的。
  • KEY_ALGORITHM:用于 生成私钥。有效值为 ecdsa-p256rsa-2048。 默认值为 rsa-2048。 此设置是可选的。

如需详细了解证书颁发配置资源,请参阅管理证书颁发配置

创建由您的 CA 服务实例颁发的 Google 管理的证书

创建由您的 CA 服务颁发的 Google 管理的证书 如下所示:

控制台

  1. 在 Google Cloud 控制台中,前往证书管理器页面。

    前往 Certificate Manager

  2. 在随即显示的页面上,选择证书标签页。

  3. 点击添加证书

  4. 输入证书的名称

    该名称在项目中必须是唯一的。

  5. 可选:输入证书的说明。说明 可帮助您稍后识别特定证书。

  6. 位置部分,选择全球

  7. 对于范围,选择默认

  8. 证书类型部分,选择创建 Google 管理的证书

  9. 对于证书授权机构类型,请选择私有

  10. 指定证书的域名。请输入以英文逗号分隔 目标网域的列表。此外,每个域名都必须是 域名,例如 myorg.example.com

  11. 证书颁发配置部分,选择证书的名称 引用了目标 CA 池的颁发配置资源。

    如需创建签发配置,请点击添加证书签发配置,指定以下详细信息,然后点击创建

    • 名称:证书颁发配置的唯一名称。
    • 说明:发布配置的说明。
    • 有效期:已颁发证书的有效期(以天为单位)。该值必须介于 21 到 30 天(含)之间。
    • 轮替窗口百分比:触发证书续订时,证书在证书有效期内所占的百分比。要查找有效值范围,请参阅生命周期和轮播窗口百分比
    • 密钥算法:生成私钥时使用的密钥算法。
    • CA 池:要分配给此证书颁发配置的 CA 池的名称。
    • 标签:要关联到证书颁发配置的标签。
  12. 指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 添加标签按钮,并为标签指定 keyvalue

  13. 点击创建。确认新证书是否显示在证书列表中。

gcloud

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME

替换以下内容:

  • CERTIFICATE_NAME:描述此内容的唯一名称 证书。
  • DOMAIN_NAMES:以英文逗号分隔的目标列表 网域。每个域名都必须是完全限定的域名 域名,例如 myorg.example.com
  • ISSUANCE_CONFIG_NAME:引用目标 CA 池的证书颁发配置资源的名称。

API

certificates.create 方法发出 POST 请求,以创建证书,如下所示:

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": ["ISSUANCE_CONFIG_NAME"],
 }
}

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • CERTIFICATE_NAME:用于描述此证书的唯一名称。
  • DOMAIN_NAME:此配置的目标网域 证书。域名必须是完全限定域名,例如 myorg.example.com
  • ISSUANCE_CONFIG_NAME:引用目标 CA 池的证书颁发配置资源的名称。

如需大致了解证书部署流程,请参阅部署概览

创建由 CA 服务颁发的 Google 管理的区域级证书

如需创建由您控制的 CA Service 实例颁发的 Google 管理的区域级证书,请完成本部分中的步骤。

配置 CA Service 与 Certificate Manager 的集成

配置证书管理器 CA Service,如下所示:

  1. 在目标 Google Cloud 项目中创建一个 Certificate Manager 服务账号:

    gcloud beta services identity create
        --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    PROJECT_ID 替换为目标的 ID Google Cloud 项目。

    该命令会返回已创建服务身份的名称,如 示例:

    service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
    
  2. 向 Certificate Manager 服务账号授予证书 目标 CA 池中的请求者角色,如下所示:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location LOCATION \
        --member "serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
    

    替换以下内容:

    • CA_POOL:目标 CA 池的 ID。
    • LOCATION:目标 Google Cloud 位置。您 必须指定与 CA 池相同的位置,证书颁发 和托管式证书
    • SERVICE_ACCOUNT:您在第 1 步中创建的服务账号的完整名称。
  3. 为 CA 池创建证书颁发配置资源:

控制台

  1. 在 Google Cloud 控制台中,前往证书管理器页面。

    前往“证书管理器”

  2. Issuance Configs(发布配置)标签页上,点击 Create(创建)。

  3. 名称字段中,为证书颁发配置输入一个具有唯一性的名称。

  4. 可选:在说明字段中,输入发布配置的说明。

  5. 对于位置,选择地区级

  6. 区域列表中选择区域。

  7. Lifetime 字段中,指定已颁发证书的生命周期(以天为单位)。该值必须介于 21 天到 30 天(包括这两个数值)之间。

  8. 轮替期限百分比中,指定证书续订流程开始时所占的生命周期百分比。如需查找有效值的范围,请参阅生命周期和轮替期百分比

  9. 密钥算法列表中,选择生成私钥时要使用的密钥算法。

  10. CA 池列表中,选择要分配给此证书颁发配置的 CA 池的名称。

  11. 标签字段中,指定要与证书关联的标签。如需添加标签,请点击 添加标签,然后为标签指定 keyvalue

  12. 点击创建

gcloud

gcloud beta certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
    --ca-pool=CA_POOL \
    --location=LOCATION> \
    [--lifetime=CERTIFICATE_LIFETIME] \
    [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \
    [--key-algorithm=KEY_ALGORITHM] \

替换以下内容:

  • ISSUANCE_CONFIG_NAME:证书颁发配置资源的唯一名称。
  • CA_POOL:您要分配给此证书颁发配置资源的 CA 池的完整资源路径和名称。
  • LOCATION:目标 Google Cloud 位置。您必须指定与 CA 池、证书颁发配置资源和受管证书相同的位置。
  • CERTIFICATE_LIFETIME:证书有效期(以天为单位)。有效值介于 21 天到 30 天之间,采用标准时长格式。默认值为 30 天 (30D)。此设置为可选设置。
  • ROTATION_WINDOW_PERCENTAGE:证书续订流程开始时,证书在有效期内所占的百分比。要查找有效值范围,请参阅生命周期和轮播窗口百分比
  • KEY_ALGORITHM:用于 生成私钥。有效值为 ecdsa-p256rsa-2048。 默认值为 rsa-2048。此设置是可选的。
  • DESCRIPTION:证书的说明 颁发配置资源。此设置是可选的。

如需详细了解证书颁发配置资源,请参阅 管理证书颁发配置

创建由您的 CA 服务颁发的区域级 Google 管理的证书

使用上一步中创建的证书颁发配置资源,创建由 CA Service 颁发的区域性 Google 管理的证书:

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面。

    前往 Certificate Manager

  2. 在随即显示的页面上,选择证书标签页。

  3. 点击添加证书

  4. 输入证书的名称

    该名称在项目中必须是唯一的。

  5. 可选:输入证书的说明。说明 可帮助您稍后识别特定证书。

  6. 位置部分,选择区域级

  7. 区域列表中,选择一个区域。

  8. 对于证书类型,选择创建 Google 管理的证书

  9. 对于证书授权机构类型,请选择私有

  10. 指定证书的域名。请输入以英文逗号分隔 目标网域的列表。此外,每个域名都必须是 域名,例如 myorg.example.com

  11. 证书颁发配置部分,选择证书的名称 引用了目标 CA 池的颁发配置资源。

    如需创建签发配置,请点击添加证书签发配置,指定以下详细信息,然后点击创建

    • 名称:证书颁发配置的唯一名称。
    • 说明:发布配置的说明。
    • 有效期:已颁发证书的有效期(以天为单位)。该值必须介于 21 到 30 天(含)之间。
    • 轮替窗口百分比:证书续订流程开始时,证书生命周期的百分比。要查找有效值范围,请参阅生命周期和轮播窗口百分比
    • 密钥算法:生成私钥时使用的密钥算法。
    • CA 池:要分配给此证书颁发配置的 CA 池的名称。
    • 标签:要关联到证书颁发配置的标签。
  12. 指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 添加标签按钮,并为标签指定 keyvalue

  13. 点击创建。确认新证书是否显示在证书列表中。

gcloud

运行以下命令:

gcloud beta certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config="ISSUANCE_CONFIG_NAME" \
    --location="LOCATION"

替换以下内容:

  • CERTIFICATE_NAME:证书的唯一名称。
  • DOMAIN_NAMES:此证书的目标网域的英文逗号分隔列表。每个域名都必须是完全限定域名,例如 myorg.example.com
  • ISSUANCE_CONFIG_NAME:证书的名称 引用了目标 CA 池的颁发配置资源。
  • LOCATION:目标 Google Cloud 位置。您 必须指定与 CA 池相同的位置,证书颁发 和托管式证书

API

certificates.create 方法发出 POST 请求,以创建证书,如下所示:

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?
{
certificate: {
    name: "/projects/example-project/locations/LOCATION/certificates/my-cert",
    "managed": {
        "domains": ["DOMAIN_NAME"],
        "issuanceConfig": "ISSUANCE_CONFIG_NAME",
              },
             }
}

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • CERTIFICATE_NAME:证书的唯一名称。
  • DOMAIN_NAME:此证书的目标网域。域名必须是完全限定域名,例如 example.comwww.example.com
  • ISSUANCE_CONFIG_NAME:证书的名称 引用了目标 CA 池的颁发配置资源。
  • LOCATION:目标 Google Cloud 位置。您必须指定与 CA 池、证书颁发配置资源和受管证书相同的位置。

如需大致了解证书部署流程,请参阅部署概览

创建 Google 管理的区域性证书

如需创建具有 DNS 授权的 Google 管理的证书,请执行以下操作:

  1. 创建引用每个 证书覆盖的域名。如需了解相关说明,请参阅创建 DNS 授权
  2. 在目标网域的 DNS 区域中为验证子网域配置有效的 CNAME 记录。如需了解相关说明,请参阅将 CNAME 记录添加到您的 DNS 配置
  3. 完成本部分中的步骤。

您可以同时创建 regionalglobal Google 管理的证书。如需了解如何创建 global Google 管理的证书,请参阅创建具有 DNS 授权的 Google 管理的证书

要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:

  • Certificate Manager Editor
  • Certificate Manager Owner

如需了解详情,请参阅角色和权限

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面。

    前往 Certificate Manager

  2. 在随即显示的页面上,选择证书标签页。

  3. 点击添加证书

  4. 输入证书的名称

    该名称在项目中必须是唯一的。

  5. 可选:输入证书的说明。说明 可帮助您稍后识别特定证书。

  6. 位置部分,选择区域级

  7. 区域列表中,选择一个区域。

  8. 对于证书类型,选择创建 Google 管理的证书

  9. 对于证书授权机构类型,选择公开

  10. 指定证书的域名。请输入以英文逗号分隔 目标网域的列表。此外,每个域名都必须是 域名,例如 myorg.example.com

  11. 授权类型中,选择 DNS 授权。如果 域名具有关联的 DNS 授权,系统会自动获取该授权。如果域名没有关联的 DNS 授权,请执行以下操作:

    1. 点击创建缺少的 DNS 授权以显示创建 DNS 授权对话框。
    2. DNS Authorization Name(DNS 授权名称)字段中,指定 DNS 授权 名称。
    3. 点击创建 DNS 授权。 验证 DNS 名称是否与域名相关联。
  12. 指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 添加标签按钮,并为标签指定 keyvalue

  13. 点击创建。确认新证书是否显示在证书列表中。

gcloud

运行以下命令:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
   --domains=DOMAIN_NAME \
   --dns-authorizations=AUTHORIZATION_NAME \
   --location=LOCATION

替换以下内容:

  • CERTIFICATE_NAME:证书的唯一名称。
  • DOMAIN_NAME:证书的目标网域。域名必须是完全限定域名,例如 myorg.example.com
  • AUTHORIZATION_NAME:您为此证书创建的 DNS 授权的名称。
  • LOCATION:您创建 Google 代管的证书的位置。

如需创建带有通配符域名的 Google 管理的证书,请使用 。通配符域名证书涵盖给定网域的所有第一级子网域。

gcloud certificate-manager certificates create CERTIFICATE_NAME \
   --domains="*.DOMAIN_NAME,DOMAIN_NAME" \
   --dns-authorizations=AUTHORIZATION_NAME
   --location=LOCATION

替换以下内容:

  • CERTIFICATE_NAME:证书的唯一名称。
  • DOMAIN_NAME:证书的目标网域。 星号点前缀 (*.) 表示通配符证书。域名必须是完全限定域名,例如 myorg.example.com
  • AUTHORIZATION_NAME:您为此证书创建的 DNS 授权的名称。
  • LOCATION:您创建 Google 代管的证书的位置。

上传自行管理的证书

如需上传自行管理的证书,请完成本部分中的步骤。您 可以上传以下类型的全局和区域级 X.509 TLS (SSL) 证书:

  • 您选择的第三方证书授权机构 (CA) 生成的证书
  • 由您控制的证书授权机构生成的证书
  • 自签名证书,如 创建私钥和证书

您必须上传以下 PEM 编码文件:

  • 证书 (.crt) 文件
  • 相应的私钥 (.key) 文件

请参阅部署概览 了解开始在负载均衡器上提供证书所需的步骤。

要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:

  • Certificate Manager Editor
  • Certificate Manager Owner

如需了解详情,请参阅角色和权限

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面。

    前往 Certificate Manager

  2. 在随即显示的页面上,选择证书标签页。

  3. 点击添加证书

  4. 输入证书的名称

    该名称在项目中必须是唯一的。

  5. 可选:输入证书的说明。说明有助于您日后识别特定证书。

  6. 对于位置,选择以下任一

    • Global(全局):选择“Global”(全局),以便可以使用该证书 。如果您选择“全球”,请从范围下拉菜单中选择以下任一选项:
      • 默认:具有默认范围的证书由核心 Google 数据中心提供。
      • 边缘缓存:具有此范围的证书是专用证书,由非核心 Google 数据中心提供。
      • 所有区域:所有区域都提供证书。
    • 区域:选择“区域”,以便在特定区域使用证书。如果您选择“区域级”,请从区域列表中选择一个区域。
  7. 证书类型部分,选择创建自行管理的证书

  8. 对于证书字段,请执行以下任一操作:

    • 点击上传按钮,然后选择您的 PEM 格式 证书文件。
    • 复制并粘贴 PEM 格式证书的内容。内容必须以 -----BEGIN CERTIFICATE----- 开头,并以 -----END CERTIFICATE----- 结尾。
  9. 对于私钥证书字段,请执行以下任一操作:

    • 点击上传按钮,然后选择您的私钥。您的私钥必须采用 PEM 格式,且不受密码保护。
    • 复制并粘贴 PEM 格式的私钥内容。私钥必须以 -----BEGIN PRIVATE KEY----- 开头,并以 -----END PRIVATE KEY----- 结尾。
  10. 指定要与证书关联的标签。您可以添加 多个标签(如果需要)。要添加标签,请点击 添加标签按钮,然后为标签指定 keyvalue

  11. 点击创建。验证新证书是否显示在 证书。

gcloud

gcloud certificate-manager certificates create  CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    [--location="REGION"]

替换以下内容:

  • CERTIFICATE_NAME:用于描述此证书的唯一名称。
  • CERTIFICATE_FILE.crt 证书文件的路径和文件名。
  • PRIVATE_KEY_FILE.key 的路径和文件名 私钥文件
  • REGION:目标 Google Cloud 区域。默认值为 global。 此设置是可选的。

Terraform

如需上传自行管理的证书,您可以将 google_certificate_manager_certificate 资源self_managed 块搭配使用。

API

POST 请求发送到 certificates.create 方法,如下所示:

POST /v1/projects/PROJECT_ID/locations/[REGION]/certificates?certificate_id=CERTIFICATE_NAME
{
  self_managed: {
    pem_certificate: "PEM_CERTIFICATE",
    pem_private_key: "PEM_KEY",
  }
}

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • CERTIFICATE_NAME:描述此内容的唯一名称 证书。
  • PEM_CERTIFICATE:证书 PEM。
  • PEM_KEY:密钥 PEM。
  • REGION:目标 Google Cloud 区域。默认值为 global。 此设置是可选的。

更新证书

如需更新现有证书,而不修改其在相应证书映射中对网域名的分配,请完成本部分中的步骤。新证书中的 SAN 必须与 现有证书

对于 Google 管理的证书,您只能更新 descriptionlabels 字段。要更新自行管理的证书,您必须上传 以下 PEM 编码文件:

  • 证书 (.crt) 文件
  • 相应的私钥 (.key) 文件

要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:

  • Certificate Manager Editor
  • Certificate Manager Owner

如需了解详情,请参阅角色和权限

gcloud

gcloud certificate-manager certificates update CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    --description="DESCRIPTION" \
    --update-labels="LABELS" \
    [--location="REGION"]

替换以下内容:

  • CERTIFICATE_NAME:目标证书的名称。
  • CERTIFICATE_FILE.crt 的路径和文件名 证书文件。
  • PRIVATE_KEY_FILE.key 的路径和文件名 私钥文件
  • DESCRIPTION:此证书的唯一说明值。
  • LABELS:应用于此证书的标签的逗号分隔列表。
  • REGION:目标 Google Cloud 区域。默认值为 global。 此设置是可选的。

API

certificates.patch 方法发出 PATCH 请求,以更新证书,如下所示:

PATCH /v1/projects/PROJECT_ID/locations/[REGION]/certificates/CERTIFICATE_NAME?updateMask=self_managed,labels,description
{
   self_managed: { // Self-managed certificates only
    pem_certificate: "PEM_CERTIFICATE",
    pem_private_key: "PEM_KEY",
  }
  "description": "DESCRIPTION",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE",
  }

}

替换以下内容:

  • PROJECT_ID:目标的 ID Google Cloud 项目。
  • REGION:目标 Google Cloud 区域。默认值为 global。 此设置是可选的。
  • CERTIFICATE_NAME:目标证书的名称。
  • PEM_CERTIFICATE:证书 PEM。
  • PEM_KEY:密钥 PEM。
  • DESCRIPTION:此证书的有意义的说明。
  • LABEL_KEY:应用于此证书的标签键。
  • LABEL_VALUE:应用于此证书的标签值。

列出证书

如需列出由 Certificate Manager 管理的证书,请完成本部分中的步骤。例如,您可以执行以下查询:

  • 按分配的域名列出证书
  • 列出已过期的证书

若要完成此任务,您必须在目标 Google Cloud 项目中拥有以下角色之一:

  • Certificate Manager Viewer
  • Certificate Manager Editor
  • Certificate Manager Owner

如需了解详情,请参阅角色和权限

控制台

如果您的项目中有超过 10,000 个由证书管理器管理的证书,Google Cloud 控制台中的证书管理器页面将无法列出这些证书。在这种情况下,请使用 gcloud CLI 命令来改为列出您的证书。

  1. 在 Google Cloud 控制台中,前往证书管理器页面。

    前往 Certificate Manager

  2. 在随即显示的页面上,选择证书标签页。此标签页 该列表中列出了 所选项目中的 Certificate Manager。

传统证书标签页会列出所选项目中直接通过 Cloud Load Balancing 预配的证书。这些 证书不由 Certificate Manager 管理。对于 有关管理这些证书的说明,请参阅以下内容之一: 文章:

gcloud

gcloud certificate-manager certificates list \
    [--location="REGION"] \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

替换以下内容:

  • REGION:目标 Google Cloud 区域;添加到列表 来自所有区域的证书,请使用 - 作为值。默认值为 global。此设置是可选的。
  • FILTER:限制返回的 与特定值相关联。例如,您可以按 以下条件:
    • 到期时间:--filter='expire_time >= "2021-09-01T00:00:00Z"'
    • SAN DNS 名称:--filter='san_dnsnames:"example.com"'
    • 证书状态:--filter='managed.state=FAILED'
    • 证书类型:--filter='managed:*'
    • 标签和创建时间:--filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

如需更多过滤示例,您可以使用 请参阅排序和过滤列表 结果

  • PAGE_SIZE:每页返回的结果数。
  • LIMIT:要返回的结果数上限。
  • SORT_BY:用于对返回的结果进行排序的 name 字段的英文逗号分隔列表。默认排序顺序为升序;如需降序排序,请在字段前面加上 ~

API

certificates.list 方法发出 LIST 请求,以列出证书,如下所示:

GET /v1/projects/PROJECT_ID/locations/REGION/certificates?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

替换以下内容:

  • REGION:目标 Google Cloud 区域;添加到列表 来自所有区域的证书,请使用 - 作为值。
  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • FILTER:用于将返回的结果限制为特定值的表达式。
  • PAGE_SIZE:每页返回的结果数。
  • SORT_BY:用于对返回的结果进行排序的字段名称的英文逗号分隔列表。默认排序顺序为升序;如需降序排序,请在字段前面加上 ~

查看证书的状态

如需查看现有证书的状态(包括其配置状态和其他详细信息),请完成本部分中的步骤。

若要完成此任务,您必须在目标 Google Cloud 项目中拥有以下角色之一:

  • Certificate Manager Viewer
  • Certificate Manager Editor
  • Certificate Manager Owner

如需了解详情,请参阅角色和权限

控制台

如果您的项目中有超过 10,000 个由证书管理器管理的证书,Google Cloud 控制台中的证书管理器页面将无法列出这些证书。在这种情况下,请改用 gcloud CLI 命令列出您的证书。不过, 如果您有直接指向该证书的详细信息页面的链接, Google Cloud 控制台中的 Certificate Manager 页面可以显示这些证书 。

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面。

    前往 Certificate Manager

  2. 在随即显示的页面上,选择证书标签页。

  3. 证书标签页上,前往目标证书,然后 点击证书名称。

证书详情页面显示了 证书。

  1. 可选:如需查看 Certificate Manager API 针对此证书的 REST 响应,请点击等效 REST

  2. 可选:如果证书具有您要查看的关联证书颁发配置,请在颁发配置字段中,点击关联证书颁发配置的名称。

    Google Cloud 控制台会显示证书的完整配置 发布配置。

gcloud

gcloud certificate-manager certificates describe CERTIFICATE_NAME \
    [--location="REGION"]

替换以下内容:

  • CERTIFICATE_NAME:目标证书的名称。
  • REGION:目标 Google Cloud 区域。默认值为 global。 此设置是可选的。

API

GET certificates.get 方法,如下所示:

GET /v1/projects/PROJECT_ID/locations/REGION/certificates/CERTIFICATE_NAME

替换以下内容:

  • PROJECT_ID:目标的 ID Google Cloud 项目。
  • REGION:目标 Google Cloud 区域。
  • CERTIFICATE_NAME:目标证书的名称。

删除证书

如需从 Certificate Manager 中删除证书,请完成本部分中的步骤。您必须先移除证书,然后才能删除证书 从引用它的所有证书映射条目中生成;否则删除 失败。

若要完成此任务,您必须拥有目标 Google Cloud 项目的“证书管理器所有者”角色。

如需了解详情,请参阅角色和权限

控制台

  1. 在 Google Cloud 控制台中,前往证书管理器页面。

    前往“证书管理器”

  2. 证书标签页中,选中要删除的证书对应的复选框。

  3. 点击删除

  4. 在随即显示的对话框中,点击删除进行确认。

gcloud

gcloud certificate-manager certificates delete CERTIFICATE_NAME \
   [--location="REGION"]

替换以下内容:

  • CERTIFICATE_NAME:目标证书的名称。
  • REGION:目标 Google Cloud 区域。默认值为 global。 此设置是可选的。

API

certificates.delete 发出 DELETE 请求以删除证书 方法,如下所示:

DELETE /v1/projects/PROJECT_ID/locations/REGION/certificates/CERTIFICATE_NAME

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • REGION:目标 Google Cloud 区域。
  • CERTIFICATE_NAME:目标证书的名称。

后续步骤