13.5. 保护跨站点连接


添加密钥存储和信任存储,以便 Data Grid 集群可以保护跨站点复制流量。

您必须添加密钥存储,以使用 OpenShift Route 作为公开类型,以进行跨站点复制。如果使用 NodePortLoadBalancer 作为公开类型,保护跨站点连接是可选的。

先决条件

  • 具有 PKCS12 密钥存储,数据网格可用于加密和解密 RELAY 信息。

    您必须提供密钥存储,以转发 pod 和路由器 Pod 来保护跨站点连接。
    密钥存储可以是转发 pod 和路由器 Pod 的相同,或者您可以为它们分别提供单独的密钥存储。
    您也可以将相同的密钥存储用于每个 Data Grid 集群或每个集群的唯一密钥存储。

  • (可选)有一个信任存储,其中包含证书链或根 CA 证书的一部分,用于验证 Data Grid 转发 pod 和路由器 Pod 的公共证书。

    默认情况下,Data Grid 使用 Java 信任存储来验证公共证书。

流程

  1. 创建跨站点加密 secret。

    1. 创建密钥存储机密。
    2. 如果您不想使用默认的 Java 信任存储存储,则创建信任存储 secret。
  2. 为每个 Data Grid 集群修改 Infinispan CR,以指定 encryption.transportKeyStore.secretNameencryption.routerKeyStore.secretName 字段的 secret 名称。
  3. 配置任何其他字段以根据需要加密 RELAY 消息,然后应用更改。

    apiVersion: infinispan.org/v1
    kind: Infinispan
    metadata:
      name: infinispan
    spec:
      replicas: 2
      expose:
        type: LoadBalancer
      service:
        type: DataGrid
        sites:
          local:
            name: SiteA
            # ...
            encryption:
              protocol: TLSv1.3
              transportKeyStore:
                secretName: transport-tls-secret
                alias: transport
                filename: keystore.p12
              routerKeyStore:
                secretName: router-tls-secret
                alias: router
                filename: keystore.p12
              trustStore:
                secretName: truststore-tls-secret
                filename: truststore.p12
          locations:
            # ...
    Copy to Clipboard Toggle word wrap

13.5.1. 用于配置跨站点加密的资源

下表提供了用于加密跨站点连接的字段和描述。

Expand
表 13.4. service.type.sites.local.encryption
字段描述

service.type.sites.local.encryption.protocol

指定用于跨站点连接的 TLS 协议。默认值为 TLSv1.2,但您可以根据需要设置 TLSv1.3

service.type.sites.local.encryption.transportKeyStore

配置用于中继 pod 的密钥存储机密。

service.type.sites.local.encryption.routerKeyStore

为路由器 Pod 配置密钥存储机密。

service.type.sites.local.encryption.trustStore

配置可选信任存储 secret,用于中继 pod 和路由器 pod。

Expand
表 13.5. service.type.sites.local.encryption.transportKeyStore
字段描述

secretName

指定包含转发 Pod 可用于加密和解密 RELAY 消息的密钥存储的机密。此字段是必需的。

alias

(可选)指定密钥存储中的证书别名。默认值为 transport

filename

(可选)指定密钥存储的文件名。默认值为 keystore.p12

Expand
表 13.6. service.type.sites.local.encryption.routerKeyStore
字段描述

secretName

指定包含路由器 Pod 可用于加密和解密 RELAY 消息的密钥存储的机密。此字段是必需的。

alias

(可选)指定密钥存储中的证书别名。默认值为 路由器

filename

(可选)指定密钥存储的文件名。默认值为 keystore.p12

Expand
表 13.7. service.type.sites.local.encryption.trustStore
字段描述

secretName

(可选)指定包含信任存储的 secret,以验证转发 pod 和路由器 Pod 的公共证书。默认值为 < cluster-name>-truststore-site-tls-secret

filename

(可选)指定信任存储的文件名。默认值为 truststore.p12

13.5.2. 跨站点加密 secret

跨站点复制加密 secret 添加密钥存储和可选信任存储,以保护跨站点连接。

跨站点加密 secret

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
type: Opaque
stringData:
  password: changeme
  type: pkcs12
data:
  <file-name>: "MIIKDgIBAzCCCdQGCSqGSIb3DQEHA..."
Copy to Clipboard Toggle word wrap

Expand
字段描述

stringData.password

指定密钥存储或信任存储的密码。

stringData.type

(可选)指定密钥存储或信任存储类型。默认值为 pkcs12

data.<file-name>

添加 base64 编码的密钥存储或信任存储。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat