管理证书

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

  • Google 管理的证书是 Google Cloud 为您获取和管理的证书。您可以使用证书管理器创建以下类型的 Google 管理的证书:
    • 全球证书
      • 具有负载均衡器授权的 Google 管理的证书
      • 由 Google 管理且具有 DNS 授权的证书
      • 通过 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

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

gcloud

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

替换以下内容:

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

Terraform

如需创建 Google 管理的证书,您可以使用带有 managed 块的 google_certificate_manager_certificate 资源

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

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

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

  • Certificate Manager Editor
  • Certificate Manager Owner

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

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 块中使用具有 dns_authorizations 属性的 google_certificate_manager_certificate 资源

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 Service 颁发的 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 的集成,请执行以下操作:

  • 向证书管理器授予从目标 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

    1. 在目标 CA 池中向 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:目标 CA 池的 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 Service 实例颁发的 Google 管理的证书

创建由 CA Service 实例颁发的 Google 管理的证书,如下所示:

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 Service 颁发的 Google 管理的区域证书

如需创建由您控制的 CA 服务实例颁发的区域级 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 替换为目标 Google Cloud 项目的 ID。

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

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

    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 步中创建的服务帐号的全名。
  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 Service 颁发的 Google 管理的区域证书

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

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

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

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

  • Certificate Manager Editor
  • Certificate Manager Owner

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

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

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

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

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

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 必须与现有证书中的 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:目标 Google Cloud 项目的 ID。
  • 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

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

控制台

如果您的项目中由 Certificate Manager 管理的证书超过 10000 个,则 Google Cloud 控制台中的 Certificate Manager 页面无法列出这些证书。在这种情况下,请改用 gcloud CLI 命令列出您的证书。

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

    前往“证书管理器”

  2. 在显示的页面上,选择证书标签页。此标签页列出了所选项目中由 Certificate Manager 管理的所有证书。

传统证书标签页列出了所选项目中直接通过 Cloud Load Balancing 预配的证书。这些证书并非由 Certificate Manager 管理。如需了解如何管理这些证书,请参阅 Cloud Load Balancing 文档中的以下文章之一:

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"'

如需查看可与 Certificate Manager 搭配使用的更多过滤示例,请参阅 Cloud Key Management Service 文档中的对列表结果进行排序和过滤

  • 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

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

控制台

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

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

    前往“证书管理器”

  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

certificates.get 方法发出 GET 请求以查看证书状态,如下所示:

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

替换以下内容:

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

删除证书

如需从证书管理器中删除证书,请完成本部分中的步骤。如需删除某个证书,您必须先将其从所有引用该证书的证书映射条目中移除,否则删除操作将失败。

如需完成此任务,您必须拥有目标 Google Cloud 项目的 Certificate Manager Owner 角色。

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

控制台

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

后续步骤