Opções específicas do MongoClient para CSFLE
Nesta página
Visão geral
Visualize informações sobre as opções de configuração específicas da criptografia no nível do campo (CSFLE) do lado do cliente para instâncias do MongoClient
.
AutoEncryptionOpts
Passe um objeto autoEncryptionOpts
para sua instância MongoClient
para especificar opções específicas do CSFLE.
A tabela a seguir descreve a estrutura de um objeto autoEncryptionOpts
:
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
|
| No | Uma instância Se você omitir a opção Para saber mais sobre as collections do Key Vault, veja Coleções do Key Vault. |
| String | Sim | O namespace completo da coleção Key Vault. |
| Objeto | Sim | O sistema de gerenciamento de chaves (KMS) usado pela criptografia no nível do campo do lado do cliente para gerenciar suas chaves mestras do cliente (CMKs). Para saber mais sobre objetos do Para saber mais sobre as chaves mestres do cliente, consulte Chaves e cofres de chaves. |
| Objeto | No | Um objeto que mapeia os nomes de provedores do Key Management System para as opções de configuração TLS. Para saber mais sobre as opções de TLS, consulte: Opções de TLS. Para saber mais sobre TLS, consulte: TLS/SSL (Criptografia de transporte). |
| Objeto | No | Um esquema de criptografia. Para saber como construir um esquema de criptografia, consulte Esquemas de criptografia. Para obter a documentação completa sobre esquemas de criptografia, consulte Esquemas de criptografia CSFLE. |
| Boolean | No | Especifique Para saber mais sobre essa opção, consulte Descriptografia automática. |
Exemplo
Para visualizar um trecho de código que demonstra como usar o autoEncryptionOpts
para configurar sua instância do MongoClient
, selecione a guia correspondente ao seu 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, { 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)