Overview
Ver información sobre las opciones de configuración específicas del cifrado a nivel de campo del lado del cliente (CSFLE, por sus siglas en inglés) para MongoClient instancia.
AutoEncryptionOpts
Pasa un objeto autoEncryptionOpts a tu instancia MongoClient para especificar opciones específicas de CSFLE.
La siguiente tabla describe la estructura de un objeto autoEncryptionOpts:
Parameter | Tipo | Requerido | Descripción |
|---|---|---|---|
|
| No | Una instancia Si omites la opción Para obtener más información sobre las colecciones de Key Vault, consulte Colecciones de Key Vault. |
| String | Sí | El namespace completo de la Colección de Bóvedas de Llaves. |
| Objeto | Sí | El Sistema de Gestión de Claves (KMS) utilizado por Cifrado lado del cliente a nivel de campo para gestionar sus llaves maestras de cliente (CMK). Para obtener más información sobre los objetos Para aprender más sobre las llaves maestras de cliente, consulta Claves y almacenes de claves. |
| Objeto | No | Un objeto que asigna los nombres de los proveedores de sistemas de gestión de claves a las opciones de configuración de TLS. Para obtener más información sobre las opciones de TLS, consulte: Opciones TLS. Para obtener más información sobre TLS, consulte: TLS/SSL (cifrado de transporte). |
| Objeto | No | Un esquema de cifrado. Para aprender a construir un esquema de cifrado, consulte Esquemas de cifrado. Para obtener documentación completa sobre esquemas de cifrado, consulte Esquemas de cifrado CSFLE. |
| Booleano | No | Especificar Para obtener más información sobre esta opción, consulte Descifrado automático. |
Ejemplo
Para ver un code-snippet demostrando cómo utilizar autoEncryptionOpts para configurar tu instancia MongoClient, selecciona la pestaña correspondiente a tu driver:
var autoEncryptionOpts = { "keyVaultNamespace" : "<database>.<collection>", "kmsProviders" : { ... }, "schemaMap" : { ... } } cluster = Mongo( "<Your Connection String>", autoEncryptionOpts );
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, { 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)