Visão geral
Ative a Queryable Encryption na criação da collection. Não é possível criptografar campos em documentos que já estejam em uma collection.
Importante
Crie sua coleção explicitamente, ao invés de criá-la implicitamente com uma operação de inserção. Quando você cria uma coleção utilizando createCollection(), MongoDB cria um índice nos campos codificados. Sem esse índice, queries em campos criptografados podem ser executadas lentamente.
Habilitar Queryable Encryption em uma collection
Você pode ativar a Queryable Encryption em campos de duas maneiras. Os exemplos a seguir usam Node.js para habilitar a Queryable Encryption:
Passe o esquema de criptografia, representado pela constante do
encryptedFieldsObject, para o cliente que o aplicativo usa para criar a coleção:const client = new MongoClient(uri, { autoEncryption: { keyVaultNameSpace: "<your keyvault namespace>", kmsProviders: "<your kms provider>", extraOptions: { cryptSharedLibPath: "<path to Automatic Encryption Shared Library>" }, encryptedFieldsMap: { "<databaseName.collectionName>": { encryptedFieldsObject } } } ... await client.db("<database name>").createEncryptedCollection("<collection name>"); } Para obter mais informações sobre as opções de configuração
autoEncryption, consulte a seção sobre MongoClient Options for Queryable Encryption.Passe o esquema de criptografia
encryptedFieldsObjectparacreateEncryptedCollection():await encryptedDB.createEncryptedCollection("<collection name>", { encryptedFields: encryptedFieldsObject }); Dica
Especifique o
encryptedFieldsObjectao criar a collection e também ao criar um cliente para acessar a collection. Para obter mais informações sobre as considerações de segurança de não definirencryptedFieldsObjecto, consulte Considerações de segurança.