Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / / / /

Opções específicas do MongoClient para CSFLE

Nesta página

  • Visão geral
  • AutoEncryptionOpts
  • Exemplo

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 .

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

keyVaultClient

MongoClient

No

Uma instância MongoClient configurada para se conectar à instância do MongoDB que hospeda sua Key Vault collection.

Se você omitir a opção keyVaultClient, a MongoDB especificada para sua instância do MongoClient contendo a configuração do autoEncryptionOpts será usada como o host da sua collection de cofre de chaves.

Para saber mais sobre as collections do Key Vault, veja Coleções do Key Vault.

keyVaultNamespace

String

Sim

O namespace completo da coleção Key Vault.

kmsProviders

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 kmsProviders , consulte Provedores de KMS CSFLE.

Para saber mais sobre as chaves mestres do cliente, consulte Chaves e cofres de chaves.

tlsOptions

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).

schemaMap

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.

bypassAutoEncryption

Boolean

No

Especifique true para ignorar as regras automáticas de criptografia em nível de campo do lado do cliente e executar a criptografia explícita. bypassAutoEncryption não desabilita a descriptografia automática.

Para saber mais sobre essa opção, consulte Descriptografia automática.

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
);

Dica

Variáveis de ambiente

Se possível, considere definir as credenciais fornecidas no kmsProviders como variáveis de ambiente e, em seguida, passá-las para mongosh usando a opção --eval . Isso minimiza as chances de vazamento de credenciais em logs.

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)

Voltar

Operações suportadas