管理证书映射条目

证书映射条目会将证书与目标主机名和目标证书映射相关联。本页面介绍了如何创建和管理证书映射条目。

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

创建证书映射条目

您可以创建一个证书映射条目,并最多将四个证书与其相关联。为某个主机名指定多个证书时,我们建议您为每个证书使用不同的密钥算法。例如,您可以为一个证书使用 ECDSA,为另一个证书使用 RSA。将多个证书与单个证书映射条目相关联,也有助于将自行管理的证书迁移到 Google 管理的证书。

如需详细了解负载均衡器在握手期间如何选择证书,请参阅证书选择逻辑

控制台

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

    前往 Certificate Manager

  2. 对于新证书映射,请点击 创建证书映射

    对于现有证书映射,请从证书映射列表中选择所需的证书映射。

  3. 创建证书映射页面或修改证书映射页面上,点击 添加映射条目。系统会打开添加映射条目窗口。

  4. 映射条目名称字段中,输入证书映射条目的名称,例如 my-cert-map-entry-01

  5. 说明字段中,输入证书映射条目的说明,例如 My new cert map entry

  6. 如需将新的证书映射条目设为证书映射的主要条目,请选择主要条目。如需了解详情,请参阅创建主证书映射条目

    注意:您只能将一个主要证书映射条目与证书映射相关联。

  7. 主机名字段中,输入要与证书映射条目关联的主机名,例如 www.example.com

    注意:对于主要证书映射条目,主机名默认指定为 <PRIMARY>,您无法更改其主机名。

  8. 如需将证书与证书映射条目相关联,请点击选择证书。您可以选择现有证书,也可以点击添加证书创建证书

    注意:您最多可以将四个证书与一个证书映射条目相关联。

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

  10. 点击添加。证书映射条目及其关联的证书会添加到证书映射中。

gcloud

如需将多个证书与一个证书映射条目相关联,请提供以英文逗号分隔的证书名称列表。您必须为每个子网域创建单独的映射条目。

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

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --hostname="HOSTNAME"

替换以下内容:

  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • CERTIFICATE_NAMES:要与证书映射条目相关联的证书名称的英文逗号分隔列表
  • HOSTNAME:您要与证书映射条目关联的主机名

API

