Exclusão de dados no Google Cloud

Miniatura de vídeo de exclusão de dados

Exclusão de dados no Google Cloud

Visão geral

Resumo para CIOs

  • O Google adota uma abordagem baseada em princípios para armazenar e excluir dados do cliente. O Google Cloud foi projetado para atingir um alto grau de velocidade, disponibilidade, durabilidade e consistência. Além disso, o design de sistemas otimizados para esses atributos de desempenho precisa ser cuidadosamente equilibrado com a necessidade de uma exclusão de dados em tempo hábil.
  • Quando você exclui dados do cliente, o pipeline de exclusão do Google confirma a solicitação de exclusão e elimina os dados das camadas de aplicativo e armazenamento de forma iterativa, tanto de sistemas de armazenamento ativo quanto de backup. Esse processo é descrito, de maneira geral, na Declaração do Google sobre exclusão e retenção.
  • A exclusão lógica ocorre em fases, começando com a marcação imediata dos dados para remoção em sistemas de armazenamento ativo e com o isolamento dos dados do processamento comum na camada de aplicativo. Ciclos sucessivos de compactação e exclusão de marcações e limpezas nas camadas de armazenamento do Google servem para substituir os dados removidos ao longo do tempo. O apagamento criptográfico também é usado para tornar irrecuperáveis os dados que foram excluídos. Por fim, os sistemas de backup que contêm instantâneos dos sistemas ativos do Google são descontinuados em um ciclo padrão.
  • A exclusão de camadas de aplicativo e armazenamento pode ocorrer imediatamente, mas isso depende da configuração do armazenamento dos dados e da duração dos ciclos de exclusão em andamento nas camadas de armazenamento e data centers relevantes. A exclusão de sistemas ativos geralmente é concluída em aproximadamente dois meses após a solicitação de exclusão. Por fim, os dados do cliente são removidos dos sistemas de backup de longo prazo do Google, que preservam snapshots dos sistemas do Google por até seis meses (180 dias) como proteção contra desastres naturais e eventos catastróficos.

Introdução

Este documento apresenta uma visão geral do processo seguro que ocorre quando você exclui seus dados de cliente (conforme definido nos Termos de Serviço do Google Cloud) armazenados no Google Cloud. Garantir a exclusão segura de dados do cliente no final de ciclo de vida é um aspecto básico do trabalho com dados em qualquer plataforma de computação.

Para trabalhar com dados em qualquer plataforma de nuvem comprometida com altos níveis de disponibilidade, velocidade e acessibilidade de qualquer local, além de durabilidade contra perda de dados ou desastres, é necessário ter inovação técnica para oferecer exclusão rápida em escala. Uma das empresas pioneiras em plataformas de armazenamento de engenharia para produtos que processam trilhões de elementos de dados, o Google conta com mais de uma década de experiência na indústria para otimizar sistemas de armazenamento de alto desempenho para essa tarefa.

Neste whitepaper, iniciaremos com uma visão geral de como os dados do cliente são armazenados no Google Cloud. Em seguida, descreveremos o pipeline de exclusões do Google e o período que geralmente leva para concluir a exclusão em cada etapa. Por fim, descreveremos como evitamos reconstruções de dados armazenados na nossa plataforma por meio de um processo seguro de desativação e sanitização de hardware.

Armazenamento e replicação de dados

Nossa descrição de como o Google Cloud exclui dados do cliente começa necessariamente com uma breve visão geral de como o armazenamento de dados funciona na infraestrutura do Google. O Google Cloud oferece serviços de armazenamento, como o Cloud Bigtable e o Cloud Spanner. A maioria dos aplicativos e serviços do Google Cloud acessa sistemas de armazenamento do Google indiretamente por meio desses ou de outros serviços de armazenamento interno usados pelo Google.

O Google Cloud foi projetado para fornecer soluções de baixa latência, altamente disponíveis, escalonáveis e duráveis. A replicação de dados é essencial para atingir essas metas principais de desempenho. Cópias redundantes dos dados do cliente podem ser armazenadas de forma local, regional e até mesmo global, dependendo da sua configuração e das demandas dos projetos do cliente. As ações realizadas em dados no Google Cloud podem ser replicadas simultaneamente em vários data centers, para que os dados do cliente sejam altamente disponíveis. Quando ocorrem alterações no desempenho do hardware, software ou ambiente de rede, os dados do cliente são transferidos automaticamente de um sistema ou instalação para outro, conforme as configurações do cliente, para que os projetos do cliente continuem sendo executados em escala e sem interrupções.

