本页面介绍了如何使用证书管理器创建和管理传输层安全协议 (TLS) (SSL) 证书。证书管理器支持以下类型的 TLS (SSL) 证书:
- Google 管理的证书是 Google Cloud 为您获取和管理的证书。您可以使用证书管理器创建以下类型的 Google 管理的证书:
- 全球证书
- 具有负载均衡器授权的 Google 管理的证书
- 具有 DNS 授权的 Google 管理的证书
- 使用 Certificate Authority Service (CA Service) 的 Google 管理的证书
- 区域证书
- Google 管理的区域级证书
- 由 Google 管理的区域级证书(适用于 CA Service)
- 全球证书
- 自行管理的证书是您自行获取、预配和续订的证书。
如需详细了解证书,请参阅 Certificate Manager 的工作原理。
如需了解如何使用 Certificate Manager 部署证书,请参阅部署概览。
如需详细了解本页面上使用的 gcloud CLI 命令,请参阅证书管理器 CLI 参考文档。
创建具有负载均衡器授权的 Google 管理的证书
如需创建具有负载均衡器授权的 Google 管理的证书,请完成本部分中的步骤。您只能在 global
位置创建具有负载均衡器授权的 Google 管理的证书。
如需为证书指定多个域名,请提供证书的目标域名列表(以英文逗号分隔)。
如需完成此任务,您必须拥有目标 Google Cloud 项目的以下角色之一:
- Certificate Manager Editor
- Certificate Manager Owner
如需了解详情,请参阅角色和权限。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在显示的页面上,选择证书标签页。
点击添加证书。
输入证书的名称。
该名称在项目中必须是唯一的。
可选:输入证书的说明。该说明有助于您之后识别特定证书。
对于位置,选择全局。
对于范围,选择默认。
对于证书类型,选择创建 Google 管理的证书。
对于证书授权机构类型,选择公开。
指定证书的域名。输入以英文逗号分隔的目标网域列表。此外,每个域名都必须是完全限定域名,例如
myorg.example.com
。对于授权类型,选择负载平衡器授权。
指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 add_box 添加标签按钮,然后为标签指定
key
和value
。点击创建。验证新证书是否显示在证书列表中。
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
资源。
如需了解如何应用或移除 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 管理的全球证书,请执行以下操作:
- 创建引用证书涵盖的每个域名的相应 DNS 授权。如需查看相关说明,请参阅创建 DNS 授权。
- 为目标网域的 DNS 区域中的验证子网域配置有效的 CNAME 记录。如需了解相关说明,请参阅将 CNAME 记录添加到 DNS 配置。
- 完成本部分中的步骤。
您可以创建 regional
和 global
由 Google 管理的证书。如需了解如何创建 Google 管理的 regional
证书,请参阅创建 Google 管理的区域级证书。
如需完成此任务,您必须拥有目标 Google Cloud 项目的以下角色之一:
- Certificate Manager Editor
- Certificate Manager Owner
如需了解详情,请参阅角色和权限。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在显示的页面上,选择证书标签页。
点击添加证书。
输入证书的名称。
该名称在项目中必须是唯一的。
可选:输入证书的说明。该说明有助于您之后识别特定证书。
对于位置,选择全局。
对于范围,选择默认。
对于证书类型,选择创建 Google 管理的证书。
对于证书授权机构类型,选择公开。
指定证书的域名。输入以英文逗号分隔的目标网域列表。此外,每个域名都必须是完全限定域名,例如
myorg.example.com
。对于授权类型,选择 DNS 授权。如果域名具有关联的 DNS 授权,系统会自动选择该域名。如果域名没有关联的 DNS 授权,请执行以下操作:
- 点击创建缺失的 DNS 授权以显示“创建 DNS 授权”对话框。
- 在 DNS 授权名称字段中,指定 DNS 授权名称。
- 点击创建 DNS 授权。 验证 DNS 名称是否与域名相关联。
指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 add_box 添加标签按钮,然后为标签指定
key
和value
。点击创建。验证新证书是否显示在证书列表中。
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
资源。
如需了解如何应用或移除 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 管理的证书,请完成本部分中的步骤。您可以创建 regional
和 global
由 Google 管理的证书。如需了解如何创建 CA 服务颁发的区域级证书,请参阅创建由 CA 服务颁发的区域级 Google 管理证书
如需完成此任务,您必须在目标 Google Cloud 项目中拥有以下角色:
如需详细了解本部分中使用的 gcloud CLI 命令,请参阅证书管理器 CLI 参考文档。
配置 CA Service 与 Certificate Manager 的集成
如果您尚未配置 Certificate Manager,请按照本部分所述将其配置为与 CA Service 集成。如果证书颁发政策在目标 CA 池上生效,则证书预配可能会因以下某个原因失败:
- 证书颁发政策已屏蔽所请求的证书。在这种情况下,您不需要支付费用,因为证书尚未颁发。
- 该政策对证书管理器不支持的证书应用了更改。在这种情况下,即使证书与 Certificate Manager 不完全兼容,您仍然需要付费,因为证书已颁发。
如需了解与发布政策限制相关的任何问题,请参阅问题排查页面。
如需配置 CA Service 与 Certificate Manager 的集成,请执行以下操作:
- 启用 CA Service API。
- 创建 CA 池。
- 创建 CA,并在您在上一步创建的 CA 池中启用它。
- 授予 Certificate Manager 从目标 CA 池请求证书的权限:
- 使用以下命令在目标 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
- 按如下方式在目标 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
:目标池的 IDREGION
:目标 Google Cloud 区域SERVICE_ACCOUNT
:您在第 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-p256
或rsa-2048
。默认值为rsa-2048
。 此设置是可选的。
如需详细了解证书颁发配置资源,请参阅管理证书颁发配置。
创建由您的 CA 服务实例颁发的 Google 管理的证书
按如下方式创建由 CA 服务实例颁发的 Google 管理的证书:
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在显示的页面上,选择证书标签页。
点击添加证书。
输入证书的名称。
该名称在项目中必须是唯一的。
可选:输入证书的说明。该说明有助于您之后识别特定证书。
对于位置,选择全局。
对于范围,选择默认。
对于证书类型,选择创建 Google 管理的证书。
对于证书授权机构类型,选择专用。
指定证书的域名。输入以英文逗号分隔的目标网域列表。此外,每个域名都必须是完全限定域名,例如
myorg.example.com
。在证书颁发配置部分,选择引用目标 CA 池的证书颁发配置资源的名称。
指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 add_box 添加标签按钮,然后为标签指定
key
和value
。点击创建。验证新证书是否显示在证书列表中。
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 服务实例颁发的区域级 Google 管理的证书,请完成本部分中的步骤。
配置 CA Service 与 Certificate Manager 的集成
按如下方式配置证书管理器以与 CA 服务集成:
在目标 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
按如下方式在目标 CA 池中向 Certificate Manager 服务帐号授予 Certificate Requester 角色:
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 步中创建的服务帐号的全名。
为 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-p256
或rsa-2048
。默认值为rsa-2048
。此设置是可选的。DESCRIPTION
:证书颁发配置资源的说明。此设置是可选的。
如需详细了解证书颁发配置资源,请参阅管理证书颁发配置。
创建由您的 CA 服务颁发的区域级 Google 管理的证书
使用上一步中创建的证书颁发配置资源创建由您的 CA 服务颁发的地区性 Google 管理的证书:
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在显示的页面上,选择证书标签页。
点击添加证书。
输入证书的名称。
该名称在项目中必须是唯一的。
可选:输入证书的说明。该说明有助于您之后识别特定证书。
在位置部分,选择区域级。
从区域列表中,选择一个区域。
对于证书类型,选择创建 Google 管理的证书。
对于证书授权机构类型,选择专用。
指定证书的域名。输入以英文逗号分隔的目标网域列表。此外,每个域名都必须是完全限定域名,例如
myorg.example.com
。在证书颁发配置部分,选择引用目标 CA 池的证书颁发配置资源的名称。
指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 add_box 添加标签按钮,然后为标签指定
key
和value
。点击创建。验证新证书是否显示在证书列表中。
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.com
、www.example.com
。ISSUANCE_CONFIG_NAME
:引用目标 CA 池的证书颁发配置资源的名称。LOCATION
:目标 Google Cloud 位置。您必须指定与 CA 池、证书颁发配置资源和代管式证书相同的位置。
如需简要了解证书部署过程,请参阅部署概览。
创建 Google 管理的区域级证书
如需创建具有 DNS 授权的 Google 管理的证书,请执行以下操作:
- 创建引用证书涵盖的每个域名的相应 DNS 授权。如需查看相关说明,请参阅创建 DNS 授权。
- 为目标网域的 DNS 区域中的验证子网域配置有效的 CNAME 记录。如需了解相关说明,请参阅将 CNAME 记录添加到 DNS 配置。
- 完成本部分中的步骤。
您可以创建 regional
和 global
由 Google 管理的证书。如需了解如何创建 Google 管理的证书 global
,请参阅创建具有 DNS 授权的 Google 管理的证书。
如需完成此任务,您必须拥有目标 Google Cloud 项目的以下角色之一:
- Certificate Manager Editor
- Certificate Manager Owner
如需了解详情,请参阅角色和权限。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在显示的页面上,选择证书标签页。
点击添加证书。
输入证书的名称。
该名称在项目中必须是唯一的。
可选:输入证书的说明。该说明有助于您之后识别特定证书。
在位置部分,选择区域级。
从区域列表中,选择一个区域。
对于证书类型,选择创建 Google 管理的证书。
对于证书授权机构类型,选择公开。
指定证书的域名。输入以英文逗号分隔的目标网域列表。此外,每个域名都必须是完全限定域名,例如
myorg.example.com
。对于授权类型,选择 DNS 授权。如果域名具有关联的 DNS 授权,系统会自动选择该域名。如果域名没有关联的 DNS 授权,请执行以下操作:
- 点击创建缺失的 DNS 授权,以显示创建 DNS 授权对话框。
- 在 DNS 授权名称字段中,指定 DNS 授权名称。
- 点击创建 DNS 授权。 验证 DNS 名称是否与域名相关联。
指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 add_box 添加标签按钮,然后为标签指定
key
和value
。点击创建。验证新证书是否显示在证书列表中。
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
如需了解详情,请参阅角色和权限。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在显示的页面上,选择证书标签页。
点击添加证书。
输入证书的名称。
该名称在项目中必须是唯一的。
可选:输入证书的说明。该说明有助于您之后识别特定证书。
对于位置,选择以下任一:
- Global:选择“Global”,以便证书可在全球使用。如果您选择“全局”,请从范围下拉菜单中选择以下任一:
- 默认:具有默认范围的证书由核心 Google 数据中心提供。
- 边缘缓存:具有此范围的证书是特殊证书,由非核心 Google 数据中心提供。
- 所有区域:所有区域都提供证书。
- 区域性:选择“区域性”,以便该证书可在特定区域使用。如果您选择“区域级”,请从区域列表中选择一个区域。
- Global:选择“Global”,以便证书可在全球使用。如果您选择“全局”,请从范围下拉菜单中选择以下任一:
对于证书类型,选择创建自行管理的证书。
对于证书字段,请执行以下任一操作:
- 点击上传按钮,然后选择您的 PEM 格式的证书文件。
- 复制并粘贴 PEM 格式证书的内容。内容必须以
-----BEGIN CERTIFICATE-----
开头,并以-----END CERTIFICATE-----
结尾。
对于私钥证书字段,请执行以下任一操作:
- 点击上传按钮,然后选择您的私钥。您的私钥必须采用 PEM 格式,且不受密码保护。
- 复制并粘贴 PEM 格式的私钥内容。私钥必须以
-----BEGIN PRIVATE KEY-----
开头并以-----END PRIVATE KEY-----
结尾。
指定要与证书关联的标签。如果需要,您可以添加多个标签。如需添加标签,请点击 add_box 添加标签按钮,然后为标签指定
key
和value
。点击创建。验证新证书是否显示在证书列表中。
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 管理的证书,您只能更新 description
和 labels
字段。如需更新自行管理的证书,您必须上传以下 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
:应用于此证书的标签值。
列出证书
如需列出由证书管理器管理的证书,请完成本部分中的步骤。例如,您可以执行以下查询:
- 按分配的域名列出证书
- 列出已过期的证书
如需完成此任务,您必须拥有目标 Google Cloud 项目的以下角色之一:
- Certificate Manager Viewer
- Certificate Manager Editor
- Certificate Manager Owner
如需了解详情,请参阅角色和权限。
控制台
如果您的项目中由 Certificate Manager 管理的证书超过 10000 个,则 Google Cloud 控制台中的 Certificate Manager 页面无法列出这些证书。在此类情况下,请改用 gcloud CLI 命令列出证书。
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在显示的页面上,选择证书标签页。此标签页列出了所选项目中由 Certificate Manager 管理的所有证书。
传统证书标签页列出了所选项目中直接通过 Cloud Load Balancing 预配的证书。这些证书不由证书管理器管理。如需了解如何管理这些证书,请参阅 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 控制台中的证书管理器页面可以显示这些详细信息。
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在显示的页面上,选择证书标签页。
在证书标签页上,转到目标证书,然后点击证书名称。
证书详情页面会显示所选证书的详细信息。
可选:如需查看 Certificate Manager API 针对此证书的 REST 响应,请点击等效 REST。
可选:如果您要查看证书的关联证书颁发配置,请在颁发配置字段中,点击关联的证书颁发配置的名称。
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 角色。
如需了解详情,请参阅角色和权限。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
在证书标签页上,选中要删除的证书对应的复选框。
点击删除。
在显示的对话框中,点击删除进行确认。
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
:目标证书的名称。