Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
Características
Nesta página
Visão geral
Nesta página, você pode aprender sobre os benefícios de segurança da criptografia no nível do campo do lado do cliente (CSFLE) e como o CSFLE se compara a outros mecanismos de segurança suportados pelo MongoDB. Você também pode visualizar um cenário fictício que demonstra o valor do CSFLE na proteção de seus dados.
Criptografia no nível de campo do cliente
A criptografia no nível de campo do lado do cliente (CSFLE) é um recurso do MongoDB que permite que um aplicativo cliente criptografe dados antes de transportá-los pela rede. Os dados confidenciais são criptografados e descriptografados de forma transparente pelo cliente e só são comunicados de e para o servidor de forma criptografada. O CSFLE mantém os campos criptografados seguros nos seguintes cenários:
Acesso direto a campos criptografados por um superusuáriodo banco de dados
Acesso a campos criptografados lendo a memória do servidor
Captura de campos criptografados em uma rede insegura
Acesso a campos criptografados no disco lendo arquivos do banco de dados ou de backup
Enquanto todos os clientes têm acesso aos campos de dados não confidenciais, somente clientes CSFLE configurados adequadamente podem ler e gravar os campos de dados criptografados.
Importante
Sistema de gerenciamento de chaves remotas
Ao usar o CSFLE em produção, você deve usar um sistema de gerenciamento de chaves (KMS) remoto para armazenar sua chave de criptografia.
Para ver um guia passo a passo que demonstra como usar um KMS remoto com CSFLE, consulte Tutoriais.
Para visualizar uma lista de todos os provedores KMS suportados, consulte Provedores KMS.
Para saber mais sobre por que você deve usar um KMS remoto, consulte Motivos para usar um Sistema de Gerenciamento de Chaves Remotas.
Outros mecanismos de segurança
Esta seção descreve os seguintes mecanismos de segurança suportados pelo MongoDB e explica seus casos de uso e limitações:
Controle de acesso com base em função
O Controle de Acesso Baseado em Funções é um mecanismo de segurança que permite aos administradores conceder e restringir permissões de nível de coleção para usuários. Com a definição e atribuição de função apropriadas, essa solução evita a publicação acidental de dados e acesso.
O controle de acesso baseado em função não pode proteger contra os seguintes cenários:
Captura dos dados em uma rede insegura
Acesso aos dados no disco lendo o banco de dados ou arquivos de backup
Acesso aos dados lendo a memória do servidor
Acesso direto aos dados por um superusuáriodo banco de dados
Para saber mais, consulte Controle de acesso baseado em funções.
Criptografia em repouso
Encryption at rest é um mecanismo que criptografa arquivos de banco de dados em disco. Esse mecanismo impede que uma pessoa que não tem credenciais de banco de dados, mas tem acesso ao computador que hospeda seu banco de dados, visualize seus dados.
Este mecanismo não protege seus dados contra os seguintes cenários:
Captura dos dados em uma rede insegura
Acesso aos dados lendo a memória do servidor
Acesso direto aos dados por um superusuáriodo banco de dados
Para saber mais, consulte Encryption at rest.
Criptografia de transporte (TLS/SSL)
A criptografia de transporte usando TLS/SSL criptografa seus dados pela rede. O TLS/SSL protege seus dados conforme eles transitam por uma rede insegura, mas não pode proteger seus dados de um usuário privilegiado ou conforme eles ficam no disco.
Para saber mais, consulte Criptografia de transporte usando TLS/SSL
Comparação de Recursos
O diagrama a seguir lista os recursos de segurança compatíveis com o MongoDB e as possíveis vulnerabilidades de segurança que eles abordam:
Importante
Use os mecanismos juntos
Para proteger uma implantação de produção, use o controle de acesso baseado em funções, a criptografia em descanso, a criptografia de transporte e, opcionalmente, os mecanismos de segurança da criptografia em uso juntos. Observe que não é possível usar o CSFLE e o Queryable Encryption para criptografar campos diferentes na mesma collection.
Para saber mais sobre o Queryable Encryption, consulte Recursos do Queryable Encryption.
Cenário
O cenário fictício a seguir demonstra o valor da criptografia no nível do campo do lado do cliente (CSFLE) na proteção dos dados do seu aplicativo e como o CSFLE interage com o outro mecanismo de segurança discutido neste guia.
Nesse cenário, protegemos dados confidenciais em um sistema de gerenciamento de consultas médicas que armazena informações pessoais de pacientes, informações de seguros e registros médicas para uma empresa fictício, a MedicoMD. Nenhum dos dados dos pacientes é público, e dados específicos, como o número do seguro social (SSN, um ID emitido pelo governo dos EUA), o número da apólice de seguro e as medições de sinais normais são particularmente sensíveis e sujeitos à conformidade com a privacidade. É importante para a empresa e para o doente que os dados sejam mantidos em privado e seguros.
O medcoMD precisa deste sistema para satisfazer os seguintes casos de uso:
Os consultas usam o sistema para acessar os registros médicas dos pacientes, informações sobre seguros e adicionar novas medições de sinais fatais.
Os requisitores usam o sistema para verificar a identidade dos pacientes usando suas informações de contato.
Os refeitórios podem visualizar o provedor da apólice de seguro de um cliente, mas não o número da apólice.
As requisições não podem acessar o registro médico de um pai.
O MedicoMD também está preocupado com a publicação de dados confidenciais por meio de qualquer um dos seguintes métodos:
Distribuição acidental de dados na tela acessível ao público de uma requisição.
Acesso direto ao banco de dados por um superusuário, como um administrador de banco de dados.
Captura de dados em uma rede insegura.
Acesso aos dados lendo a memória do servidor do banco de dados.
Acesso aos dados lendo arquivos do banco de dados ou da cópia de segurança.
O que o MédcoMD pode fazer para equilibrar as restrições de funcionalidade e acesso de seu sistema de gerenciamento de assistência médica?
várias plataformas
A medcoMD usa os seguintes mecanismos de segurança para satisfazer seus casos de uso e se proteger contra a publicação de dados médicas confidenciais:
Criptografia de transporte (TLS/SSL) para proteger os dados à medida que eles transitam pela rede.
Criptografia em repouso para proteger contra a liberação de dados por meio da leitura de arquivos de banco de dados ou de backup.
Controle de acesso baseado em funções para limitar o acesso dos usuários do banco de dados às coleções necessárias para que executem suas tarefas.
Criptografando campos confidenciais com CSFLE para satisfazer os seguintes casos de uso e restrições:
Impedir a leitura de dados do servidor da memória do servidor, pois os dados criptografados CSFLE nunca estão no reconhecimento de data center do servidor de forma não criptografada.
Permita que os receptadores verifiquem as identidades dos pacientes e evite a abertura acidental de dados confidenciais em uma tela visível publicamente de um requisitor, fornecendo aos receptadores um cliente que não é habilitado para CSFLE.
Permita que os métodos visualizem dados confidenciais de forma privada em seus consultórios, fornecendo aos pacientes um cliente habilitado para CSFLE.
Saiba mais
Para ver uma lista de medidas de segurança que você deve implementar para proteger a implementação do MongoDB, consulte a Lista de verificação de segurança.
Para começar a usar o CSFLE, consulte o Início Rápido.