管理证书映射

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

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

创建证书映射

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

控制台

  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) 证书附加到目标代理,同时还通过证书映射附加证书,则代理会使用证书映射中引用的证书,并忽略直接附加的证书。

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:证书映射的名称

后续步骤