管理证书

本页面介绍如何使用 Certificate Manager 创建和管理传输层安全协议 (TLS)(以前称为 SSL)证书。

如需了解详情,请参阅受支持的 TLS 证书

创建 Google 管理的证书

借助 Certificate Manager,您可以通过以下方式创建 Google 管理的证书:

  • 具有负载均衡器授权的 Google 管理的证书(全球)
  • 具有 DNS 授权的 Google 管理的证书(全球、区域和跨区域)
  • 使用 Certificate Authority Service (CA Service) 的 Google 管理的证书(全球级、区域级和跨区域级)

负载均衡器授权

借助负载均衡器授权,您可以在流量由负载均衡器提供时为网域获取 Google 管理的证书。此方法不需要任何额外的 DNS 记录即可完成证书配置。您可以为没有现有流量的新环境使用负载均衡器授权。如需了解何时将负载均衡器授权与 Google 管理的证书搭配使用,请参阅 Google 管理的证书的网域授权类型

您只能在 global 位置创建具有负载均衡器授权的 Google 管理的证书。负载均衡器授权的证书不支持通配符网域。

控制台

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

    前往 Certificate Manager

  2. 证书标签页上,点击添加证书

  3. 证书名称字段中,输入证书的唯一名称。

  4. 可选:在说明字段中,输入证书的说明。通过说明,您可以识别证书。

  5. 位置部分,选择全球

  6. 范围部分,选择以下选项之一:

    • 默认:如果您计划将证书与全球外部应用负载平衡器或全球外部代理网络负载平衡器搭配使用,请选择此选项。
    • 边缘缓存:如果您计划将证书与 Media CDN 搭配使用,并在证书中指定多个网域。

    您无法将负载均衡器授权与区域级位置或所有区域范围搭配使用。

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

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

  9. 域名字段中,指定以英文逗号分隔的证书域名列表。每个域名都必须是完全限定域名,例如 myorg.example.com

  10. 对于授权类型,选择负载平衡器授权

  11. 标签字段中,指定要与证书关联的标签。如需添加标签,请点击 添加标签,并为标签指定键和值。

  12. 点击创建

    新证书会显示在证书列表中。

gcloud

如需创建具有负载均衡器授权的由 Google 管理的全局证书,请使用 certificate-manager certificates create 命令

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    [--scope=SCOPE]

替换以下内容:

  • CERTIFICATE_NAME:证书的名称。
  • DOMAIN_NAMES:以英文逗号分隔的目标网域列表。每个域名都必须是完全限定域名,例如 myorg.example.com
  • SCOPE:输入以下任一选项:
    • default:如果您计划将证书用于全球外部应用负载平衡器或全球外部代理网络负载平衡器。
    • all-regions:如果您计划将该证书用于跨区域内部应用负载平衡器。
    • edge-cache:如果您计划将证书与媒体 CDN 搭配使用,并在证书中指定多个网域,请使用此值。

Terraform

使用 google_certificate_manager_certificate 资源

resource "google_certificate_manager_certificate" "default" {
  name        = "${local.name}-rootcert-${random_id.tf_prefix.hex}"
  description = "Cert with LB authorization"
  managed {
    domains = [local.domain]
  }
  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"],
  "scope": "SCOPE" //optional
 }
}

替换以下内容:

  • PROJECT_ID: Google Cloud 项目的 ID。
  • CERTIFICATE_NAME:证书的名称。
  • DOMAIN_NAMES:以英文逗号分隔的目标网域列表。每个域名都必须是完全限定域名,例如 myorg.example.com
  • SCOPE:输入以下任一选项:
    • default:如果您计划将证书用于全球外部应用负载平衡器或全球外部代理网络负载平衡器。
    • all-regions:如果您计划将该证书用于跨区域内部应用负载平衡器。
    • edge-cache:如果您计划将证书与媒体 CDN 搭配使用,并在证书中指定多个网域,请使用此值。

DNS 授权

在生产环境准备就绪之前,您可以使用 DNS 授权来预配 Google 管理的证书。如需了解何时将 DNS 授权与 Google 管理的证书搭配使用,请参阅 Google 管理的证书的网域授权类型

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

在创建证书之前,请执行以下操作:

