参考 > 参考 > mongo Shell方法 > 客户端字段级加密方法 > getClientEncryption()
4.2版中的新功能。
getClientEncryption()¶返回ClientEncryption当前数据库集合的对象。该ClientEncryption对象支持客户端字段级别加密的字段值的显式(手动)加密和解密
。
getClientEncryption() 具有以下语法:
| 返回: | ClientEncryption当前数据库连接的对象。 |
|---|
使用该ClientEncryption对象访问以下显式加密方法:
该getKeyVault()方法使用部分索引过滤器 在字段上自动创建
唯一索引,仅适用于存在的文档。
在密钥保管库集合中创建此索引。这防止了同一密钥库中的任何两个数据加密密钥具有相同的密钥替代名称,因此避免了围绕哪个数据加密密钥适用于加密/解密的歧义。keyAltNameskeyAltNamesgetKeyVault()
警告
不要删除由创建的唯一索引getKeyVault()。客户端字段级加密操作取决于服务器强制的唯一性keyAltNames。删除索引可能会导致意外或不可预测的行为。
以下示例将本地管理的KMS用于客户端字段级加密配置。
为本地管理的密钥配置客户端字段级加密需要指定没有换行符的base64编码的96字节字符串。以下操作将生成满足所述要求的密钥并将其加载到mongo外壳中:
使用生成的本地密钥字符串创建客户端字段级加密对象:
使用Mongo()构造函数使用客户端字段级加密选项创建数据库连接。用目标集群mongodb://myMongo.example.net的连接字符串URI替换
URI 。
使用该getClientEncryption()方法检索客户端加密对象:
有关在启用客户端字段级加密的情况下启动MongoDB连接的完整文档,请参阅Mongo()。