Encriptação de dados no Azure Cosmos DB

APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela

"Encriptação em repouso" é uma expressão que normalmente se refere à encriptação de dados em dispositivos de armazenamento não voláteis, tais como unidades de estado sólido (SSD) e unidades de disco rígido (HDD). O Azure Cosmos DB armazena seus bancos de dados primários em SSDs. Seus anexos de mídia e backups são armazenados no Armazenamento de Blobs do Azure, que geralmente são copiados por HDDs. Com o lançamento da criptografia em repouso para o Azure Cosmos DB, todos os seus bancos de dados, anexos de mídia e backups são criptografados. Os seus dados estão agora encriptados em trânsito (através da rede) e em repouso (armazenamento não volátil), proporcionando-lhe encriptação de ponta a ponta.

Como uma plataforma como serviço (PaaS), o Azure Cosmos DB é fácil de usar. Como todos os dados do usuário armazenados no Azure Cosmos DB são criptografados em repouso e em transporte, você não precisa executar nenhuma ação. Em outras palavras, a criptografia em repouso está "ativada" por padrão. Não há controles para desligá-lo ou ligá-lo. O Azure Cosmos DB usa a criptografia AES-256 em todas as regiões onde a conta está sendo executada.

Fornecemos esse recurso enquanto continuamos a cumprir nossos contratos de nível de serviço (SLAs) de disponibilidade e desempenho. Os dados armazenados em sua conta do Azure Cosmos DB são automaticamente e perfeitamente criptografados com chaves gerenciadas pela Microsoft (chaves gerenciadas pelo serviço). Opcionalmente, você pode optar por adicionar uma segunda camada de criptografia com suas próprias chaves, conforme descrito no artigo de chaves gerenciadas pelo cliente.

Implementação de criptografia em repouso para o Azure Cosmos DB

A criptografia em repouso é implementada usando várias tecnologias de segurança, incluindo sistemas de armazenamento de chaves seguras, redes criptografadas e APIs criptográficas. Os sistemas que desencriptam e processam dados têm de comunicar com sistemas que gerem chaves. O diagrama mostra como o armazenamento de dados criptografados e o gerenciamento de chaves são separados.

Diagram that shows data storage and key management design.

O fluxo básico de uma solicitação de usuário é:

  • A conta do banco de dados do usuário é preparada e as chaves de armazenamento são recuperadas por meio de uma solicitação ao Provedor de Recursos de Serviço de Gerenciamento.
  • Um usuário cria uma conexão com o Azure Cosmos DB via HTTPS/transporte seguro. (Os SDKs abstraem os detalhes.)
  • O usuário envia um documento JSON para ser armazenado sobre a conexão segura criada anteriormente.
  • O documento JSON é indexado, a menos que o usuário tenha desativado a indexação.
  • Tanto o documento JSON quanto os dados de índice são gravados para proteger o armazenamento.
  • Periodicamente, os dados são lidos do armazenamento seguro e copiados para o Azure Encrypted Blob Store.

Perguntas mais frequentes

Encontre respostas para perguntas frequentes sobre encriptação.

Quanto mais custa o Armazenamento do Azure se a Criptografia do Serviço de Armazenamento estiver habilitada?

Não há custo extra.

Quem gere as chaves de encriptação?

Os dados armazenados em sua conta do Azure Cosmos DB são automaticamente e perfeitamente criptografados com chaves gerenciadas pela Microsoft usando chaves gerenciadas por serviço. Opcionalmente, você pode optar por adicionar uma segunda camada de criptografia com chaves gerenciadas pelo cliente usando chaves gerenciadas pelo cliente.

Com que frequência as chaves de encriptação são alternadas?

A Microsoft tem um conjunto de diretrizes internas para a rotação da chave de criptografia, que o Azure Cosmos DB segue. As diretrizes específicas não são publicadas. A Microsoft publica o Ciclo de Vida de Desenvolvimento de Segurança, que é visto como um subconjunto de orientações internas e tem práticas recomendadas úteis para desenvolvedores.

Posso usar as minhas próprias chaves de encriptação?

Sim, esse recurso está disponível para novas contas do Azure Cosmos DB. Ele deve ser implantado no momento da criação da conta. Para obter mais informações, consulte o documento de chaves gerenciadas pelo cliente.

Aviso

Os seguintes nomes de campo são reservados nas tabelas da API Cassandra em contas usando chaves gerenciadas pelo cliente:

  • id
  • ttl
  • _ts
  • _etag
  • _rid
  • _self
  • _attachments
  • _epk

Quando as chaves gerenciadas pelo cliente não estão habilitadas, apenas os nomes de campo que começam com __sys_ são reservados.

Que regiões têm a encriptação ativada?

Todas as regiões do Azure Cosmos DB têm a criptografia ativada para todos os dados do usuário.

A criptografia afeta a latência de desempenho e os SLAs de taxa de transferência?

Não há efeito ou alterações nos SLAs de desempenho porque a criptografia em repouso agora está habilitada para todas as contas novas e existentes. Para ver as garantias mais recentes, consulte SLA para Azure Cosmos DB.

O emulador local suporta criptografia em repouso?

O emulador é uma ferramenta de desenvolvimento/teste autônoma e não usa os serviços de gerenciamento de chaves que o serviço gerenciado do Azure Cosmos DB usa. Recomendamos que você habilite o BitLocker em unidades onde você está armazenando dados confidenciais de teste do emulador. O emulador suporta a alteração do diretório de dados padrão e o uso de um local bem conhecido.

Próximos passos

  • Para saber mais sobre como adicionar uma segunda camada de criptografia com suas próprias chaves, consulte o artigo Chaves gerenciadas pelo cliente.
  • Para obter uma visão geral da segurança do Azure Cosmos DB e as melhorias mais recentes, consulte Segurança do banco de dados do Azure Cosmos DB.
  • Para obter mais informações sobre certificações Microsoft, consulte a Central de Confiabilidade do Azure.