Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

限制

在此页面上

  • 读写操作支持
  • 视图
  • 排序规则
  • 唯一索引
  • 片键
  • 读/写查询支持

mongod仅存储加密的BinData ,并根据BinData值应用指定加密字段的任何聚合表达式或查询运算符。虽然表达式或操作符可能支持BinData字段,但与针对解密值发出相同的表达式或操作符相比,结果值可能不正确或意外。如果表达式或操作符不支持BinData值, mongod会引发错误。

例如,考虑一个确定性加密的整数Salary 。 查询筛选Salary大于100000的文档。 在发出查询之前,应用程序使用确定性加密对查询值进行显式(手动)加密。 mongod100000加密BinData值与每个文档中存储的加密BinData值进行比较。 虽然操作成功返回,但BinData值的比较可能会返回与解密整数值的比较不同的结果。

自动客户端字段级加密会拒绝读取或写入操作,这些操作在针对加密字段发出时会返回不正确或意外的结果。 有关完整文档,请参阅自动字段级加密的读/写支持。 执行显式(手动)加密的应用程序可以引用链接页面作为对加密字段发出读/写操作的指导。

如果底层视图聚合管道 查询引用了加密字段,则对包含客户端字段级加密值的集合上的 视图 进行查询可能会返回意外或不正确的结果。如果在包含客户端字段级加密值的集合上创建视图,请避免对加密字段进行操作,以降低出现意外或不正确结果的风险。

而4 。为自动客户端字段级加密配置的2 + 兼容驱动程序对不支持的读取和写入操作进行了验证,底层支持库无法对视图目录进行内省以将给定集合识别为视图。因此,应用程序不能依赖自动字段级加密验证来防止不支持对具有加密字段的集合上的视图进行查询。

对于使用显式(手动)加密来查询包含加密值的collection上的视图的应用程序,请考虑使用在针对加密字段发出时具有已知正常行为的查询操作符来构造查询。

客户端字段级加密不遵循用户指定的排序规则或collection默认排序规则。字段级加密会掩盖字段值并阻止正常的排序规则行为。针对加密字段的查询可能会返回意外或不正确的结果。

而4 。为自动客户端字段级加密配置的2 + 兼容驱动程序对不支持的读取和写入操作进行了验证,底层支持库无法对collection目录进行内省以识别默认排序规则。因此,应用程序不能依赖自动字段级加密验证来阻止使用默认排序规则对加密字段进行查询。

唯一索引 如果索引键指定任何 随机加密 字段, 则无法 保证唯一性。

给定特定输入,使用随机算法加密的字段始终会生成不同的加密值。 即使解密值本身不是唯一的,服务器也会认为每个加密值是唯一的。 因此,该集合可以包含多个文档,而这些文档的某个字段具有重复的解密值,而该字段具有索引强制执行的唯一约束。

虽然为客户端字段级自动加密配置的4.2 + 兼容驱动程序对不支持的读写操作进行了验证,但底层支持库无法对索引目录进行内省以将给定字段标识为唯一字段。 因此,应用程序不能依赖自动字段级加密验证来防止违反随机加密字段的唯一约束。

在加密字段上指定分片加密现有分片键的字段可能会导致意外或不正确的分片行为。

而4 。为客户端字段级自动加密配置的2 + 兼容驱动程序对不支持的读写操作进行了验证,底层支持库无法自省分片目录元数据来识别分片键字段。因此,应用程序不能依赖自动字段级加密验证来防止对分片键字段进行加密。

客户端字段级自动加密支持命令子集、查询操作符、更新操作符、聚合阶段和聚合表达式。有关完整文档,请参阅具有自动字段级加密的读/写支持。

后退

管理数据加密密钥

来年

审核自管理部署