在本页面
MongoDB 4.2兼容的驱动程序和4.2 mongo
Shell支持使用特定的数据加密密钥和加密算法来显式加密或解密字段。
应用程序必须修改与构造读写操作相关的任何代码,以通过驱动程序加密库包括加密/解密逻辑。应用程序负责为每个操作选择适当的数据加密密钥以进行加密/解密。
4.2 mongo
Shell提供了以下用于执行显式加密和解密的方法:
与MongoDB 4.2兼容的驱动程序具有用于执行显式客户端字段级加密的特定语法。有关支持客户端字段级加密的4.2兼容驱动程序的完整列表,请参见 驱动程序兼容性表。请参考首选驱动程序的文档,以获取有关执行客户端字段级加密的特定说明。
从mongo
外壳程序发出的以下操作taxid
作为写操作的一部分,对字段进行显式加密。
从mongo
外壳程序发出的以下操作将显式加密该taxid
字段,作为读取操作的一部分:
这些操作假定数据库连接 配置中 指定的密钥库和密钥管理服务,访问指定的数据加密密钥和与其相关的客户主键。
对于返回加密字段的读取操作, 仅当驱动程序/外壳程序配置为可访问用于保护这些值的密钥时,驱动程序/外壳程序才会自动解密加密 值。
每个与MongoDB 4.2兼容的官方驱动程序都引入了新功能,以支持客户端字段级加密和数据加密密钥管理。有关实现显式客户端字段级加密的特定于语言的说明,请参考首选的驱动程序文档。
MongoDB 4.2 mongo
Shell为该Mongo()
方法添加了一个附加选项,用于使用自动客户端字段级加密实例化数据库连接。有关完整示例,请参阅
启用客户端加密的连接到MongoDB群集。
实例化数据库连接时,应用程序必须指定以下组件以启用自动客户端字段级加密:
一个关键的库数据的加密密钥。密钥保管库可以驻留在远程MongoDB集群或存储客户端加密数据的MongoDB集群上。
受支持的密钥管理服务(KMS)提供商,用于管理客户主密钥(CMK)。MongoDB使用指定的CMK对所有数据加密密钥进行加密,然后再将其存储在密钥库中,仅保留未加密的元数据。
4.2兼容驱动程序和4.2 mongo
Shell需要访问KMS才能加密和解密受保护的字段或创建新的数据加密密钥。
MongoDB 4.2服务器支持使用架构验证来对集合中特定字段进行加密。如果集合验证$jsonSchema
要求对字段进行加密,则执行显式(手动)字段级加密的客户端必须
encrypt
对该字段进行加密。
有关服务器端客户端字段级加密实施的完整文档,请参阅“ 强制字段级加密架构”。