控制台

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

    前往 Certificate Manager

  2. 证书标签页上,点击添加证书

  3. 证书名称字段中,输入证书的唯一名称。

  4. 可选:在说明字段中,输入证书的说明。通过说明,您可以识别证书。

  5. 对于位置,选择全球区域级

    如果您选择了区域级,请从区域列表中选择您的区域。

  6. 范围部分,选择以下选项之一:

    • 默认:如果您计划将证书与全球外部应用负载平衡器或全球外部代理网络负载平衡器搭配使用,请选择此选项。
    • 所有区域:如果您计划将证书与跨区域内部应用负载平衡器搭配使用。
    • 边缘缓存:如果您计划将证书与 Media CDN 搭配使用,并在证书中指定多个网域。

    如果您选择了区域级位置,则范围字段不可用。

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

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

  9. 域名字段中,指定以英文逗号分隔的证书域名列表。每个域名都必须是完全限定域名,例如 myorg.example.com。域名也可以是通配符域名,例如 *.example.com

  10. 对于授权类型,请选择 DNS 授权

    该页面会列出网域名的 DNS 授权。如果某个域名没有关联的 DNS 授权,请按以下步骤创建:

    1. 点击创建缺少的 DNS 授权
    2. DNS 授权名称字段中,指定 DNS 授权的名称。 默认 DNS 授权类型为 FIXED_RECORD。如需独立管理多个项目中的证书,请选中按项目授权复选框。
    3. 点击创建 DNS 授权
  11. 标签字段中,指定要与证书关联的标签。如需添加标签,请点击 添加标签,并为标签指定键和值。

  12. 点击创建

    新证书会显示在证书列表中。

gcloud

如需创建具有 DNS 授权的 Google 管理的证书,请运行 certificate-manager certificates create 命令

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAME, *.DOMAIN_NAME" \
    --dns-authorizations="AUTHORIZATION_NAMES" \
    [--location=LOCATION] \
    [--scope=SCOPE]

替换以下内容:

  • CERTIFICATE_NAME:证书的名称。
  • DOMAIN_NAME:目标网域的名称。域名必须是完全限定域名,例如 myorg.example.com,或通配符域名,例如 *.myorg.example.com。星号点前缀 (*.) 表示通配符证书。
  • AUTHORIZATION_NAMES:以英文逗号分隔的 DNS 授权名称列表。
  • LOCATION:目标 Google Cloud 位置。默认值为 global
  • SCOPE:输入以下任一选项:
    • default:如果您计划将证书用于全球外部应用负载平衡器或全球外部代理网络负载平衡器。
    • all-regions:如果您计划将该证书用于跨区域内部应用负载平衡器。
    • edge-cache:如果您计划将证书与媒体 CDN 搭配使用,并在证书中指定多个网域,请使用此值。

Terraform

使用 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
  }
}

API

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

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

替换以下内容:

  • PROJECT_ID: Google Cloud 项目的 ID。
  • LOCATION:目标 Google Cloud 位置。
  • CERTIFICATE_NAME:证书的名称。
  • DOMAIN_NAME:目标网域的名称。域名必须是完全限定域名,例如 myorg.example.com
  • ISSUANCE_CONFIG_NAME:引用目标 CA 池的证书颁发配置资源的名称。
  • SCOPE:输入以下任一选项:
    • default:如果您计划将证书用于全球外部应用负载平衡器或全球外部代理网络负载平衡器。
    • all-regions:如果您计划将该证书用于跨区域内部应用负载平衡器。
    • edge-cache:如果您计划将证书与媒体 CDN 搭配使用,并在证书中指定多个网域,请使用此值。

由 CA Service 颁发

您可以将 Certificate Manager 与 CA Service 集成,以颁发 Google 管理的证书。如需签发全球 Google 管理的证书,您可以使用任何区域中的区域级 CA 池。如需颁发区域性 Google 管理的证书,您可以使用与证书位于同一区域的 CA 池。

在创建证书之前,请配置 CA Service 与 Certificate Manager 的集成

