证书映射条目会将证书与目标主机名和目标证书映射相关联。本页面介绍了如何创建和管理证书映射条目。
如需了解详情,请参阅证书映射条目。
创建证书映射条目
您可以创建一个证书映射条目,并最多将四个证书与其相关联。为某个主机名指定多个证书时,我们建议您为每个证书使用不同的密钥算法。例如,您可以为一个证书使用 ECDSA,为另一个证书使用 RSA。将多个证书与单个证书映射条目相关联,也有助于将自行管理的证书迁移到 Google 管理的证书。
如需详细了解负载均衡器在握手期间如何选择证书,请参阅证书选择逻辑。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。
对于新证书映射,请点击 创建证书映射。
对于现有证书映射,请从证书映射列表中选择所需的证书映射。
在创建证书映射页面或修改证书映射页面上,点击 添加映射条目。系统会打开添加映射条目窗口。
在映射条目名称字段中,输入证书映射条目的名称,例如
my-cert-map-entry-01。在说明字段中,输入证书映射条目的说明,例如
My new cert map entry。如需将新的证书映射条目设为证书映射的主要条目,请选择主要条目。如需了解详情,请参阅创建主证书映射条目。
注意:您只能将一个主要证书映射条目与证书映射相关联。
在主机名字段中,输入要与证书映射条目关联的主机名,例如
www.example.com。注意:对于主要证书映射条目,主机名默认指定为
<PRIMARY>,您无法更改其主机名。如需将证书与证书映射条目相关联,请点击选择证书。您可以选择现有证书,也可以点击添加证书来创建证书。
注意:您最多可以将四个证书与一个证书映射条目相关联。
如需添加标签并将其与证书映射条目相关联,请点击 添加标签,然后为标签输入键和值。
点击添加。证书映射条目及其关联的证书会添加到证书映射中。
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 项目的 IDCERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称HOSTNAME:您要与证书映射条目关联的主机名CERTIFICATE_NAME1:要与证书映射条目关联的第一个证书的名称CERTIFICATE_NAME2:要与证书映射条目关联的第二个证书的名称
Terraform
如需创建证书映射条目,请使用 google_certificate_manager_certificate_map_entry 资源。
如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。
创建主证书映射条目
您可以指定一个主证书映射条目,如果客户端未提供主机名,或者负载均衡器无法将主机名与配置的证书映射条目匹配,则负载均衡器可以提供该条目。
控制台
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 项目的 IDCERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称CERTIFICATE_NAME1:您要与主证书映射条目关联的第一个证书的名称。CERTIFICATE_NAME2:要与主证书映射条目关联的第二个证书的名称。
如需详细了解负载均衡器在握手期间如何选择证书,请参阅证书选择逻辑。
更新证书映射条目
更新现有证书映射条目时,您可以执行以下操作:
- 分配或取消分配证书
- 更改说明
- 更改标签
如果您使用 Google Cloud 控制台更新证书映射条目,还可以执行以下操作:
- 更改映射条目的名称。
- 如果没有其他映射条目被分配为主条目,请将该映射条目分配为证书映射的主映射条目。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。
在证书映射列表中,点击所需的证书映射。系统会打开证书映射详情页面。
点击修改。系统随即会打开修改证书映射页面。
在映射条目行的操作列下,点击 图标,然后选择修改。系统随即会打开修改映射条目窗口。
在映射条目名称字段中,更改证书映射条目的名称。
在说明字段中,更改证书映射条目的说明。
如需将证书映射条目设为证书映射的主要条目,请选择主要条目。如需了解详情,请参阅创建主证书映射条目。
注意:您只能将一个主要证书映射条目与证书映射相关联。
在主机名字段中,更改要与证书映射条目关联的主机名。
注意:对于主要证书映射条目,主机名默认指定为
<PRIMARY>,您无法更改其主机名。如需将证书与证书映射条目相关联,请点击选择证书。您可以选择现有证书,也可以点击添加证书来创建证书。
注意:您最多可以将四个证书与一个证书映射条目相关联。
如需向上或向下移动证书的顺序,请点击所需证书对应的 图标或 图标。
如需删除证书,请点击所需证书对应的删除项目。
如需添加标签并将其与证书映射条目相关联,请点击 添加标签,然后为标签输入键和值。
如需删除标签,请点击所需标签对应的 删除标签。
点击保存。
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 项目的 IDCERTIFICATE_NAME:证书的名称DESCRIPTION:证书映射条目的说明LABEL_KEY:应用于证书映射条目的标签键LABEL_VALUE:应用于证书映射条目的标签值
列出证书映射条目
您可以查看、过滤和排序与证书映射关联的所有证书映射条目的列表。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。
在证书映射列表中,点击所需的证书映射。系统会打开证书映射详细信息页面,其中包含有关所选证书映射及其关联的映射条目列表的详细信息。
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 项目的 IDCERTIFICATE_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字段列表,用于指定返回结果的排序依据。默认排序顺序是升序;如需降序排序,请在相应字段前面加上波浪号 (~)。
查看证书映射条目的状态
您可以查看与证书映射关联的证书映射条目的详细信息和状态。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。
在证书映射列表中,点击所需的证书映射。系统会打开证书映射详细信息页面,其中包含有关所选证书映射及其关联的映射条目列表的详细信息。
在映射条目部分,点击要查看的映射条目的名称。系统会打开映射条目详情页面,其中包含所选映射条目的详细信息。
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 项目的 IDCERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称
删除证书映射条目
删除证书映射条目后,与该条目关联的证书会从目标代理中分离。
删除证书映射条目不会从Google Cloud中删除关联的证书。您必须手动删除这些证书。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面,然后点击证书映射标签页。
在证书映射列表中,点击所需的证书映射。系统会打开证书映射详情页面。
点击修改。系统随即会打开修改证书映射页面。
在映射条目行的操作列下,点击 图标,选择 删除,然后点击删除。
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 项目的 IDCERTIFICATE_MAP_NAME:证书映射条目关联到的证书映射的名称CERTIFICATE_MAP_ENTRY_NAME:证书映射条目的名称