如需将多个证书与一个证书映射条目相关联,请提供以英文逗号分隔的证书名称列表。您必须为每个子网域创建单独的映射条目。

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

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME
{
 hostname: "HOSTNAME"
 certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
  • HOSTNAME:您要与证书映射条目关联的主机名
  • CERTIFICATE_NAME1:要与证书映射条目关联的第一个证书的名称
  • CERTIFICATE_NAME2:要与证书映射条目关联的第二个证书的名称

Terraform

如需创建证书映射条目,请使用 google_certificate_manager_certificate_map_entry 资源

resource "google_certificate_manager_certificate_map_entry" "default" {
  name        = "${local.name}-first-entry-${random_id.tf_prefix.hex}"
  description = "example certificate map entry"
  map         = google_certificate_manager_certificate_map.default.name
  labels = {
    "terraform" : true
  }
  certificates = [google_certificate_manager_certificate.default.id]
  hostname     = local.domain
}

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

创建主证书映射条目

您可以指定一个主证书映射条目,如果客户端未提供主机名,或者负载均衡器无法将主机名与配置的证书映射条目匹配,则负载均衡器可以提供该条目。

控制台

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

    前往 Certificate Manager

  2. 对于新证书映射,请点击 创建证书映射

    对于现有证书映射,请从证书映射列表中选择所需的证书映射。

  3. 添加新的证书映射条目时,在创建证书映射页面上,点击 添加映射条目

    如需修改现有证书映射条目,请在修改证书映射页面上,点击相应映射条目行操作列下的 图标,然后选择修改

  4. 如需将某个证书映射条目设为证书映射的主要条目,请在添加映射条目窗口中选择主要条目

    注意:您只能将一个主要证书映射条目与证书映射相关联。

  5. 点击保存

gcloud

如需创建主证书映射条目,请将 gcloud certificate-manager maps entries create 命令set-primary 标志结合使用:

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --set-primary

替换以下内容:

  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • CERTIFICATE_NAMES:要与证书映射条目相关联的证书名称的英文逗号分隔列表

API

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

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME
{
   matcher: "PRIMARY",
   certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
  • CERTIFICATE_NAME1:您要与主证书映射条目关联的第一个证书的名称。
  • CERTIFICATE_NAME2:要与主证书映射条目关联的第二个证书的名称。

如需详细了解负载均衡器在握手期间如何选择证书,请参阅证书选择逻辑

更新证书映射条目

更新现有证书映射条目时,您可以执行以下操作:

  • 分配或取消分配证书
  • 更改说明
  • 更改标签

如果您使用 Google Cloud 控制台更新证书映射条目,还可以执行以下操作:

  • 更改映射条目的名称。
  • 如果没有其他映射条目被分配为主条目,请将该映射条目分配为证书映射的主映射条目。

控制台

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

    前往 Certificate Manager

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

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

  4. 在映射条目行的操作列下,点击 图标,然后选择修改。系统随即会打开修改映射条目窗口。

  5. 映射条目名称字段中,更改证书映射条目的名称。

  6. 说明字段中,更改证书映射条目的说明。

  7. 如需将证书映射条目设为证书映射的主要条目,请选择主要条目。如需了解详情,请参阅创建主证书映射条目

    注意:您只能将一个主要证书映射条目与证书映射相关联。

  8. 主机名字段中,更改要与证书映射条目关联的主机名。

    注意:对于主要证书映射条目,主机名默认指定为 <PRIMARY>,您无法更改其主机名。

  9. 如需将证书与证书映射条目相关联,请点击选择证书。您可以选择现有证书,也可以点击添加证书创建证书

    注意:您最多可以将四个证书与一个证书映射条目相关联。

    如需向上或向下移动证书的顺序,请点击所需证书对应的 图标或 图标。

    如需删除证书,请点击所需证书对应的删除项目

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

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

  11. 点击保存

gcloud

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

gcloud certificate-manager maps entries update CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAME,CERTIFICATE_NAME" \
    --description="DESCRIPTION" \
    --update-labels="LABELS"

替换以下内容:

  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • CERTIFICATE_NAME:要与证书映射条目关联的证书的名称
  • DESCRIPTION:证书映射条目的说明
  • LABELS:应用于证书映射条目的标签列表

API

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

PATCH  /v1/projects/example-project/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME?updateMask=labels,description,certificates
{
  "certificates": ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
  "description": "DESCRIPTION",
  "labels": { "LABEL_KEY": "LABEL_VALUE" }
}

替换以下内容:

  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_NAME:证书的名称
  • DESCRIPTION:证书映射条目的说明
  • LABEL_KEY:应用于证书映射条目的标签键
  • LABEL_VALUE:应用于证书映射条目的标签值

列出证书映射条目

您可以查看、过滤和排序与证书映射关联的所有证书映射条目的列表。

控制台

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

    前往 Certificate Manager

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

gcloud

如需列出与证书映射关联的证书映射条目,请使用 gcloud certificate-manager maps entries list 命令

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

替换以下内容:

  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • FILTER:一种表达式,用于将返回的结果限制为特定值。

    例如,您可以按以下条件过滤结果:

    • 投放状态:--filter='state=ACTIVE'
    • 匹配器(设置为主要匹配器):--filter='-matcher=PRIMARY'
    • 主机名:--filter='hostname=example.com'
    • 已分配的证书:--filter='certificates:my-cert'
    • 标签和创建时间:--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.certificateMapEntries.list 方法发出 GET 请求:

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

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:目标证书映射的名称
  • FILTER:一种表达式,用于将返回的结果限制为特定值。

    例如,您可以按以下条件过滤结果:

    • 投放状态:--filter='state=ACTIVE'
    • 匹配器(设置为主要匹配器):--filter='-matcher=PRIMARY'
    • 主机名:--filter='hostname=example.com'
    • 已分配的证书:--filter='certificates:my-cert'
    • 标签和创建时间:--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. 在证书映射列表中,点击所需的证书映射。系统会打开证书映射详细信息页面,其中包含有关所选证书映射及其关联的映射条目列表的详细信息。

  3. 映射条目部分,点击要查看的映射条目的名称。系统会打开映射条目详情页面,其中包含所选映射条目的详细信息。

gcloud

如需查看与证书映射相关联的证书映射条目的状态,请使用 gcloud certificate-manager maps entries describe 命令

gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

替换以下内容:

  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称

输出类似于以下内容:

certificates:
createTime: '2021-09-06T10:01:56.229472109Z'
hostname: example.com
name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry
state: ACTIVE
updateTime: '2021-09-06T10:01:58.277031787Z'

API

如需查看与证书映射关联的证书映射条目的状态,请向 certificateMaps.certificateMapEntries.get 方法发出 GET 请求:

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

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称

删除证书映射条目

删除证书映射条目后,与该条目关联的证书会从目标代理中分离。

删除证书映射条目不会从Google Cloud中删除关联的证书。您必须手动删除这些证书

控制台

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

    前往 Certificate Manager

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

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

  4. 在映射条目行的操作列下,点击 图标,选择 删除,然后点击删除

gcloud

如需删除与证书映射关联的证书映射条目,请使用 gcloud certificate-manager maps entries delete 命令

gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

替换以下内容:

  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称

API

如需删除与证书映射关联的证书映射条目,请向 certificateMaps.certificateMapEntries.delete 方法发出 DELETE 请求:

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

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • CERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称
  • CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称

后续步骤