相关 Openstack 项目¶
Castellan 是一个库,它提供了一个简单的通用接口来存储、生成和检索密钥。大多数 Openstack 服务都使用它来进行密钥管理。作为一个库,Castellan 本身并不提供密钥存储。相反,需要部署一个后端实现。
请注意,Castellan 不提供任何身份验证。它只是将身份验证凭据(例如 Keystone token)传递给后端。
Barbican 是一个 OpenStack 服务,它为 Castellan 提供后端。Barbican 期望并验证 Keystone 身份验证 token,以识别访问或存储密钥的用户和项目。然后它应用策略来确定是否允许访问。它还提供许多其他有用的功能来改进密钥管理,包括配额、每个密钥的 ACL、密钥消费者跟踪以及将密钥分组在密钥容器中。例如,Octavia 直接与 Barbican 集成(而不是 Castellan),以利用其中一些功能。
Barbican 有许多后端插件可用于将密钥安全地存储在本地数据库或 HSM 中。
目前,Barbican 是 Castellan 的唯一可用后端。然而,还有几个后端正在开发中,包括 KMIP、Dogtag、Hashicorp Vault 和 Custodia。对于那些不想部署 Barbican 并且密钥管理需求相对简单的部署者来说,使用其中一个后端可能是一种可行的替代方案。但是,缺少的是检索密钥时的多租户和租户策略执行,以及上述任何其他额外功能。