管理证书映射

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

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

创建证书映射

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

控制台

  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 代理,请向 POST request to the targetHttpsProxies 方法

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 代理分离,请向 POST 方法发出 targetSslProxies 请求

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

后续步骤