No nível de armazenamento físico, os dados do cliente são armazenados em repouso em dois tipos de sistemas: sistemas de armazenamento ativo e sistemas de armazenamento de backup. Esses dois tipos de sistemas processam dados de maneiras diferentes. Os sistemas de armazenamento ativo são os servidores de produção do Google Cloud Platform que executam as camadas de aplicativos e armazenamento do Google. Os sistemas ativos são matrizes em massa de discos e unidades usadas para gravar novos dados, além de armazenar e recuperar dados em várias cópias replicadas. Os sistemas de armazenamento ativo são otimizados para executar operações de leitura/gravação ao vivo nos dados do cliente em alta velocidade e grande escala.

Os sistemas de armazenamento de backup do Google armazenam cópias completas e incrementais dos sistemas ativos do Google por um período definido para ajudar o Google a recuperar dados e sistemas no caso de uma falha ou um desastre catastrófico. Ao contrário dos sistemas ativos, os sistemas de backup são projetados para receber instantâneos periódicos dos sistemas do Google. As cópias de backup são retiradas após um período limitado conforme novas cópias de backup são feitas.

Em todos os sistemas de armazenamento descritos acima, os dados do cliente são criptografados quando armazenados em repouso. Os detalhes das técnicas de criptografia do Google são discutidos com mais detalhes nos Whitepapers sobre segurança do Google Cloud (em inglês). A criptografia de dados em repouso ocorre nas camadas de aplicativo e armazenamento, nas mídias de armazenamento ativo e de backup.

Exclusão segura e eficaz de dados

Pipeline de exclusão de dados

Depois que os dados do cliente são armazenados no Google Cloud, nossos sistemas são projetados para armazenar os dados com segurança até que eles completem os estágios do pipeline de exclusão de dados do Google. Veja nesta seção a descrição detalhada desse processo.

Etapa 1: solicitação de exclusão

A exclusão de dados do cliente começa quando o cliente inicia uma solicitação de exclusão. Geralmente, uma solicitação de exclusão é direcionada para um recurso específico, um projeto do Google Cloud ou a Conta do Google do cliente. As solicitações de exclusão podem ser tratadas de maneiras diferentes, dependendo do escopo da solicitação do cliente:

  • Exclusão de recursos: os recursos individuais que contêm dados do cliente, como buckets do Google Cloud Storage, podem ser excluídos de diversas maneiras no Console do Cloud ou pela API. Os clientes podem, por exemplo, executar um comando para remoção do bucket ou rm -r para excluir um bucket de armazenamento pela linha de comando. Também é possível selecionar um bucket de armazenamento e excluí-lo a partir do navegador do Cloud Storage.
  • Exclusão de projeto: como proprietário, você pode encerrar um projeto do Google Cloud. A exclusão atua como uma solicitação de exclusão em massa de todos os recursos vinculados ao project_number correspondente.
  • Exclusão de conta: quando você exclui sua Conta do Google, todos os seus projetos do Google Cloud também são excluídos. Observe que quando há vários proprietários para um projeto, ele não é excluído até que todos os proprietários sejam removidos do projeto ou excluam as respectivas Contas do Google. Dessa forma, os projetos do Google Cloud continuarão existindo enquanto tiverem um proprietário.

Embora as solicitações de exclusão sejam criadas principalmente para que os clientes gerenciem dados, o Google pode emitir solicitações de exclusão automaticamente, por exemplo, quando um cliente encerra o relacionamento com o Google.

Etapa 2: exclusão reversível

A exclusão reversível é o ponto natural dentro do processo para fornecer um breve período interno de organização e recuperação. Ela garante que haja tempo para recuperar todos os dados que foram marcados para exclusão por acidente ou por engano. Os produtos individuais do Google Cloud Platform podem adotar e configurar esse período de recuperação antes que os dados sejam excluídos dos sistemas de armazenamento subjacentes, desde que ele se ajuste ao cronograma geral de exclusões do Google.

