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

Ativação da Queryable Encryption ao criar collections

Nesta página

  • Visão geral
  • Habilitar Queryable Encryption em uma collection

Ative a Queryable Encryption na criação da collection. Não é possível criptografar campos em documentos que já estejam em uma collection. Se você tiver dados existentes que precisem de criptografia, considere criar explicitamente uma nova coleção e, em seguida, usar o estágio de agregação $out para mover documentos para ela.

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.

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>").createCollection("<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 encryptedFieldsObject para createCollection():

    await encryptedDB.createCollection("<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.

← Criar um esquema de criptografia