getClientEncryption()
getClientEncryption()返回当前数据库集合的
ClientEncryption对象。该ClientEncryption对象支持对字段的显式(手动)加密和解密,用于客户端字段级加密.返回: 当前数据库连接的 ClientEncryption对象。
语法
getClientEncryption() 具有以下语法
db.getMongo().getClientEncryption();
使用 ClientEncryption 对象访问以下显式加密方法
行为
在数据库连接中启用客户端字段级加密
的mongosh 客户端字段级加密方法需要启用客户端字段级加密的数据库连接。如果当前数据库连接没有启用客户端字段级加密启动,则
示例
方法 getKeyVault() 会自动在 keyAltNames 字段上创建一个唯一的索引,并使用 唯一索引 和一个 部分索引 过滤器,仅对存在 keyAltNames 的文档进行索引。该方法在密钥库集合中创建此索引。这可以防止同一个密钥库中的两个数据加密密钥具有相同的密钥替代名称,从而避免在加密/解密时哪个数据加密密钥是合适的产生歧义。
警告
不要删除由 getKeyVault() 创建的唯一索引。客户端字段级加密操作依赖于服务器强制执行的 keyAltNames 的唯一性。删除索引可能会导致意外或不预测的行为。
以下示例使用本地管理的KMS进行客户端字段级加密配置。
2
3
使用 getClientEncryption() 方法获取客户端加密对象
clientEncryption = encryptedClient.getClientEncryption()
了解更多
有关启用客户端字段级加密的完整 MongoDB 连接文档,请参阅 Mongo()。