控制台

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

    前往 Certificate Manager

  2. 证书标签页上,点击添加证书

  3. 证书名称字段中,输入证书的唯一名称。

  4. 可选:在说明字段中,输入证书的说明。通过说明,您可以识别证书。

  5. 对于位置,选择全球区域级

    如果您选择了区域级,请从区域列表中选择您的区域。

  6. 范围部分,选择以下选项之一:

    • 默认:如果您计划将证书与全球外部应用负载平衡器或全球外部代理网络负载平衡器搭配使用,请选择此选项。
    • 所有区域:如果您计划将证书与跨区域内部应用负载平衡器搭配使用。
    • 边缘缓存:如果您计划将证书与 Media CDN 搭配使用,并在证书中指定多个网域。

    如果您选择了区域级位置,则无法使用范围字段。

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

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

  9. 域名字段中,指定以英文逗号分隔的证书域名列表。每个域名都必须是完全限定域名,例如 myorg.example.com

  10. 对于选择证书签发配置,请选择引用目标 CA 池的证书签发配置资源的名称。

  11. 标签字段中,指定要与证书关联的标签。如需添加标签,请点击 添加标签,并为标签指定键和值。

  12. 点击创建

    新证书会显示在证书列表中。

gcloud

如需使用 Certificate Authority Service 创建 Google 管理的证书,请使用 certificate-manager certificates create 命令

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME \
    [--location="LOCATION"] \
    [--scope=SCOPE]

替换以下内容:

  • CERTIFICATE_NAME:证书的名称。
  • DOMAIN_NAME:目标网域的名称。域名必须是完全限定域名,例如 myorg.example.com,或通配符域名,例如 *.myorg.example.com。星号点前缀 (*.) 表示通配符证书。
  • ISSUANCE_CONFIG_NAME:引用目标 CA 池的证书颁发配置资源的名称。
  • LOCATION:目标 Google Cloud 位置。默认值为 global
  • SCOPE:输入以下任一选项:
    • default:如果您计划将证书用于全球外部应用负载平衡器或全球外部代理网络负载平衡器。
    • all-regions:如果您计划将该证书用于跨区域内部应用负载平衡器。
    • edge-cache:如果您计划将证书与媒体 CDN 搭配使用,并在证书中指定多个网域,请使用此值。

API

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

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

替换以下内容:

  • PROJECT_ID: Google Cloud 项目的 ID。
  • LOCATION:目标 Google Cloud 位置。
  • CERTIFICATE_NAME:证书的名称。
  • DOMAIN_NAME:目标网域的名称。域名必须是完全限定域名,例如 myorg.example.com
  • ISSUANCE_CONFIG_NAME:引用目标 CA 池的证书颁发配置资源的名称。
  • SCOPE:输入以下任一选项:
    • default:如果您计划将证书用于全球外部应用负载平衡器或全球外部代理网络负载平衡器。
    • all-regions:如果您计划将该证书用于跨区域内部应用负载平衡器。
    • edge-cache:如果您计划将证书与媒体 CDN 搭配使用,并在证书中指定多个网域,请使用此值。

上传自行管理的证书

如需上传自行管理的证书,请上传证书 (CRT) 文件和相应的私钥 (KEY) 文件。您可以上传以下类型的全局和区域级 X.509 TLS (SSL) 证书:

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

控制台

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

    前往 Certificate Manager

  2. 证书标签页上,点击添加证书

  3. 证书名称字段中,输入证书的唯一名称。

  4. 可选:在说明字段中,输入证书的说明。通过说明,您可以识别证书。

  5. 对于位置,选择全球区域级

    如果您选择了区域级,请从区域列表中选择您的区域。

  6. 范围部分,选择以下选项之一:

    • 默认:如果您计划将证书与全球外部应用负载平衡器或全球外部代理网络负载平衡器搭配使用,请选择此选项。
    • 所有区域:如果您计划将证书与跨区域内部应用负载平衡器搭配使用。
    • 边缘缓存:如果您计划将证书与 Media CDN 搭配使用,并在证书中指定多个网域。

    如果您选择了区域级位置,则无法使用范围字段。

  7. 证书类型部分,选择创建自行管理的证书

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

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

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

  11. 点击创建

    新证书会显示在证书列表中。

gcloud

如需创建自行管理的证书,请使用 certificate-manager certificates create 命令

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

