管理证书映射

证书映射会引用一个或多个证书映射条目,以将特定证书分配给特定主机名。本页面介绍了如何创建和管理证书映射。

如需了解详情,请参阅证书映射。

创建证书映射

您可以创建证书映射,以引用与您的证书关联的证书映射条目。

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。

    前往 Certificate Manager

  2. 点击 创建证书映射。

  3. 在名称字段中,输入证书映射的名称,例如 cert-map-8。

  4. 在说明字段中,输入证书映射的说明,例如 My new certificate map。

  5. 如需创建证书映射条目并将其添加到证书映射,请点击 添加映射条目,然后按照后续部分中提到的步骤操作。

  6. 如需添加标签并将其与证书映射相关联,请点击 添加标签,然后输入标签的键和值。

  7. 点击创建。

gcloud

如需创建证书映射,请使用 gcloud certificate-manager maps create 命令:

gcloud certificate-manager maps create CERTIFICATE_MAP_NAME

替换以下内容:

  • CERTIFICATE_MAP_NAME:证书映射的名称

API

如需创建证书映射,请向 certificateMaps.create 方法发出 POST 请求:

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps?certificate_map_id=CERTIFICATE_MAP_NAME

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:证书映射的名称

Terraform

如需创建证书映射,请使用 google_certificate_manager_certificate_map 资源:

resource "google_certificate_manager_certificate_map" "default" {
  name        = "${local.name}-certmap1-${random_id.tf_prefix.hex}"
  description = "${local.domain} certificate map"
  labels = {
    "terraform" : true
  }
}

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

将证书映射附加到代理

使用证书映射条目创建和配置证书映射后,将证书映射附加到目标代理。Certificate Manager 支持具有全球范围的目标 HTTPS 代理和目标 SSL 代理。如需详细了解这些代理类型之间的差异,请参阅使用目标代理。

如果您将 TLS (SSL) 证书附加到目标代理,并且还通过证书映射附加证书,则代理会使用证书映射中引用的证书,并忽略直接附加的证书。

控制台

如果目标代理是现有负载均衡器的一部分,则您可以通过修改负载均衡器的前端配置来附加证书映射。

  1. 在 Google Cloud 控制台中,前往负载均衡页面。

    转到“负载均衡”

  2. 点击要更新的负载均衡器的名称,然后点击 修改。

  3. 点击前端配置,然后选择要修改的前端 IP 地址和端口配置。

  4. 如果出现选择证书库,请选择使用证书映射。

  5. 在选择证书映射列表中,选择您的证书映射。

  6. 点击完成,然后再点击更新。

gcloud

如需将证书映射附加到目标 HTTPS 代理,请使用 gcloud compute target-https-proxies update 命令:

gcloud compute target-https-proxies update PROXY_NAME \
    --certificate-map="CERTIFICATE_MAP_NAME"

如需将证书映射附加到目标 SSL 代理,请使用 gcloud compute target-ssl-proxies update 命令:

gcloud compute target-ssl-proxies update PROXY_NAME \
    --certificate-map="CERTIFICATE_MAP_NAME"

替换以下内容:

  • PROXY_NAME:目标代理的名称
  • CERTIFICATE_MAP_NAME:证书映射的名称,该映射包含引用目标证书的映射条目

API

如需将证书映射附加到目标 HTTPS 代理,请向 targetHttpsProxies 方法发出 POST 请求:

POST /projects/PROJECT_ID/global/targetHttpsProxies/PROXY_NAME/setCertificateMap
{
  certificateMap: "//certificatemanager.googleapis.com/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME",
}

如需将证书映射附加到目标 SSL 代理,请向 targetSslProxies 方法发出 POST 请求:

POST /projects/PROJECT_ID/global/targetSslProxies/PROXY_NAME/setCertificateMap
{
  certificateMap: "//certificatemanager.googleapis.com/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME",
}

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • PROXY_NAME:目标代理的名称
  • CERTIFICATE_MAP_NAME:证书映射的名称,该映射包含引用目标证书的映射条目

将证书映射与代理分离

在从代理中分离证书映射之前,请注意以下事项:

  • 如果任何 TLS (SSL) 证书直接附加到代理,则分离证书映射会导致代理继续使用这些证书。

  • 如果没有任何 TLS (SSL) 证书直接附加到代理,则无法分离证书映射。在分离证书映射之前,请将至少一个 TLS 证书直接附加到代理。

gcloud

如需从目标 HTTPS 代理中分离任何附加的证书映射,请使用 gcloud compute target-https-proxies update 命令:

gcloud compute target-https-proxies update PROXY_NAME \
    --clear-certificate-map

如需从目标 SSL 代理中分离任何附加的证书映射,请使用 gcloud compute target-ssl-proxies update 命令:

gcloud compute target-ssl-proxies update PROXY_NAME \
    --clear-certificate-map

替换以下内容:

  • PROXY_NAME:目标代理的名称

API

