1.2. OpenStack Key Manager 加密类型
证书、API 密钥和密码等机密可以存储在 barbican 数据库中加密的 blob 中,或者直接存储在安全存储系统中。您可以使用简单的加密插件或 PKCS#11 crypto 加密插件来加密 secret。
要将 secret 作为一个加密的 blob 存储在 barbican 数据库中,可以使用以下选项:
-
简单加密插件 - 默认启用简单加密插件,并使用单个对称密钥加密所有 secret 有效负载。此密钥以纯文本形式存储在
barbican.conf
文件中,因此防止未经授权的访问此文件非常重要。 PKCS#11 crypto plugin 插件 - PKCSBACKEND 加密插件使用特定于项目的密钥加密密钥(pKEK)加密 secret,该 secret 存储在 barbican 数据库中。特定于项目的 pKEK 由主密钥加密(MKEK)加密,该密钥存储在硬件安全模块(HSM)中。所有加密和解密操作都会在 HSM 中进行,而不是在进程内存中。PKCS#11 插件通过 PKCS#11 API 与 HSM 通信。由于加密是在安全硬件中完成的,并且每个项目使用不同的 pKEK,所以这个选项比简单的加密插件更安全。
红帽支持带有以下 HSM 中的任何一个 PKCS#11 后端。
设备 发行版本支持 高可用性(HA)支持 ATOS Trustway Proteccio NetHSM
16.0+
16.1+
Entrust nShield Connect HSM
16.0+
不支持
Thales Luna Network HSM
16.1+(技术预览)
16.1+(技术预览)
注意关于高可用性(HA)选项:barbican 服务在 Apache 中运行,并由 director 配置为使用 HAProxy 来实现高可用性。后端层的 HA 选项将取决于所使用的后端。例如,对于简单加密,所有 barbican 实例在配置文件中都有相同的加密密钥,从而导致简单的 HA 配置。
1.2.1. 配置多个加密机制
您可以将 Barbican 的一个实例配置为使用多个后端。完成后,您必须将后端指定为 全局默认
后端。您还可以指定每个项目的默认后端。如果项目不存在映射,则该项目的 secret 将存储为使用全局默认后端。
例如,您可以将 Barbican 配置为使用简单加密和 PKCS#11 插件。如果将 Simple crypto 设为全局默认值,则所有项目都将使用该后端。然后,您可以通过将 PKCS#11 设置为该项目的首选后端来指定哪些项目使用 PKCS#11 后端。
如果您决定迁移到新后端,您可以在启用新后端作为全局默认值或作为特定于项目的后端时保持原始可用。因此,旧的 secret 可以通过旧后端保持可用,新的 secret 则存储在新的全局默认后端中。