替换以下内容:

  • CERTIFICATE_NAME:证书的名称。
  • CERTIFICATE_FILE:CRT 证书文件的路径和文件名。
  • PRIVATE_KEY_FILE:KEY 私钥文件的路径和文件名。
  • LOCATION:目标 Google Cloud 位置。默认值为 global
  • SCOPE:输入以下任一选项:
    • default:如果您计划将证书用于全球外部应用负载平衡器或全球外部代理网络负载平衡器。
    • all-regions:如果您计划将该证书用于跨区域内部应用负载平衡器。
    • edge-cache:如果您计划将证书与媒体 CDN 搭配使用,并在证书中指定多个网域,请使用此值。

Terraform

如需上传自行管理的证书,您可以使用包含 self_managed 代码块的 google_certificate_manager_certificate 资源

API

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

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME
{
  self_managed: {
    pem_certificate: "PEM_CERTIFICATE",
    pem_private_key: "PEM_KEY",
    scope: SCOPE
  }
}

替换以下内容:

  • PROJECT_ID: Google Cloud 项目的 ID。
  • LOCATION:目标 Google Cloud 位置。
  • CERTIFICATE_NAME:证书的名称。
  • PEM_CERTIFICATE:证书 PEM。
  • PEM_KEY:密钥 PEM。
  • SCOPE:输入以下任一选项:
    • default:如果您计划将证书用于全球外部应用负载平衡器或全球外部代理网络负载平衡器。
    • all-regions:如果您计划将该证书用于跨区域内部应用负载平衡器。
    • edge-cache:如果您计划将证书与媒体 CDN 搭配使用,并在证书中指定多个网域,请使用此值。

更新证书

您可以更新现有证书,而无需修改其在相应证书映射中对网域名的分配。更新证书时,请确保新证书中的 SAN 与现有证书中的 SAN 完全一致。

Google 管理的证书

对于 Google 管理的证书,您只能更新证书的说明和标签。

控制台

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

    前往 Certificate Manager

  2. 证书标签页上,找到要更新的证书,然后点击该证书的名称。证书详细信息页面会显示所选证书的详细信息。

  3. 点击修改。系统会显示修改证书页面。

  4. 可选:在说明字段中,输入证书的新说明。

  5. 可选:您可以添加、移除或更改与证书关联的标签。如需添加标签,请点击 添加标签按钮,然后为标签指定 keyvalue

  6. 点击保存。在显示的证书详细信息页面上,验证证书是否已更新。

gcloud

如需更新由 Google 管理的证书,请使用 certificate-manager certificates update 命令

gcloud certificate-manager certificates update CERTIFICATE_NAME \
    [--description="DESCRIPTION"] \
    [--update-labels="LABELS"]

替换以下内容:

  • CERTIFICATE_NAME:证书的名称。
  • DESCRIPTION:证书的唯一说明。
  • LABELS:应用于此证书的标签的逗号分隔列表。

API

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

PATCH /v1/projects/PROJECT_ID/certificates/CERTIFICATE_NAME?updateMask=self_managed,labels,description
{
  "description": "DESCRIPTION",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE",
  }

}

替换以下内容:

  • PROJECT_ID: Google Cloud 项目的 ID。
  • CERTIFICATE_NAME:证书的名称。
  • DESCRIPTION:证书的说明。
  • LABEL_KEY:应用于证书的标签键。
  • LABEL_VALUE:应用于证书的标签值。

自行管理的证书

如需更新自行管理的证书,您必须上传以下 PEM 编码的文件:

  • 证书 CRT 文件
  • 相应的私钥 KEY 文件

控制台

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

    前往 Certificate Manager

  2. 证书标签页上,找到要更新的证书,然后点击该证书的名称。证书详细信息页面会显示所选证书的详细信息。

  3. 点击修改。系统会显示修改证书页面。

  4. 可选:在说明字段中,输入证书的新说明。

  5. 可选:对于证书字段,请执行以下一项操作:

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

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

  8. 点击保存。在显示的证书详细信息页面上,验证证书是否已更新。

gcloud

如需更新自行管理的证书,请使用 certificate-manager certificates update 命令

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

替换以下内容:

  • CERTIFICATE_NAME:证书的名称。
  • CERTIFICATE_FILE:CRT 证书文件的路径和文件名。
  • PRIVATE_KEY_FILE:KEY 私钥文件的路径和文件名。
  • DESCRIPTION:相应证书的唯一说明值。
  • LABELS:应用于此证书的标签的逗号分隔列表。
  • LOCATION:目标 Google Cloud 位置。此标志是可选标志。仅为地区级证书指定此标志。