Para ilustrar, quando os projetos são excluídos, o Google Cloud identifica primeiro o project_number exclusivo e transmite um sinal de suspensão para os produtos do Google Cloud Platform que contêm esse número, por exemplo, App Engine e Cloud Bigtable. Nesse caso, o App Engine suspenderá imediatamente as operações codificadas para esse project_number e as tabelas relevantes no Cloud Bigtable entrarão em um período de recuperação interna por até 30 dias. No final do período de recuperação, o Google Cloud transmite um sinal aos mesmos produtos para iniciar a exclusão lógica de recursos vinculados ao project_number exclusivo. Em seguida, o Google espera (e, quando necessário, retransmite o sinal) para coletar um sinal de confirmação (ACK) dos produtos aplicáveis e concluir a exclusão do projeto.

Quando uma conta do Google é encerrada, o Google Cloud pode impor um período de recuperação interna de até 30 dias, dependendo da atividade anterior da conta. Quando esse período de carência expirar, um sinal contendo a conta de faturamento excluída user_id será transmitido aos produtos do Google, e os recursos do Google Cloud vinculados exclusivamente a esse user_id serão marcados para exclusão.

Etapa 3: exclusão lógica de sistemas ativos

Depois que os dados são marcados para exclusão e o período de recuperação expirou, os dados são excluídos sucessivamente dos sistemas de armazenamento ativo e de backup do Google. Nos sistemas ativos, os dados são excluídos de duas maneiras.

Em todos os produtos Cloud em computação, armazenamento e bancos de dados e Big Data, exceto no Google Cloud Storage, as cópias dos dados excluídos são marcadas como armazenamento disponível e substituídas ao longo do tempo. Em um sistema de armazenamento ativo, como o Cloud Bigtable, os dados excluídos são armazenados como entradas em uma tabela estruturada em massa. A compactação de tabelas existentes para substituir dados excluídos pode ser dispendiosa, já que exige a reescrita de tabelas de dados existentes (não excluídos). Assim, a coleta de lixo com marcação e varredura e os principais eventos de compactação ocorrem em intervalos regulares para recuperar o espaço de armazenamento e substituir dados excluídos.

No Google Cloud Storage, os dados do cliente também são apagados por meio de exclusão criptográfica. Essa é uma técnica padrão da indústria que torna os dados ilegíveis, excluindo as chaves de criptografia necessárias para descriptografar esses dados. Uma vantagem de usar o apagamento criptográfico, seja envolvendo chaves de criptografia fornecidas pelo cliente ou pelo Google, é que a exclusão lógica pode ser concluída mesmo antes da substituição de todos os blocos excluídos desses dados nos sistemas de armazenamento ativos e de backup do Google Cloud.

Etapa 4: expiração de sistemas de backup

Assim como ocorre com a exclusão dos sistemas ativos do Google, os dados excluídos são eliminados dos sistemas de backup usando técnicas de substituição e criptográficas. Entretanto, no caso de sistemas de backup, os dados do cliente são normalmente armazenados em grandes instantâneos agregados de sistemas ativos que são retidos por intervalos de tempo estáticos. O objetivo é garantir a continuidade dos negócios no caso de um desastre (por exemplo, uma interrupção afetando um data center inteiro), quando o tempo e a despesa de restaurar um sistema inteiramente a partir de sistemas de backup podem se tornar necessários. Em conformidade com as práticas razoáveis de continuidade dos negócios, os instantâneos completos e incrementais dos sistemas ativos são capturados em ciclos diários, semanais e mensais. Eles são descontinuados após um intervalo de tempo predefinido para dar espaço aos instantâneos mais recentes.

Quando um backup é descontinuado, ele é marcado como espaço disponível e substituído conforme novos backups diários/semanais/mensais são realizados.

Observe que qualquer ciclo de backup razoável impõe um atraso predefinido na propagação de uma solicitação de exclusão de dados por meio de sistemas de backup. Quando os dados do cliente são excluídos dos sistemas ativos, eles não são mais copiados nos sistemas de backup. Os backups realizados antes da exclusão expiram regularmente com base no ciclo de backup predefinido.

Finalmente, o apagamento criptográfico dos dados excluídos pode ocorrer antes da expiração do backup contendo dados do cliente. Sem a chave de criptografia usada para criptografar dados específicos do cliente, eles serão irrecuperáveis mesmo durante a vida útil restante nos sistemas de backup do Google.

