7.2. 配置加密


使用 Red Hat OpenShift 服务证书或自定义 TLS 证书加密客户端和 Data Grid 节点之间的连接。

7.2.1. 使用 Red Hat OpenShift Service Certificates 加密

Data Grid Operator 会自动生成由 Red Hat OpenShift 服务 CA 签名的 TLS 证书。然后,Data Grid Operator 将证书和密钥存储在 secret 中,以便您可以检索它们并用于远程客户端。

如果 Red Hat OpenShift 服务 CA 可用,Data Grid Operator 会将以下 spec.security.endpointEncryption 配置添加到 Infinispan CR 中:

spec:
  ...
  security:
    endpointEncryption:
      type: Service
      certServiceName: service.beta.openshift.io 
1

      certSecretName: example-infinispan-cert-secret 
2
Copy to Clipboard Toggle word wrap
1
指定 Red Hat OpenShift Service。
2
以 PEM 格式命名包含服务证书 tls.crt 和密钥 tls.key 的 secret。如果没有指定名称,Data Grid Operator 将使用 < cluster_name>-cert-secret
注意

服务证书使用 Data Grid 集群的内部 DNS 名称作为通用名称(CN),例如:

subject: CN = example-infinispan.mynamespace.svc

因此,服务证书只能在 OpenShift 中完全信任。如果要加密与 OpenShift 外部运行的客户端的连接,您应该使用自定义 TLS 证书。

服务证书在一年内有效,并在过期前自动替换。

7.2.2. 检索 TLS 证书

从加密 secret 获取 TLS 证书以创建客户端信任存储。

  • 从加密 secret 检索 tls.crt,如下所示:
$ oc get secret example-infinispan-cert-secret \
-o jsonpath='{.data.tls\.crt}' | base64 --decode > tls.crt
Copy to Clipboard Toggle word wrap

7.2.3. 禁用加密

您可以禁用加密,因此客户端不需要 TLS 证书来建立与 Data Grid 的连接。

重要

Data Grid 不建议在生产环境中禁用加密,其中端点通过 spec.expose.type 在 OpenShift 集群外公开。

流程

  • None 设置为 Infinispan CR 中的 spec.security.endpointEncryption.type 字段的值,然后应用更改。

    spec:
      ...
      security:
        endpointEncryption:
                type: None 
    1
    Copy to Clipboard Toggle word wrap
    1
    禁用 Data Grid 端点的加密。

7.2.4. 使用自定义 TLS 证书

使用自定义 PKCS12 密钥存储或 TLS 证书/密钥对来加密客户端和数据网格集群间的连接。

先决条件

流程

  1. 将加密 secret 添加到 OpenShift 命名空间中,例如:

    $ oc apply -f tls_secret.yaml
    Copy to Clipboard Toggle word wrap
  2. Infinispan CR 中使用 spec.security.endpointEncryption 指定加密 secret,然后应用更改。

    spec:
      ...
      security:
        endpointEncryption: 
    1
    
                type: Secret 
    2
    
                certSecretName: tls-secret 
    3
    Copy to Clipboard Toggle word wrap
    1
    加密到 Data Grid 端点的流量。
    2
    配置 Data Grid 以使用包含加密证书的 secret。
    3
    将加密 secret 命名为。

7.2.4.1. 证书 Secret

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
type: Opaque
data:
    tls.key:  "LS0tLS1CRUdJTiBQUk ..." 
1

    tls.crt: "LS0tLS1CRUdJTiBDRVl ..." 
2
Copy to Clipboard Toggle word wrap
1
添加以 base64 编码的 TLS 密钥。
2
添加以 base64 编码的 TLS 证书。

7.2.4.2. 密钥存储 secret

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
type: Opaque
stringData:
    alias: server 
1

    password: password 
2

data:
    keystore.p12:  "MIIKDgIBAzCCCdQGCSqGSIb3DQEHA..." 
3
Copy to Clipboard Toggle word wrap
1
指定密钥存储的别名。
2
指定密钥存储的密码。
3
添加 base64 编码的密钥存储。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部