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