Docs 菜单
Docs 主页
/
MongoDB Manual
/ / / / /

用于 Queryable Encryption 的 MongoClient 选项

在此页面上

  • Overview
  • AutoEncryptionOpts
  • 例子

查看有关 MongoClient实例的 Queryable Encryption 特定配置选项的信息。

AutoEncryptionOpts对象传递给MongoClient实例以指定特定于 Queryable Encryption 的选项。

下表显示了 AutoEncryptionOpts 对象的结构:

Parameter
类型
必需
说明

keyVaultClient

MongoClient

No

配置为连接到托管您的密钥保管库集合的 MongoDB 实例的MongoClient实例。

如果省略keyVaultClient选项,则为包含AutoEncryptionOpts配置的MongoClient实例指定的 MongoDB 实例将用作密钥保管库集合的主机。

要学习;了解有关密钥保管库集合的详情,请参阅密钥保管库集合。

keyVaultNamespace

字符串

密钥保管库集合的完整命名空间

kmsProviders

对象

Queryable Encryption用于管理客户数主密钥 (CMK) 的密钥管理系统 ( KMS )。

要学习;了解有关kmsProviders对象的详情,请参阅KMS提供程序。

要了解有关客户主密钥的更多信息,请参阅密钥和密钥保管库。

encryptedFieldsMap

对象

No

加密模式。

要了解如何构建加密模式,请参阅字段加密和可查询性。

bypassQueryAnalysis

布尔

No

禁用对传出命令的自动分析。 将bypassQueryAnalysis设置为true ,可在没有crypt_shared库的情况下对索引字段使用显式加密。 如果未指定,则默认为false

要查看演示如何使用AutoEncryptionOpts配置MongoClient实例的代码片段,请选择与您的驱动程序对应的标签页:

var AutoEncryptionOpts =
{
"keyVaultClient" : keyVaultClient,
"keyVaultNamespace" : "<database>.<collection>",
"kmsProviders" : { ... },
"bypassQueryAnalysis": "<boolean value>", // optional - defaults to false
"encryptedFieldsMap" : { ... }
}
cluster = Mongo(
"mongodb://myhostexample.net:27017/?replicaSet=myReplicaSet",
AutoEncryptionOpts
);

提示

环境变量

如果可能,请考虑将kmsProviders 中提供的凭证定义为环境变量,然后使用 选项将其传递给mongosh --eval。这样可以最大限度地减少凭证泄漏到日志中的可能性。

const secureClient = new MongoClient(connectionString, {
useNewUrlParser: true,
useUnifiedTopology: true,
monitorCommands: true,
autoEncryption: {
keyVaultNamespace,
kmsProviders,
bypassQueryAnalysis, // optional - defaults to false
encryptedFieldsMap: patientSchema,
extraOptions: extraOptions,
},
});

要了解用于配置自动加密共享库的其他选项,请参阅配置。

后退

支持的操作