参考 > 参考 > mongo Shell方法 > 客户端字段级加密方法 > KeyVault.createKey()
4.2版中的新功能。
KeyVault.
createKey
(keyManagementService,customerMasterKey [,“ keyAltName” ] )¶将数据加密密钥添加到与数据库连接关联的密钥库中。客户端字段级加密使用数据加密密钥来支持字段值的加密和解密。
createKey()
具有以下语法:
参数 | 类型 | 描述 |
---|---|---|
keyManagementService |
串 | 需要 密钥管理服务(KMS),用于检索客户主密钥(CMK)。
指定 如果未使用指定的KMS配置,则数据加密密钥创建失败。 |
customerMasterKey |
串 | 需要 客户主密钥(CMK)的标识符,用于加密数据加密密钥。
|
keyAltName |
字符串数组 | 可选的 数据加密密钥的备用名称。使用
该 |
返回: | UUID 创建的数据加密密钥的唯一标识符。 |
---|
以下示例旨在快速评估客户端字段级加密。有关适用于开发和生产环境的更完整的示例,请参阅 创建数据加密密钥。
为本地管理的密钥配置客户端字段级加密需要指定没有换行符的base64编码的96字节字符串。以下操作将生成满足所述要求的密钥并将其加载到mongo
外壳中:
使用生成的本地密钥字符串创建客户端字段级加密对象:
使用Mongo()
构造函数使用客户端字段级加密选项创建数据库连接。用目标集群mongodb://myMongo.example.net
的连接字符串URI替换
URI 。
检索keyVault
对象并使用该KeyVault.createKey()
方法通过本地管理的密钥创建新的数据加密密钥:
如果成功,则createKey()
返回UUID
创建的数据加密密钥的。要从密钥库中检索创建的数据加密密钥文档,请执行以下任一操作:
用于getKey()
通过检索创建的密钥
UUID
。
-要么-
用于getKeyByAltName()
通过其备用名称检索密钥。