Linha do tempo de exclusão

O Google Cloud foi projetado para atingir um alto grau de velocidade, disponibilidade, durabilidade e consistência. Além disso, o design de sistemas otimizados para esses atributos de desempenho precisa ser cuidadosamente equilibrado com a necessidade de uma exclusão de dados em tempo hábil. O Google Cloud se compromete a excluir os dados do cliente em um período máximo de seis meses (180 dias). Esse compromisso incorpora os estágios do pipeline de exclusão do Google descritos acima, incluindo os seguintes:

  • Etapa 2: depois que a solicitação de exclusão é feita, os dados normalmente são marcados para exclusão imediatamente, e nossa meta é realizar essa etapa em um período máximo de 24 horas. Depois que os dados são marcados para exclusão, um período interno de recuperação de até 30 dias pode ser aplicado, dependendo da solicitação de serviço ou exclusão.

  • Etapa 3: o tempo necessário para concluir as tarefas de coleta de lixo e realizar a exclusão lógica dos sistemas ativos. Esses processos podem ocorrer imediatamente após o recebimento da solicitação de exclusão, dependendo do nível de replicação de dados e do tempo dos ciclos de coleta de lixo em andamento. Na solicitação de exclusão, geralmente são necessários cerca de dois meses para excluir dados de sistemas ativos, tempo que costuma ser suficiente para concluir dois ciclos principais de coleta de lixo e garantir que a exclusão lógica seja concluída.

  • Etapa 4: o ciclo de backup do Google foi projetado para invalidar os dados excluídos nos backups do data center dentro de seis meses a partir da solicitação de exclusão. A exclusão pode ocorrer mais cedo, dependendo do nível de replicação de dados e do tempo dos ciclos de backup contínuos do Google.

Diagrama de canal de exclusão Figura 1: etapas do pipeline de exclusão do Google Cloud

Garantir uma limpeza de mídia segura

Além do pipeline de exclusão do Google Cloud, um programa disciplinado de limpeza de mídia aumenta a segurança do processo de exclusão, evitando ataques forenses ou laboratoriais à mídia de armazenamento físico depois que ela atinge o fim do ciclo de vida.

O Google rastreia meticulosamente o local e o status de todos os equipamentos de armazenamento nos nossos data centers por meio de aquisição, instalação, descontinuidade e destruição, usando códigos de barras e tags de recursos rastreados no banco de dados de ativos do Google. Para evitar que os equipamentos saiam do data center sem autorização, usamos várias técnicas como identificação biométrica, detecção de metais, câmeras, barreiras de veículos e sistemas de detecção de intrusão baseados em laser. Saiba mais na Visão geral do design de segurança de infraestrutura do Google.

A mídia de armazenamento físico pode ser desativada por vários motivos. Se um componente for reprovado em um teste de desempenho em qualquer momento do ciclo de vida, ele será removido do inventário e terá o uso descontinuado. O Google também atualiza hardware obsoleto para melhorar a velocidade de processamento e a eficiência de energia ou aumentar a capacidade de armazenamento. Se o hardware for desativado por falha, atualização ou qualquer outro motivo, a mídia de armazenamento será desativada com as proteções apropriadas. Os discos rígidos do Google usam tecnologias como a criptografia de disco total (FDE, na sigla em inglês) e o bloqueio de unidades para proteger os dados em repouso durante a desativação. Quando um disco rígido é descontinuado, indivíduos autorizados verificam se o disco foi apagado substituindo a unidade por zeros e executando um processo de verificação em várias etapas para garantir que ela não contenha dados.

Caso não possa ser apagada por qualquer motivo, a mídia permanecerá armazenada até que possa ser destruída fisicamente. Dependendo do equipamento disponível, podemos esmagar e deformar ou fragmentar a unidade em pequenos pedaços. Em ambos os casos, o disco é reciclado em uma instalação segura, garantindo que ninguém seja capaz de ler dados em discos do Google desativados. Todos os data centers aderem a uma política rígida de descarte e usam as técnicas descritas para garantir a conformidade com o NIST SP 800-88, Revisão 1, “Diretrizes para limpeza de mídia” e DoD 5220.22-M, “Manual de operação do programa de segurança industrial nacional”.