API

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

PATCH /v1/projects/PROJECT_ID/locations/[LOCATION]/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。
  • LOCATION:目标 Google Cloud 位置。此标志是可选标志。仅为地区级证书指定此标志。
  • CERTIFICATE_NAME:证书的名称。
  • PEM_CERTIFICATE:证书 PEM。
  • PEM_KEY:密钥 PEM。
  • DESCRIPTION:证书的有意义的说明。
  • LABEL_KEY:应用于证书的标签键。
  • LABEL_VALUE:应用于证书的标签值。

列出证书

您可以查看项目的所有证书及其详细信息,例如区域、主机名、失效日期和类型。

控制台

Google Cloud 控制台中的证书管理器页面最多可显示 10,000 个证书。如果您的项目包含 10,000 多个由 Certificate Manager 管理的证书,请使用 gcloud CLI 命令。

如需查看由 Certificate Manager 预配的证书,请执行以下操作:

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

    前往 Certificate Manager

  2. 点击证书标签页。此标签页列出了所选项目中由证书管理服务管理的所有证书。

如需查看通过 Cloud Load Balancing 预配的证书,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面上的经典证书标签页。

    前往 Certificate Manager

  2. 旧版证书标签页上,您可以查看所选项目中所有已配置的旧版证书的列表。

    经典证书无法通过证书管理器来管理。如需详细了解如何管理这些证书,请参阅有关如何使用 Google 管理的证书使用自行管理的证书的文档。

gcloud

如需列出证书,请使用 certificate-manager certificates list 命令

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

替换以下内容:

  • LOCATION:目标 Google Cloud 位置。如需列出所有区域的证书,请使用 - 作为值。默认值为 -。 此标志不是必需的。
  • 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/LOCATION/certificates?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

替换以下内容:

  • PROJECT_ID: Google Cloud 项目的 ID。
  • LOCATION:目标 Google Cloud 位置。如需列出所有区域的证书,请使用 - 作为值。
  • 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:每页要返回的结果数。

  • SORT_BY:一个以英文逗号分隔的 name 字段列表,用于指定返回结果的排序方式。默认排序顺序是升序;如需降序排序,请在相应字段前面加上波浪号 (~)。

查看证书的状态

您可以查看现有证书的状态,包括其配置状态和其他详细信息。

控制台

如果您的项目包含 10,000 多个由证书管理器管理的证书,Google Cloud 控制台中的证书管理器页面将不会列出这些证书。请改用 gcloud CLI 命令。不过,如果您有证书详情页面的直接链接,则可以在 Google Cloud 控制台中查看证书的详细信息。

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

    前往 Certificate Manager

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

  3. 证书标签页上,找到目标证书,然后点击该证书的名称。证书详细信息页面会显示所选证书的详细信息。

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

  5. 可选:如果证书具有您想要查看的相关联的证书签发配置,请在签发配置字段中点击相关联的证书签发配置资源的名称。 Google Cloud 控制台会显示证书颁发配置的完整配置。

gcloud

如需查看证书的状态,请使用 certificate-manager certificates describe 命令

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

替换以下内容:

  • CERTIFICATE_NAME:证书的名称。
  • LOCATION:目标 Google Cloud 位置。默认位置是 global。此标志不是必需的。

API

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

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

替换以下内容:

  • PROJECT_ID: Google Cloud 项目的 ID。
  • LOCATION:目标 Google Cloud 位置。
  • CERTIFICATE_NAME:证书的名称。

删除证书

在删除证书之前,请先从引用该证书的所有证书映射条目中移除该证书;否则,删除操作会失败。如需了解详情,请参阅删除证书映射条目

控制台

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

    前往 Certificate Manager

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

  3. 点击删除

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

gcloud

如需删除证书,请使用 certificate-manager certificates delete 命令

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

替换以下内容:

  • CERTIFICATE_NAME:证书的名称。
  • LOCATION:目标 Google Cloud 位置。默认位置是 global。此标志不是必需的。

API

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

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

替换以下内容:

  • PROJECT_ID: Google Cloud 项目的 ID。
  • LOCATION:目标 Google Cloud 位置。
  • CERTIFICATE_NAME:证书的名称。

后续步骤