本页面介绍了如何创建和管理信任配置,以便在各种双向 TLS 身份验证 (mTLS) 场景中使用。
如需详细了解 mTLS,请参阅以下资源:
如需了解信任配置、信任锚点和中间证书的概念,请参阅信任配置。
如需详细了解 mTLS,请参阅 Cloud Load Balancing 文档中的双向 TLS 概览。
如需使用信任配置在目标代理上配置 mTLS,请参阅 Cloud Load Balancing 文档中的以下页面:
创建信任配置
创建信任配置时,您必须指定用于验证证书的信任锚。
如需创建信任配置,请完成以下步骤:
控制台
在 Google Cloud 控制台中,前往 Certificate Manager 页面上的信任配置标签页。
点击添加信任配置。系统会显示创建信任配置页面。
在名称字段中,输入配置的名称。
该名称在项目中必须是唯一的。此外,它必须以小写字母开头,后面最多可跟 62 个小写字母、数字或连字符,但不得以连字符结尾。
可选:在说明字段中,输入配置的说明。此说明有助于您日后识别特定配置。
可选:在标签字段中,指定要与信任配置相关联的标签。如需添加标签,请点击 添加标签,并为标签指定键和值。
对于位置,选择全球或区域级。
如果您选择了区域级,请选择区域。
在受信任证书存储区部分中,添加信任锚和中间 CA。
您可以使用证书的完整 PEM 载荷的多个实例来指定多个信任锚和中间证书,每个实例对应一个证书。
在信任锚部分中,点击添加信任锚,然后上传 PEM 编码的证书文件,或复制证书的内容。完成后,点击添加。
可选:在中间 CA 部分中,点击添加中间 CA,然后上传 PEM 编码的中间证书文件,或复制中间证书的内容。完成后,点击添加。
通过此步骤,您可以在根证书和服务器证书之间再添加一层信任。
可选:在已列入许可名单的证书部分中,点击添加证书,然后上传 PEM 编码的证书文件,或复制证书的内容。这会将证书添加到许可名单中。完成后,点击添加。
如需在信任配置资源规范中指定多个信任锚或中间证书,请使用
pemCertificate字段的多个实例。相应字段的每个实例都包含一个证书。信任配置始终将许可名单中的证书视为有效。如需在许可名单中封装多个证书,请使用
pemCertificate字段的多个实例,每个实例对应一个证书。使用添加到许可名单中的证书时,您无需受信任证书存储区。如果许可名单中的证书满足特定条件,信任配置始终会将其视为有效:证书必须可解析、拥有私钥所有权证明,并且遵守针对证书 SAN 字段的限制条件。过期的证书在列入许可名单时也会被视为有效。如需详细了解 PEM 编码格式,请参阅 RFC 7468。
点击创建。
验证新的信任配置是否显示在配置列表中。
gcloud
创建一个信任配置 YAML 文件,用于指定信任配置参数。
该文件采用以下格式:
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:添加到许可名单中以用于此信任配置资源的证书。
如需在信任配置资源规范中指定多个信任锚或中间证书,请使用
pemCertificate字段的多个实例。相应字段的每个实例都包含一个证书。信任配置始终将许可名单中的证书视为有效。如需在许可名单中封装多个证书,请使用
pemCertificate字段的多个实例,每个实例对应一个证书。使用添加到许可名单中的证书时,您无需受信任证书存储区。如果许可名单中的证书满足特定条件,信任配置始终会将其视为有效:证书必须可解析、拥有私钥所有权证明,并且遵守针对证书 SAN 字段的限制条件。过期的证书在列入许可名单时也会被视为有效。如需详细了解 PEM 编码格式,请参阅 RFC 7468。
如需导入信任配置 YAML 文件,请使用
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:添加到许可名单中以用于此信任配置资源的证书。此值为可选值。
更新信任配置
如需更新信任配置,您可以创建另一个信任配置 YAML 文件,用于指定新的信任配置参数,然后将此文件导入到 Certificate Manager 中。