CSFLE 加密组件
MongoDB 的Queryable Encryption功能在MongoDB 7.0及更高版本中可用 (GA)。 要学习;了解有关Queryable Encryption的更多信息并将其与客户端字段级加密的优点进行比较,请参阅 Queryable Encryption 。
示意图
下图说明了MongoDB驾驶员或 mongosh
与客户端字段级加密(CSFLE) 的每个组件之间的关系:
组件
以下部分将讨论上图中的各个组件。
libmongocrypt
libmongocrypt
是 Apache 许可的开源 官方MongoDB驱动程序和mongosh
用于支持客户端字段级加密的核心加密库。某些驱动程序可能需要特定的集成步骤来安装或链接库。
要查看安装libmongocrypt
的步骤,请参阅libmongocrypt 参考页面。
mongocryptd
mongocryptd
支持自动加密,且仅适用于 MongoDB Enterprise。mongocryptd
不执行加密函数。
要了解有关mongocryptd
的更多信息,请参阅为 CSFLE 安装和配置 mongocryptd。
密钥保管库集合
密钥保管库集合是标准 MongoDB collection,其中存储用于加密应用程序数据的所有数据加密密钥。在存储在密钥保管库集合中之前,数据加密密钥本身使用客户主密钥 ( CMK ) 进行加密。 您可以将 Key Vault 集合托管在与存储加密应用程序数据的集群不同的 MongoDB 集群上。
要了解有关密钥保管库集合的更多信息,请参阅密钥和密钥保管库。
密钥管理系统
密钥管理系统 ( KMS ) 存储用于加密数据加密密钥的客户主密钥 ( CMK )。
要查看 MongoDB 支持的所有KMS提供商的列表,请参阅CSFLE KMS 提供商。
MongoDB 集群
存储加密数据的MongoDB 集群也可能实施客户端字段级加密。 有关服务器端模式执行的更多信息,请参阅CSFLE 服务器端模式执行。