特定 CSFLE 的 MongoClient 选项
MongoDB 的Queryable Encryption功能在MongoDB 7.0及更高版本中可用 (GA)。 要学习;了解有关Queryable Encryption的更多信息并将其与客户端字段级加密的优点进行比较,请参阅 Queryable Encryption 。
Overview
查看有关 MongoClient
实例的客户端字段级加密 (CSFLE) 特定配置选项的信息。
AutoEncryptionOpts
将autoEncryptionOpts
对象传递给MongoClient
实例以指定特定于 CSFLE 的选项。
下表显示了 autoEncryptionOpts
对象的结构:
Parameter | 类型 | 必需 | 说明 |
---|---|---|---|
keyVaultClient | MongoClient | No | 配置为连接到托管您的密钥保管库集合的 MongoDB 实例的 如果省略 要学习;了解有关密钥保管库集合的更多信息,请参阅密钥保管库集合。 |
keyVaultNamespace | 字符串 | 是 | 密钥保管库集合的完整命名空间。 |
kmsProviders | 对象 | 是 | 客户端字段级加密用于管理客户主密钥 (CMK) 的密钥管理系统 (KMS)。 要了解有关 要了解有关客户主密钥的更多信息,请参阅密钥和密钥保管库。 |
tlsOptions | 对象 | No | |
schemaMap | 对象 | No | |
bypassAutoEncryption | 布尔 | No | 指定 要了解有关此选项的更多信息,请参阅自动解密。 |
例子
要查看演示如何使用autoEncryptionOpts
配置MongoClient
实例的代码片段,请选择与您的驱动程序对应的标签页:
var clientSettings = MongoClientSettings.FromConnectionString(_connectionString); var autoEncryptionOptions = new AutoEncryptionOptions( keyVaultNamespace: keyVaultNamespace, kmsProviders: kmsProviders, schemaMap: schemaMap, extraOptions: extraOptions); clientSettings.AutoEncryptionOptions = autoEncryptionOptions; var client = new MongoClient(clientSettings);
autoEncryptionOpts := options.AutoEncryption(). SetKmsProviders(provider.Credentials()). SetKeyVaultNamespace(keyVaultNamespace). SetSchemaMap(schemaMap). SetExtraOptions(extraOptions) client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri).SetAutoEncryptionOptions(autoEncryptionOpts))
MongoClientSettings clientSettings = MongoClientSettings.builder() .applyConnectionString(new ConnectionString("mongodb://localhost:27017")) .autoEncryptionSettings(AutoEncryptionSettings.builder() .keyVaultNamespace(keyVaultNamespace) .kmsProviders(kmsProviders) .schemaMap(schemaMap) .extraOptions(extraOptions) .build()) .build(); MongoClient mongoClient = MongoClients.create(clientSettings);
const secureClient = new MongoClient(connectionString, { useNewUrlParser: true, useUnifiedTopology: true, monitorCommands: true, autoEncryption: { keyVaultNamespace, kmsProviders, schemaMap: patientSchema, extraOptions: extraOptions, }, });
fle_opts = AutoEncryptionOpts( kms_providers, key_vault_namespace, schema_map=patient_schema, **extra_options ) client = MongoClient(connection_string, auto_encryption_opts=fle_opts)