本页面介绍了如何创建和管理用于相互通信的信任配置 TLS 身份验证 (mTLS) 场景。
如需了解详情,请参阅以下资源:
详细了解信任配置、信任锚和中间层 证书,请参阅信任配置 了解 Certificate Manager 的工作原理。
如需详细了解 mTLS,请参阅双向 TLS 身份验证 。
如需使用信任配置在目标代理上配置 mTLS,请参阅下列内容之一: Cloud Load Balancing 文档中的以下页面:
本页中的 gcloud
说明假定您使用的是
Cloud Shell 或安装了 bash
的其他环境。
如需详细了解本页中使用的 gcloud
命令,请参阅
Certificate Manager CLI 参考文档。
创建信任配置
要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:
- Certificate Manager Editor (
roles/certificatemanager.editor
) - 证书管理器所有者 (
roles/certificatemanager.owner
)
如需了解详情,请参阅角色和权限。
如需创建信任配置,请完成以下步骤:
创建一个指定信任配置参数的信任配置 YAML 文件。 该文件采用以下格式:
trustStores: - trustAnchors: - pemCertificate: "CERTIFICATE_PEM_PAYLOAD" intermediateCas: - pemCertificate: "INTER_CERT_PEM_PAYLOAD" allowlistedCertificates: - pemCertificate: "ALLOWLISTED_CERT1" - pemCertificate: "ALLOWLISTED_CERT2"
替换以下内容:
TRUST_CONFIG_ID
:用于标识此字段的唯一 ID 信任配置资源。CERTIFICATE_PEM_PAYLOAD
:完整的 PEM 载荷 要用于此信任配置资源的证书。INTER_CERT_PEM_PAYLOAD
:完整的 PEM 用于此信任配置的中间证书的载荷 资源。这个值是可选值。ALLOWLISTED_CERT1
和ALLOWLISTED_CERT2
:添加到 要用于此信任配置资源的许可名单。这个值是可选值。您可以通过以下方式指定多个信任锚和中间证书 使用
pemCertificate
字段的多个实例,一个证书 每个实例的信任配置资源各自的部分中 规范添加到许可名单的证书代表着 可封装在信任配置中,以便系统始终将它视为 有效。如需将多个证书封装在 信任配置,请使用
pemCertificate
字段的多个实例,一个 一个证书。使用时无需受信任证书存储区 添加到许可名单的证书。添加的证书 则始终会被视为有效,只要相应证书 可解析、已建立私钥所有权证明, 符合证书的 SAN 字段上的条件。过期证书还会 它们在被添加到许可名单后被视为有效。更多信息 请参见 PEM 编码格式, RFC 7468。
将信任配置文件导入证书管理器:
gcloud
使用
gcloud certificate-manager trust-configs import
命令:gcloud certificate-manager trust-configs import TRUST_CONFIG_ID \ --project=PROJECT_ID \ --source=TRUST_CONFIG_FILE \ --location=LOCATION
替换以下内容:
TRUST_CONFIG_ID
:用于标识此字段的唯一 ID 信任配置资源。PROJECT_ID
:目标 Google Cloud 项目的 ID。TRUST_CONFIG_FILE
:完整路径和 信任您在第 1 步中创建的配置 YAML 文件。LOCATION
:信任配置资源所在的区域 。默认位置是global
。
API
向
trustConfigs.create
方法发出POST
请求:POST /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs?trust_config_id=TRUST_CONFIG_ID { "description": "DESCRIPTION", "trust_stores": { "trust_anchors": [{ "pem_certificate": "CERTIFICATE_PEM_PAYLOAD" }], "intermediate_cas": [{ "pem_certificate": "INTER_CERT_PEM_PAYLOAD" }], }, "allowlistedCertificates": [{ "pem_certificate": "ALLOWLISTED_CERT" }], }
替换以下内容:
PROJECT_ID
:目标 Google Cloud 项目的 ID。LOCATION
:地理位置属性用于指定 存储信任配置资源的区域。默认位置 为global
。TRUST_CONFIG_ID
:用于标识此字段的唯一 ID 信任配置资源。DESCRIPTION
:有意义的说明 。这个值是可选值。CERTIFICATE_PEM_PAYLOAD
:完整的 PEM 载荷 要用于此信任配置资源的证书。INTER_CERT_PEM_PAYLOAD
:完整的 PEM 用于此信任配置的中间证书的载荷 资源。这个值是可选值。ALLOWLISTED_CERT
:添加到 要用于此信任配置资源的许可名单。该值为 可选属性。
更新信任配置
要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:
- Certificate Manager Editor (
roles/certificatemanager.editor
) - 证书管理器所有者 (
roles/certificatemanager.owner
)
如需了解详情,请参阅 角色和权限。
如需更新信任配置,请完成以下步骤:
创建用于指定新信任关系的更新后的信任配置 YAML 文件 config 参数。该文件采用以下格式:
name: "TRUST_CONFIG_ID" trustStores: - trustAnchors: - pemCertificate: "CERTIFICATE_PEM_PAYLOAD" intermediateCas: - pemCertificate: "INTER_CERT_PEM_PAYLOAD" allowlistedCertificates: - pemCertificate: "ALLOWLISTED_CERT1" - pemCertificate: "ALLOWLISTED_CERT2"
替换以下内容:
TRUST_CONFIG_ID
:用于标识此字段的唯一 ID 信任配置资源。CERTIFICATE_PEM_PAYLOAD
:完整的 PEM 载荷 要用于此信任配置资源的证书。INTER_CERT_PEM_PAYLOAD
:完整的 PEM 用于此信任配置的中间证书的载荷 资源。这个值是可选值。ALLOWLISTED_CERT1
和ALLOWLISTED_CERT2
:添加到 要用于此信任配置资源的许可名单。这个值是可选值。
将新的信任配置文件导入证书管理器 针对现有的信任配置资源名称:
gcloud
使用
gcloud certificate-manager trust-configs import
命令:gcloud certificate-manager trust-configs import TRUST_CONFIG_ID \ --project=PROJECT_ID \ --source=TRUST_CONFIG_FILE \ --location=LOCATION
替换以下内容:
TRUST_CONFIG_ID
:目标信任的 ID config 资源。PROJECT_ID
:目标 Google Cloud 项目的 ID。TRUST_CONFIG_FILE
:完整路径和 已更新的信任配置文件。LOCATION
:地理位置属性用于指定 存储信任配置资源的区域。默认位置 为global
。
API
向
trustConfigs.update
方法发出PATCH
请求:PATCH /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID?update_mask=* { "description": "DESCRIPTION", "trust_stores": { "trust_anchors": [{ "pem_certificate": "CERTIFICATE_PEM_PAYLOAD" }], "intermediate_cas": [{ "pem_certificate": "INTER_CERT_PEM_PAYLOAD" }], }, "allowlistedCertificates": [{ "pem_certificate": "ALLOWLISTED_CERT" }], }
替换以下内容:
PROJECT_ID
:目标 Google Cloud 项目的 ID。LOCATION
:地理位置属性用于指定 存储信任配置资源的区域。默认位置 为global
。TRUST_CONFIG_ID
:目标信任配置的 ID 资源。DESCRIPTION
:对此内容的有意义的描述 信任配置资源。此说明为可选项。CERTIFICATE_PEM_PAYLOAD
:完整的 PEM 载荷 要用于此信任配置资源的证书。INTER_CERT_PEM_PAYLOAD
:完整的 用于此信任配置的中间证书的 PEM 载荷 config 资源。这个值是可选值。ALLOWLISTED_CERT
:添加到 要用于此信任配置资源的许可名单。该值为 可选属性。
列出信任配置
要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:
- Certificate Manager Viewer (
roles/certificatemanager.viewer
) - Certificate Manager Editor (
roles/certificatemanager.editor
) - 证书管理器所有者 (
roles/certificatemanager.owner
)
如需了解详情,请参阅 角色和权限。
如需列出已配置的信任配置,请完成以下步骤。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
点击信任配置标签页。
该标签页会显示已配置的信任配置资源列表。
gcloud
使用 gcloud certificate-manager trust-configs list
命令:
gcloud certificate-manager trust-configs list \ --filter="FILTER" \ --page-size="PAGE_SIZE" \ --limit="LIMIT" \ --sort-by="SORT_BY" \ --location=LOCATION
替换以下内容:
FILTER
:限制返回的 与特定值相关联。例如,您可以按照以下条件过滤结果:
- 标签和创建时间:
--filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'
如需更多过滤示例,您可以使用 Certificate Manager,请参阅 对列表结果进行排序和过滤 。
- 标签和创建时间:
PAGE_SIZE
:每页返回的结果数。LIMIT
:要返回的结果数上限。SORT_BY
:以英文逗号分隔的name
字段列表,按照 对返回的结果进行排序。默认的排序顺序为升序。对于降序排序顺序, 为所选字段添加波浪号 (
~
) 前缀。LOCATION
:地理位置属性用于指定 存储信任配置资源的区域。默认位置 为global
。
API
向 trustConfigs.list
方法发出 GET
请求:
GET /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY
替换以下内容:
PROJECT_ID
:目标 Google Cloud 项目的 ID。FILTER
:限制返回的 与特定值相关联。PAGE_SIZE
:每页返回的结果数。SORT_BY
:以英文逗号分隔的字段名称列表,按照 对返回的结果进行排序。默认的排序顺序为升序。对于降序排序顺序,添加前缀 使用波浪号 (
~
) 选中所选字段。LOCATION
:地理位置属性用于指定 存储信任配置资源的区域。默认位置 为global
。
查看信任配置
要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:
- Certificate Manager Viewer (
roles/certificatemanager.viewer
) - Certificate Manager Editor (
roles/certificatemanager.editor
) - 证书管理器所有者 (
roles/certificatemanager.owner
)
如需了解详情,请参阅 角色和权限。
如需查看信任配置,请完成以下步骤。
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面。
点击信任配置标签页。该标签页会显示 已配置的信任配置资源
选择信任配置资源以查看其详细信息。
信任配置详情页面会显示所选信任配置的相关详细信息。
gcloud
使用 gcloud certificate-manager trust-configs describe
命令:
gcloud certificate-manager trust-configs describe TRUST_CONFIG_ID \ --location=LOCATION
替换以下内容:
TRUST_CONFIG_ID
:目标信任配置的 ID。LOCATION
:信任配置资源所在的区域 。默认位置是global
。
API
向 trustConfigs.get
方法发出 GET
请求:
GET /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID
替换以下内容:
PROJECT_ID
:目标 Google Cloud 项目的 ID。TRUST_CONFIG_ID
:目标信任配置的 ID。LOCATION
:地理位置属性用于指定 存储信任配置资源的区域。默认位置 为global
。
删除信任配置
如需完成此任务,您必须拥有 Certificate Manager Owner 角色
针对目标 Google Cloud 项目的 (roles/certificatemanager.owner
)。
如需了解详情,请参阅 角色和权限。
如需删除信任配置,请完成以下步骤。
gcloud
使用 gcloud certificate-manager trust-configs delete
命令:
gcloud certificate-manager trust-configs delete TRUST_CONFIG_ID \ --location=LOCATION
替换以下内容:
TRUST_CONFIG_ID
:目标信任的 ID 配置。LOCATION
: 存储信任配置资源的区域。默认位置 为global
。
API
向 trustConfigs.delete
方法发出 DELETE
请求:
DELETE /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID
替换以下内容:
PROJECT_ID
:目标 Google Cloud 项目的 ID。LOCATION
:信任配置资源所在的区域 。默认位置是global
。TRUST_CONFIG_ID
:目标信任配置的 ID。