如需从目标 HTTPS 代理中分离任何附加的证书映射,请向 targetHttpsProxies 方法发出 POST 请求:

POST /projects/PROJECT_ID/global/targetHttpsProxies/PROXY_NAME/setCertificateMap
{
  certificateMap: "",
}

如需从目标 SSL 代理中分离任何附加的证书映射,请向 targetSslProxies 方法发出 POST 请求:

POST /projects/PROJECT_ID/global/targetSslProxies/PROXY_NAME/setCertificateMap
{
  certificateMap: "",
}

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • PROXY_NAME:目标代理的名称

更新证书映射

您可以更新证书映射的说明和标签。如果您使用Google Cloud 控制台,则可以向证书映射添加新的映射条目,也可以修改或删除与证书映射关联的映射条目。

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。

    前往 Certificate Manager

  2. 在证书映射列表中,点击所需的证书映射。系统会打开证书映射详细信息页面。

  3. 点击 修改。系统随即会打开修改证书映射页面。

  4. 在说明字段中,输入证书映射的新说明。

  5. 如需向证书映射添加新的映射条目,请点击 添加映射条目,然后按照创建证书映射条目部分中提到的步骤操作。

    如需修改映射条目,请在映射条目行的操作列下,点击 图标,选择修改,然后按照更新证书映射条目部分中提到的步骤操作。

    如需删除映射条目,请在映射条目行的操作列下,点击 图标,选择删除,然后按照删除证书映射条目部分中提到的步骤操作。

  6. 您可以添加、删除或更新与证书映射关联的标签。

    如需添加标签,请点击 添加标签,然后为标签指定键和值。

    如需删除标签,请点击所需标签对应的 删除项。

  7. 点击保存。

gcloud

如需更新证书映射,请使用 gcloud certificate-manager maps update 命令:

gcloud certificate-manager maps update CERTIFICATE_MAP_NAME \
    --description="DESCRIPTION"
    --update-labels="LABELS"

替换以下内容:

  • CERTIFICATE_MAP_NAME:证书映射的名称
  • DESCRIPTION:此证书映射的新说明
  • LABELS:应用于此证书映射的标签的逗号分隔列表

API

如需更新证书映射,请向 certificateMaps.patch 方法发出 PATCH 请求:

PATCH /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME?updateMask=labels,description
{
  "description": "DESCRIPTION",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE",
  }
}

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:证书映射的名称
  • DESCRIPTION:此证书映射的新说明
  • LABEL_KEY:应用于此证书映射的标签键
  • LABEL_VALUE:应用于此证书映射的标签

列出证书映射

您可以查看、过滤和排序您创建的所有证书映射的列表。

控制台

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

    前往 Certificate Manager

  2. 点击证书映射标签页。您可以查看、过滤和配置所选项目中所有证书映射的显示列。

gcloud

如需列出证书映射,请使用 gcloud certificate-manager maps list 命令:

gcloud certificate-manager maps list \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

替换以下内容:

  • FILTER:用于将返回的结果限制为特定值的表达式。

    例如,如需按标签和创建时间过滤结果,您可以指定:--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

如需列出已配置的证书映射,请向 certificateMaps.list 方法发出 LIST 请求:

GET /v1/projects/PROJECT_ID/locations/global/certificateMaps?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • FILTER:用于将返回的结果限制为特定值的表达式。

    例如,如需按标签和创建时间过滤结果,您可以指定: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

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

  • PAGE_SIZE:您希望每页返回的结果数

  • SORT_BY:name 字段的英文逗号分隔列表,返回的结果按这些字段排序。默认排序顺序为升序;如需降序排序,请在字段前加上波浪号 (~)。

查看证书映射的详细信息

您可以查看现有证书映射的详细信息,例如其创建日期时间、上次更新日期时间和说明。

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。

    前往 Certificate Manager

  2. 在证书映射列表中,点击所需的证书映射。系统会打开证书映射详细信息页面,其中包含所选证书映射的详细信息。

gcloud

如需查看证书映射的详细信息,请使用 gcloud certificate-manager maps describe 命令:

gcloud certificate-manager maps describe CERTIFICATE_MAP_NAME

替换以下内容:

  • CERTIFICATE_MAP_NAME:证书映射的名称

API

如需查看证书映射的详细信息,请向 certificateMaps.get 方法发出 GET 请求:

GET /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:证书映射的名称

删除证书映射

在删除证书映射之前,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。

    前往 Certificate Manager

  2. 在证书映射列表中,点击所需的证书映射。系统会打开证书映射详细信息页面。

  3. 点击 删除,然后点击删除。

gcloud

如需删除证书映射,请使用 gcloud certificate-manager maps delete 命令:

gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME

替换以下内容:

  • CERTIFICATE_MAP_NAME:证书映射的名称

API

如需删除证书映射,请向 certificateMaps.delete 方法发出 DELETE 请求:

DELETE /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:证书映射的名称

后续步骤