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 中:
服务证书使用 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
$ oc get secret example-infinispan-cert-secret \
-o jsonpath='{.data.tls\.crt}' | base64 --decode > tls.crt
7.2.3. 禁用加密 复制链接链接已复制到粘贴板!
您可以禁用加密,因此客户端不需要 TLS 证书来建立与 Data Grid 的连接。
Data Grid 不建议在生产环境中禁用加密,其中端点通过 spec.expose.type 在 OpenShift 集群外公开。
流程
将
None设置为InfinispanCR 中的spec.security.endpointEncryption.type字段的值,然后应用更改。spec: ... security: endpointEncryption: type: Nonespec: ... security: endpointEncryption: type: None1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 禁用 Data Grid 端点的加密。
7.2.4. 使用自定义 TLS 证书 复制链接链接已复制到粘贴板!
使用自定义 PKCS12 密钥存储或 TLS 证书/密钥对来加密客户端和数据网格集群间的连接。
先决条件
- 创建密钥存储或证书 secret。请参阅:
- 证书 Secret
- 密钥存储 secret
流程
将加密 secret 添加到 OpenShift 命名空间中,例如:
oc apply -f tls_secret.yaml
$ oc apply -f tls_secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
InfinispanCR 中使用spec.security.endpointEncryption指定加密 secret,然后应用更改。Copy to Clipboard Copied! Toggle word wrap Toggle overflow