5.3. 数据加密选项
加密可让您对数据进行编码,使其在没有所需的加密密钥的情况下无法读取。通过这种机制,当物理性安全被破坏的情况下,您的数据所在的物理介质丢失时,可以保护您的数据的安全性。每个PV 加密也提供同一 OpenShift Container Platform 集群内其他命名空间的访问保护。当数据写入到磁盘时,数据会被加密,并在从磁盘读取数据时对其进行解密。使用加密的数据可能会对性能产生较小的影响。
只有使用 Red Hat OpenShift Data Foundation 4.6 或更高版本部署的新集群才支持加密。没有使用外部密钥管理系统 (KMS) 的现有加密集群无法迁移为使用外部 KMS。
以前,HashiCorp Vault 是唯一支持集群范围的 KMS 和持久性卷加密的 KMS。在 OpenShift Data Foundation 4.7.0 和 4.7.1 中,只支持 HashiCorp Vault Key/Value (KV) secret engine API,支持版本 1。从 OpenShift Data Foundation 4.7.2 开始,支持 HashiCorp Vault KV secret engine API、版本 1 和 2。从 OpenShift Data Foundation 4.12 开始,Thales CipherTrust Manager 已被作为额外支持的 KMS 被引进。
- KMS 是 StorageClass 加密所必需的,对于集群范围的加密,它是可选的。
- 首先,存储类加密需要一个有效的 Red Hat OpenShift Data Foundation Advanced 订阅。如需更多信息,请参阅 OpenShift Data Foundation 订阅中的知识库文章。
红帽与技术合作伙伴合作,将本文档作为为客户提供服务。但是,红帽不为 Hashicorp 产品提供支持。有关此产品的技术协助,请联系 Hashicorp。
5.3.1. 集群范围的加密
Red Hat OpenShift Data Foundation 支持存储集群中所有磁盘和多云对象网关操作的集群范围加密 (encryption-at-rest)。OpenShift Data Foundation 使用基于 Linux 统一密钥系统 (LUKS) 版本 2 的加密,其密钥大小为 512 位,以及 aes-xts-plain64
密码,其中每个设备都有不同的加密密钥。密钥使用 Kubernetes secret 或外部 KMS 存储。两种方法都是互斥的,您不能在方法之间迁移。
对于块存储和文件存储,默认会禁用加密。您可以在部署时为集群启用加密。MultiCloud 对象网关默认支持加密。如需更多信息,请参阅部署指南。
集群范围内的加密在没有 Key Management System (KMS) 的 OpenShift Data Foundation 4.6 中被支持。从 OpenShift Data Foundation 4.7 开始,使用和不使用 HashiCorp Vault KMS 都被支持。从 OpenShift Data Foundation 4.12 开始,使用和不使用 HashiCorp Vault KMS 和 Thales CipherTrust Manager KMS 都被支持。
需要有效的 Red Hat OpenShift Data Foundation 高级订阅。要了解 OpenShift Data Foundation 订阅如何工作,请参阅与 OpenShift Data Foundation 订阅相关的知识库文章。
使用 HashiCorp Vault KMS 进行集群范围内的加密提供了两种身份验证方法:
- 令牌 :此方法允许使用 vault 令牌进行身份验证。在 openshift-storage 命名空间中创建包含 vault 令牌的 kubernetes secret,用于身份验证。如果选择了这个验证方法,那么管理员必须提供 vault 中后端路径(其中存储了加密密钥)的 vault 令牌。
Kubernetes :此方法允许使用服务账户(serviceaccounts)通过 vault 进行身份验证。如果选择了这种身份验证方法,那么管理员必须提供 Vault 中配置的角色的名称,从而提供对后端路径的访问,然后存储了加密密钥。然后,此角色的值会添加到
ocs-kms-connection-details
配置映射中。此方法可从 OpenShift Data Foundation 4.10 中提供。目前,HashiCorp Vault 是唯一受支持的 KMS。在 OpenShift Data Foundation 4.7.0 和 4.7.1 中,只支持 HashiCorp Vault KV secret 引擎,API 版本 1。从 OpenShift Data Foundation 4.7.2 开始,支持 HashiCorp Vault KV secret engine API、版本 1 和 2。
除了 HashiCorp Vault KMS,IBM Cloud 平台上的 OpenShift Data Foundation 现在还支持 Hyper Protect Crypto Services(HPCS)Key Management Services(KMS)作为加密解决方案。
红帽与技术合作伙伴合作,将本文档作为为客户提供服务。但是,红帽不为 Hashicorp 产品提供支持。有关此产品的技术协助,请联系 Hashicorp。
5.3.2. 存储类加密
您可以使用外部密钥管理系统 (KMS) 使用存储类加密来加密持久性卷(仅限块)来存储设备加密密钥。永久卷加密仅可用于 RADOS 块设备 (RBD) 持久卷。请参阅 如何使用持久性卷加密 创建存储类。
存储类加密在使用 HashiCorp Vault KMS 的 OpenShift Data Foundation 4.7 或更高版本中被支持。存储类加密在使用 HashiCorp Vault KMS 和 Thales CipherTrust Manager KMS 的 OpenShift Data Foundation 4.12 或更高版本中被支持。
需要有效的 Red Hat OpenShift Data Foundation 高级订阅。要了解 OpenShift Data Foundation 订阅如何工作,请参阅与 OpenShift Data Foundation 订阅相关的知识库文章。
5.3.3. CipherTrust manager
Red Hat OpenShift Data Foundation 版本 4.12 引入了 Thales CipherTrust Manager 作为部署的附加密钥管理系统 (KMS) 供应商。Thales CipherTrust Manager 提供了中央化的密钥生命周期管理功能。CipherTrust Manager 支持密钥管理互操作性协议(KMIP),它启用了密钥管理系统之间的通信。
CipherTrust Manager 在部署期间被启用。
5.3.4. 数据加密通过 Red Hat Ceph Storage 的 messenger 版本 2 协议进行转换
从 OpenShift Data Foundation 版本 4.14 开始,Red Hat Ceph Storage 的 messenger 版本 2 协议可用于加密转换中的数据。这为您的基础架构提供重要的安全要求。部署过程中可以启用 in-transit 加密。