Ativação da Queryable Encryption ao criar collections
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 usando createCollection()
, o MongoDB cria um índice nos campos criptografados. Sem esse índice, as 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 Opções do Queryable Encryption.Passe o esquema de criptografia
encryptedFieldsObject
paracreateEncryptedCollection()
:await encryptedDB.createEncryptedCollection("<collection name>", { encryptedFields: encryptedFieldsObject }); Dica
Especifique o
encryptedFieldsObject
ao criar a collection e também ao criar um cliente para acessar a collection. Isso garante que, se a segurança do servidor for comprometida, as informações ainda serão criptografadas por meio do cliente.