管理证书

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

  • Google 管理的证书 为您获取和管理您可以创建以下类型的 证书管理器: <ph type="x-smartling-placeholder">
      </ph>
    • 全球证书
      • 具有负载均衡器授权的 Google 管理的证书
      • 具有 DNS 授权的 Google 管理的证书
      • 使用 Certificate Authority Service (CA Service) 的 Google 管理的证书
    • 区域证书
      • Google 管理的区域级证书
      • 由 Google 管理的区域级证书(适用于 CA Service)
  • 自行管理的证书是您获取、预配和 续订。

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

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

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

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

如需创建具有负载均衡器授权的 Google 管理的证书,请执行以下操作: 完成本部分中的步骤您只能创建由 Google 管理的 具有负载均衡器授权的证书,位于 global 位置。

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

要完成此任务,您必须拥有目标的以下角色之一 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

通过向 POST 请求创建证书 certificates.create 方法,如下所示:

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 授权
  2. 在 DNS 区域的 DNS 区域中为验证子网域配置有效的 CNAME 记录 目标网域。有关说明,请参阅 将 CNAME 记录添加到 DNS 配置
  3. 完成本部分中的步骤。

您可以创建 regionalglobal 由 Google 管理的证书。 如需了解如何创建 regional 由 Google 管理的证书,请参阅 创建由 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. 对于授权类型,选择 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 管理的证书,您可以使用 google_certificate_manager_certificate 资源managed 代码块中使用 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

通过向 POST 请求创建证书 certificates.create 方法,如下所示:

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 管理的证书。相关信息 如何创建由 Google 管理的 CA Service,请参阅 创建由 CA 服务颁发的区域级 Google 管理的证书

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

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

配置 CA Service 与 Certificate Manager 的集成

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

  • 证书颁发政策已屏蔽所请求的证书。在 在这种情况下,您不需要支付费用,因为证书尚未颁发。
  • 此政策对证书应用了不支持的更改 Certificate Manager。在这种情况下,您仍然需要付费,因为 证书已颁发,即使它与 Certificate Manager。

对于与发布政策限制相关的任何问题,请参阅 问题排查 页面。

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

  • 授予证书管理器请求证书的权限 从目标 CA 池中移除: <ph type="x-smartling-placeholder">
      </ph>
    1. 使用以下命令创建证书管理器 目标 Google Cloud 项目中的服务账号:
     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

    1. 向 Certificate Manager 服务账号授予 证书授权机构池中的 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 步中创建的账号
  1. 为 CA 池创建证书颁发配置资源:

     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:相对于 触发续订的证书的整个有效期。默认值为 66。 百分比。您必须设置轮播窗口相对于 证书有效期,以使证书至少续期 7 天 在证书颁发之后至少提前 7 天 过期。此设置是可选的。
    • 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 池的颁发配置资源。

  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

通过向 POST 请求创建证书 certificates.create 方法,如下所示:

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 管理的区域级证书

要创建由 Google Cloud 或 CA Service 实例,请完成 部分。

配置 CA Service 与 Certificate Manager 的集成

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

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

    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
  1. 向 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 步中创建的应用 ID。
  2. 为 CA 池创建证书颁发配置资源:

    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:相对于 触发续订的证书的整个有效期。此设置 可选属性。默认值是 66%。您必须设置轮播 相对于证书生命周期的窗口百分比 证书更新至少 7 天后, 且距离过期还有至少 7 天。
    • KEY_ALGORITHM:用于 生成私钥。有效值为 ecdsa-p256rsa-2048。 默认值为 rsa-2048。此设置是可选的。
    • DESCRIPTION:证书的说明 颁发配置资源。此设置是可选的。

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

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

创建由 Google 管理且 使用证书颁发配置资源的 CA 服务 在上一步中创建的项目:

控制台

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

    前往“证书管理器”

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

  3. 点击添加证书

  4. 输入证书的名称

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

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

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

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

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

  9. 对于证书授权机构类型,选择专用

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

  11. 对于证书颁发配置,请选择证书的名称 引用了目标 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

通过向 POST 请求创建证书 certificates.create 方法,如下所示:

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 区域的 DNS 区域中为验证子网域配置有效的 CNAME 记录 目标网域。有关说明,请参阅 将 CNAME 记录添加到 DNS 配置
  3. 完成本部分中的步骤。

您可以创建 regionalglobal 由 Google 管理的证书。 如需了解如何创建 global 由 Google 管理的证书,请参阅 创建具有 DNS 授权的 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. 对于授权类型,选择 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 页面。

    前往“证书管理器”

  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

如需上传自行管理的证书,您可以使用带有 self_managed 块的 google_certificate_manager_certificate 资源

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:目标的 ID Google Cloud 项目。
  • 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

通过发送 PATCH 请求来更新证书 certificates.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 控制台中的 Certificate Manager 页面 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:限制返回的 与特定值相关联。例如,您可以按 以下条件: <ph type="x-smartling-placeholder">
      </ph>
    • 到期时间:--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 控制台中的 Certificate Manager 页面 Google Cloud 控制台无法列出它们。在这种情况下,请使用 gcloud CLI 命令,改为列出您的证书。不过, 如果您有直接指向该证书的详细信息页面的链接, Google Cloud 控制台中的 Certificate Manager 页面可以显示这些证书 。

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

    前往“证书管理器”

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

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

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

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

  2. 可选:如果证书有关联的证书颁发 所需的配置,然后在 Issuance config 字段中, 点击关联的证书颁发配置的名称。

    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:目标证书的名称。

删除证书

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

如需完成此任务,您必须拥有 目标 Google Cloud 项目。

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

控制台

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

    前往“证书管理器”

  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:目标证书的名称。

后续步骤