管理信任配置

本页面介绍了如何创建和管理用于相互通信的信任配置 TLS 身份验证 (mTLS) 场景。

如需了解详情,请参阅以下资源:

本页中的 gcloud 说明假定您使用的是 Cloud Shell 或安装了 bash 的其他环境。 如需详细了解本页中使用的 gcloud 命令,请参阅 Certificate Manager CLI 参考文档

创建信任配置

要完成此任务,您必须拥有目标的以下角色之一 Google Cloud 项目:

  • Certificate Manager Editor (roles/certificatemanager.editor)
  • 证书管理器所有者 (roles/certificatemanager.owner)

如需了解详情,请参阅角色和权限

如需创建信任配置,请完成以下步骤:

  1. 创建一个指定信任配置参数的信任配置 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_CERT1ALLOWLISTED_CERT2:添加到 要用于此信任配置资源的许可名单。这个值是可选值。

      您可以通过以下方式指定多个信任锚和中间证书 使用 pemCertificate 字段的多个实例,一个证书 每个实例的信任配置资源各自的部分中 规范

      添加到许可名单的证书代表着 可封装在信任配置中,以便系统始终将它视为 有效。如需将多个证书封装在 信任配置,请使用 pemCertificate 字段的多个实例,一个 一个证书。使用时无需受信任证书存储区 添加到许可名单的证书。添加的证书 则始终会被视为有效,只要相应证书 可解析、已建立私钥所有权证明, 符合证书的 SAN 字段上的条件。过期证书还会 它们在被添加到许可名单后被视为有效。更多信息 请参见 PEM 编码格式, RFC 7468

  2. 将信任配置文件导入证书管理器:

    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)

如需了解详情,请参阅 角色和权限

如需更新信任配置,请完成以下步骤:

  1. 创建用于指定新信任关系的更新后的信任配置 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_CERT1ALLOWLISTED_CERT2:添加到 要用于此信任配置资源的许可名单。这个值是可选值。
  2. 将新的信任配置文件导入证书管理器 针对现有的信任配置资源名称:

    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)

如需了解详情,请参阅 角色和权限

如需列出已配置的信任配置,请完成以下步骤。

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面。

    前往“证书管理器”

  2. 点击信任配置标签页。

    该标签页会显示已配置的信任配置资源列表。

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)

如需了解详情,请参阅 角色和权限

如需查看信任配置,请完成以下步骤。

控制台

  1. 在 Google Cloud 控制台中,前往 Certificate Manager 页面。

    前往“证书管理器”

  2. 点击信任配置标签页。该标签页会显示 已配置的信任配置资源

  3. 选择信任配置资源以查看其详细信息。

    信任配置详情页面会显示所选信任配置的相关详细信息。

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。

后续步骤