Implemente a estrutura de controlos principais do CDMC num armazém de dados do BigQuery

Emblema CDMC

Muitas organizações implementam armazéns de dados na nuvem para armazenar informações confidenciais, de modo a poderem analisar os dados para vários fins empresariais. Este documento descreve como pode implementar a estrutura de controlos principais das capacidades de gestão de dados na nuvem (CDMC), gerida pelo Enterprise Data Management Council, num data warehouse do BigQuery.

A estrutura de controlos principais da CDMC foi publicada principalmente para fornecedores de serviços na nuvem e fornecedores de tecnologia. A estrutura descreve 14 controlos principais que os fornecedores podem implementar para permitir que os respetivos clientes geram e governem eficazmente os dados confidenciais na nuvem. Os controlos foram escritos pelo grupo de trabalho do CDMC, com a participação de mais de 300 profissionais de mais de 100 empresas. Ao escrever a estrutura, o grupo de trabalho do CDMC considerou muitos dos requisitos legais e regulamentares existentes.

Esta arquitetura de referência do BigQuery e do Data Catalog foi avaliada e certificada em conformidade com a estrutura de controlos principais do CDMC como uma solução de nuvem certificada pelo CDMC. A arquitetura de referência usa vários serviços e funcionalidades, bem como bibliotecas públicas, para implementar os principais controlos do CDMC e a automatização recomendada. Google Cloud Este documento explica como pode implementar os controlos principais para ajudar a proteger os dados confidenciais num armazém de dados do BigQuery.

Arquitetura

A seguinte Google Cloud arquitetura de referência está alinhada com as especificações de teste da framework de controlos principais do CDMC v1.1.1. Os números no diagrama representam os controlos principais que são abordados com os serviços Google Cloud .

Os componentes da arquitetura CDMC.

A arquitetura de referência baseia-se no projeto de armazém de dados seguro, que fornece uma arquitetura que ajuda a proteger um armazém de dados do BigQuery que inclui informações confidenciais. No diagrama anterior, os projetos na parte superior do diagrama (a cinzento) fazem parte do esquema do armazém de dados seguro, e o projeto de administração de dados (a azul) inclui os serviços que são adicionados para cumprir os requisitos da estrutura de controlos principais do CDMC. Para implementar a estrutura de controlos principais do CDMC, a arquitetura expande o projeto de gestão de dados. O projeto de administração de dados oferece controlos como a classificação, a gestão do ciclo de vida e a gestão da qualidade de dados. O projeto também oferece uma forma de auditar a arquitetura e comunicar as conclusões.

Para mais informações sobre como implementar esta arquitetura de referência, consulte a Google Cloud arquitetura de referência do CDMC no GitHub.

Vista geral da estrutura de controlos principais do CDMC

A tabela seguinte resume a framework de controlos principais do CDMC.

# Controlo de chaves CDMC Requisito de controlo do CDMC
1 Conformidade com o controlo de dados Os exemplos de utilização da gestão de dados na nuvem são definidos e regidos. Todos os recursos de dados que contenham dados confidenciais têm de ser monitorizados para garantir a conformidade com os controlos principais do CDMC, através de métricas e notificações automáticas.
2 A propriedade dos dados é estabelecida para os dados migrados e gerados na nuvem O campo Propriedade num catálogo de dados tem de ser preenchido para todos os dados confidenciais ou comunicado de outra forma a um fluxo de trabalho definido.
3 A obtenção e o consumo de dados são regidos e suportados pela automação Tem de ser preenchido um registo de origens de dados autorizadas e pontos de aprovisionamento para todos os recursos de dados que contenham dados confidenciais ou que, de outra forma, tenham de ser comunicados a um fluxo de trabalho definido.
4 A soberania dos dados e a movimentação de dados transfronteiriços são geridas A soberania dos dados e a circulação transfronteiriça de dados confidenciais têm de ser registadas, auditadas e controladas de acordo com a política definida.
5 Os catálogos de dados são implementados, usados e interoperáveis A catalogação tem de ser automatizada para todos os dados no ponto de criação ou carregamento, com consistência em todos os ambientes.
6 As classificações de dados são definidas e usadas A classificação tem de ser automatizada para todos os dados no ponto de criação ou carregamento e tem de estar sempre ativada. A classificação é automatizada para o seguinte:
  • Informações de identificação pessoal (IIP)
  • Classificação da confidencialidade das informações
  • Informações não públicas relevantes (MNPI)
  • Informações de identificação do cliente
  • Classificação definida pela organização
7 As autorizações de dados são geridas, aplicadas e monitorizadas Este controlo requer o seguinte:
  • As autorizações e o acesso a dados confidenciais têm de ser atribuídos por predefinição ao criador e ao proprietário até serem concedidos de forma explícita e autorizada.
  • O acesso tem de ser acompanhado para todos os dados confidenciais.
8 O acesso, a utilização e os resultados éticos dos dados são geridos A finalidade do consumo de dados tem de ser fornecida para todos os contratos de partilha de dados que envolvam dados confidenciais. A finalidade tem de especificar o tipo de dados necessários e, para organizações globais, o âmbito do país ou da entidade legal.
9 Os dados estão protegidos e os controlos são comprovados Este controlo requer o seguinte:
  • Os controlos de segurança adequados têm de estar ativados para os dados confidenciais.
  • As provas de controlo de segurança têm de ser registadas no catálogo de dados para todos os dados confidenciais.
10 Uma framework de privacidade de dados está definida e operacional As avaliações do impacto da proteção de dados (AIPDs) têm de ser acionadas automaticamente para todos os dados pessoais de acordo com a respetiva jurisdição.
11 O ciclo de vida dos dados é planeado e gerido A retenção, o arquivo e a remoção de dados têm de ser geridos de acordo com um cronograma de retenção definido.
12 A qualidade de dados é gerida A medição da qualidade de dados tem de estar ativada para dados confidenciais com métricas distribuídas quando disponíveis.
13 Os princípios de gestão de custos são estabelecidos e aplicados Os princípios de design técnico são estabelecidos e aplicados. As métricas de custo diretamente associadas à utilização, ao armazenamento e à movimentação de dados têm de estar disponíveis no catálogo.
14 A proveniência e a linhagem dos dados são compreendidas As informações de linhagem de dados têm de estar disponíveis para todos os dados confidenciais. Estas informações têm de incluir, no mínimo, a origem a partir da qual os dados foram carregados ou em que foram criados num ambiente de nuvem.

1. Conformidade com o controlo de dados

Este controlo requer que possa validar se todos os dados confidenciais são monitorizados para conformidade com esta framework através de métricas.

A arquitetura usa métricas que mostram a extensão em que cada um dos controlos principais está operacional. A arquitetura também inclui painéis de controlo que indicam quando as métricas não atingem os limites definidos.

A arquitetura inclui detetores que publicam conclusões e recomendações de correção quando os recursos de dados não cumprem um controlo fundamental. Estas conclusões e recomendações estão no formato JSON e são publicadas num tópico do Pub/Sub para distribuição aos subscritores. Pode integrar o seu serviço de assistência técnica interno ou as ferramentas de gestão de serviços com o tópico Pub/Sub para que os incidentes sejam criados automaticamente no seu sistema de emissão de pedidos.

A arquitetura usa o Dataflow para criar um exemplo de subscritor dos eventos de resultados, que são depois armazenados numa instância do BigQuery que é executada no projeto de administração de dados. Usando várias vistas fornecidas, pode consultar os dados através do BigQuery Studio na Google Cloud consola. Também pode criar relatórios através do Looker Studio ou de outras ferramentas de Business Intelligence compatíveis com o BigQuery. Os relatórios que pode ver incluem o seguinte:

  • Resumo das conclusões da última execução
  • Detalhes dos resultados da última execução
  • Metadados da última execução
  • Última execução de recursos de dados no âmbito
  • Estatísticas do conjunto de dados da última execução

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes de arquitetura do Control 1.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • O Pub/Sub publica as conclusões.
  • O Dataflow carrega as conclusões numa instância do BigQuery.
  • O BigQuery armazena os dados das conclusões e fornece vistas de resumo.
  • O Looker Studio fornece painéis de controlo e relatórios.

A captura de ecrã seguinte mostra um exemplo de um painel de controlo de resumo do Looker Studio.

Exemplo de um painel de controlo de resumo do Looker Studio.

A captura de ecrã seguinte mostra uma vista de exemplo das conclusões por recurso de dados.

Vista de amostra das conclusões por recurso de dados.

2. A propriedade dos dados é estabelecida para os dados migrados e gerados na nuvem

Para cumprir os requisitos deste controlo, a arquitetura revê automaticamente os dados no data warehouse do BigQuery e adiciona etiquetas de classificação de dados que indicam que os proprietários são identificados para todos os dados confidenciais.

O catálogo de dados processa dois tipos de metadados: metadados técnicos e metadados empresariais. Para um determinado projeto, o Data Catalog cataloga automaticamente conjuntos de dados, tabelas e vistas do BigQuery e preenche os metadados técnicos. A sincronização entre o catálogo e os recursos de dados é mantida quase em tempo real.

A arquitetura usa o motor de etiquetas para adicionar as seguintes etiquetas de metadados da empresa a um modelo de etiqueta CDMC controls no catálogo de dados:

  • is_sensitive: se o recurso de dados contém dados confidenciais (consulte o Controlo 6 para a classificação de dados)
  • owner_name: o proprietário dos dados
  • owner_email: o endereço de email do proprietário

As etiquetas são preenchidas com valores predefinidos armazenados numa tabela do BigQuery de referência no projeto de administração de dados.

Por predefinição, a arquitetura define os metadados de propriedade ao nível da tabela, mas pode alterar a arquitetura para que os metadados sejam definidos ao nível da coluna. Para mais informações, consulte o artigo Etiquetas e modelos de etiquetas do catálogo de dados.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes de arquitetura do Control 2.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Dois armazéns de dados do BigQuery: um armazena os dados confidenciais e o outro armazena as predefinições para a propriedade de recursos de dados.
  • O catálogo de dados armazena metadados de propriedade através de modelos de etiquetas e etiquetas.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • O Pub/Sub publica as conclusões.

Para detetar problemas relacionados com este controlo, a arquitetura verifica se os dados confidenciais têm uma etiqueta de nome de proprietário atribuída.

3. A obtenção e o consumo de dados são regidos e suportados pela automatização

Este controlo requer a classificação dos recursos de dados e um registo de dados de origens autorizadas e distribuidores autorizados. A arquitetura usa o Data Catalog para adicionar a etiqueta is_authoritative ao modelo de etiqueta CDMC controls. Esta etiqueta define se o recurso de dados é autoritário.

O Data Catalog cataloga conjuntos de dados, tabelas e vistas do BigQuery com metadados técnicos e metadados empresariais. Os metadados técnicos são preenchidos automaticamente e incluem o URL do recurso, que é a localização do ponto de aprovisionamento. Os metadados da empresa são definidos no ficheiro de configuração do motor de etiquetas e incluem a etiqueta is_authoritative.

Durante a próxima execução agendada, o Tag Engine preenche a etiqueta is_authoritative no modelo de etiqueta CDMC controls com os valores predefinidos armazenados numa tabela de referência no BigQuery.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

iOs componentes de arquitetura do Control 3.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Dois armazéns de dados do BigQuery: um armazena os dados confidenciais e o outro armazena os predefinições da origem autorizada do recurso de dados.
  • O catálogo de dados armazena metadados de origem fidedignos através de etiquetas.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • O Pub/Sub publica as conclusões.

Para detetar problemas relacionados com este controlo, a arquitetura verifica se os dados confidenciais têm a etiqueta de origem autorizada atribuída.

4. A soberania dos dados e a movimentação de dados transfronteiriços são geridas

Este controlo requer que a arquitetura inspecione o registo de dados para verificar os requisitos de armazenamento específicos da região e aplique as regras de utilização. Um relatório descreve a localização geográfica dos recursos de dados.

A arquitetura usa o Data Catalog para adicionar a etiqueta approved_storage_location ao modelo de etiqueta CDMC controls. Esta etiqueta define a localização geográfica na qual o recurso de dados tem autorização para ser armazenado.

A localização real dos dados é armazenada como metadados técnicos nos detalhes da tabela do BigQuery. O BigQuery não permite que os administradores alterem a localização de um conjunto de dados ou de uma tabela. Em alternativa, se os administradores quiserem alterar a localização dos dados, têm de copiar o conjunto de dados.

A restrição do serviço de políticas da organização de localizações de recursos define as Google Cloud regiões nas quais pode armazenar dados. Por predefinição, a arquitetura define a restrição no projeto de dados confidenciais, mas pode definir a restrição ao nível da organização ou da pasta, se preferir. O Tag Engine replica as localizações permitidas para o modelo de etiqueta do catálogo de dados e armazena a localização na etiqueta approved_storage_location. Se ativar o nível Premium do Security Command Center e alguém atualizar a restrição do serviço de políticas da organização das localizações de recursos, o Security Command Center gera resultados de vulnerabilidades para recursos armazenados fora da política atualizada.

O Gestor de contexto de acesso define a localização geográfica em que os utilizadores têm de estar antes de poderem aceder a recursos de dados. Através dos níveis de acesso, pode especificar as regiões de onde os pedidos podem ser provenientes. Em seguida, adicione a política de acesso ao perímetro dos VPC Service Controls para o projeto de dados confidenciais.

Para acompanhar o movimento de dados, o BigQuery mantém uma trilha de auditoria completa para cada tarefa e consulta em cada conjunto de dados. A trilha de auditoria é armazenada na vista BigQuery Information Schema Jobs.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes de arquitetura do Control4.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • O serviço de políticas da organização define e aplica a restrição de localizações de recursos.
  • O Access Context Manager define as localizações a partir das quais os utilizadores podem aceder aos dados.
  • Dois armazéns de dados do BigQuery: um armazena os dados confidenciais e o outro aloja uma função remota que é usada para inspecionar a política de localização.
  • O catálogo de dados armazena localizações de armazenamento aprovadas como etiquetas.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • O Pub/Sub publica as conclusões.
  • O Cloud Logging escreve os registos de auditoria.
  • O Security Command Center comunica todas as conclusões relacionadas com a localização de recursos ou o acesso aos dados.

Para detetar problemas relacionados com este controlo, a arquitetura inclui uma descoberta que indica se a etiqueta de localizações aprovadas inclui a localização dos dados confidenciais.

5. Os catálogos de dados são implementados, usados e interoperáveis

Este controlo requer a existência de um catálogo de dados e que a arquitetura possa analisar recursos novos e atualizados para adicionar metadados conforme necessário.

Para cumprir os requisitos deste controlo, a arquitetura usa o Data Catalog. O Data Catalog regista automaticamente Google Cloud recursos, incluindo conjuntos de dados, tabelas e vistas do BigQuery. Quando cria uma nova tabela no BigQuery, o Data Catalog regista automaticamente os metadados técnicos e o esquema da nova tabela. Quando atualiza uma tabela no BigQuery, o Data Catalog atualiza as respetivas entradas quase instantaneamente.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes de arquitetura do Control 5.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Dois armazéns de dados do BigQuery: um armazena os dados confidenciais e o outro armazena os dados não confidenciais.
  • O Data Catalog armazena os metadados técnicos das tabelas e dos campos.

Por predefinição, nesta arquitetura, o Data Catalog armazena metadados técnicos do BigQuery. Se necessário, pode integrar o catálogo de dados com outras origens de dados.

6. As classificações de dados são definidas e usadas

Esta avaliação requer que os dados possam ser classificados com base na respetiva sensibilidade, como se são PII, identificam clientes ou cumprem alguma outra norma definida pela sua organização. Para cumprir os requisitos deste controlo, a arquitetura cria um relatório dos recursos de dados e da respetiva sensibilidade. Pode usar este relatório para verificar se as definições de sensibilidade estão corretas. Além disso, cada novo recurso de dados ou alteração a um recurso de dados existente resulta numa atualização do catálogo de dados.

As classificações são armazenadas na etiqueta sensitive_category no modelo de etiqueta do catálogo de dados ao nível da tabela e da coluna. Uma tabela de referência de classificação permite-lhe classificar os tipos de informações (infoTypes) de proteção de dados confidenciais disponíveis, com classificações mais elevadas para conteúdo mais sensível.

Para cumprir os requisitos deste controlo, a arquitetura usa o Sensitive Data Protection, o Data Catalog e o Tag Engine para adicionar as seguintes etiquetas a colunas confidenciais em tabelas do BigQuery:

  • is_sensitive: se o recurso de dados contém informações confidenciais
  • sensitive_category: a categoria dos dados; uma das seguintes:
    • Informações de identificação pessoal confidenciais
    • Informações de identificação pessoal
    • Informações pessoais confidenciais
    • Informações pessoais
    • Informações públicas

Pode alterar as categorias de dados para cumprir os seus requisitos. Por exemplo, pode adicionar a classificação de informações não públicas relevantes (MNPI).

Depois de a proteção de dados confidenciais inspecionar os dados, o motor de etiquetas lê as tabelas DLP results por recurso para compilar as conclusões. Se uma tabela contiver colunas com um ou mais infoTypes confidenciais, o infoType mais notável é determinado e as colunas confidenciais e a tabela inteira são etiquetadas como a categoria com a classificação mais elevada. O motor de etiquetas também atribui uma etiqueta de política correspondente à coluna e atribui a etiqueta booleana is_sensitive à tabela.

Pode usar o Cloud Scheduler para automatizar a inspeção da proteção de dados confidenciais.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes da arquitetura do Control 6.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Quatro armazéns de dados do BigQuery armazenam as seguintes informações:
    • Dados confidenciais
    • Informações sobre os resultados da Proteção de dados confidenciais
    • Dados de referência da classificação de dados
    • Informações de exportação de etiquetas
  • O catálogo de dados armazena as etiquetas de classificação.
  • A Proteção de dados confidenciais inspeciona os recursos quanto a infoTypes confidenciais.
  • O Compute Engine executa o script Inspect Datasets, que aciona uma tarefa do serviço de dados protegidos para cada conjunto de dados do BigQuery.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • O Pub/Sub publica as conclusões.

Para detetar problemas relacionados com este controlo, a arquitetura inclui as seguintes conclusões:

  • Se os dados confidenciais têm atribuída uma etiqueta de categoria sensível.
  • Se os dados confidenciais têm atribuída uma etiqueta de tipo de sensibilidade ao nível da coluna.

7. As autorizações de dados são geridas, aplicadas e monitorizadas

Por predefinição, apenas os criadores e os proprietários têm atribuições e acesso a dados confidenciais. Além disso, este controlo requer que a arquitetura monitorize todo o acesso a dados confidenciais.

Para cumprir os requisitos deste controlo, a arquitetura usa a taxonomia de etiquetas de políticas no BigQuery para controlar o acesso a colunas que contêm dados confidenciais em tabelas do BigQuery.cdmc sensitive data classification A taxonomia inclui as seguintes etiquetas de políticas:

  • Informações de identificação pessoal confidenciais
  • Informações de identificação pessoal
  • Informações pessoais confidenciais
  • Informações pessoais

As etiquetas de políticas permitem-lhe controlar quem pode ver colunas confidenciais em tabelas do BigQuery. A arquitetura mapeia estas etiquetas de políticas para classificações de sensibilidade que foram derivadas de infoTypes de proteção de dados confidenciais. Por exemplo, a etiqueta da sensitive_personal_identifiable_informationpolítica e a categoria sensível são mapeadas para infoTypes, como AGE, DATE_OF_BIRTH, PHONE_NUMBER e EMAIL_ADDRESS.

A arquitetura usa a gestão de identidade e de acesso (IAM) para gerir os grupos, os utilizadores e as contas de serviço que requerem acesso aos dados. As autorizações do IAM são concedidas a um determinado recurso para acesso ao nível da tabela. Além disso, o acesso ao nível da coluna com base em etiquetas de políticas permite um acesso detalhado a recursos de dados confidenciais. Por predefinição, os utilizadores não têm acesso a colunas que tenham etiquetas de políticas definidas.

Para ajudar a garantir que apenas os utilizadores autenticados podem aceder aos dados, o Google Cloud usa o Cloud Identity, que pode federar com os seus fornecedores de identidade existentes para autenticar os utilizadores.

Este controlo também requer que a arquitetura verifique regularmente os recursos de dados que não têm autorizações definidas. O detetor, que é gerido pelo Cloud Scheduler, verifica os seguintes cenários:

  • Um recurso de dados inclui uma categoria sensível, mas não existe uma etiqueta de política relacionada.
  • Uma categoria não corresponde à etiqueta de política.

Quando estes cenários ocorrem, o detetor gera resultados que são publicados pelo Pub/Sub e, em seguida, são escritos na tabela events no BigQuery pelo Dataflow. Em seguida, pode distribuir as conclusões à sua ferramenta de correção, conforme descrito no 1. Conformidade com o controlo de dados.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes de arquitetura do Control 7.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Um armazém de dados do BigQuery armazena os dados confidenciais e as associações de etiquetas de políticas para controlos de acesso detalhados.
  • O IAM gere o acesso.
  • O catálogo de dados armazena as etiquetas ao nível da tabela e ao nível da coluna para a categoria sensível.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.

Para detetar problemas relacionados com este controlo, a arquitetura verifica se os dados confidenciais têm uma etiqueta de política correspondente.

8. O acesso, a utilização e os resultados éticos dos dados são geridos

Este controlo requer que a arquitetura armazene acordos de partilha de dados do fornecedor de dados e dos consumidores de dados, incluindo uma lista de finalidades de consumo aprovadas. O objetivo de consumo dos dados confidenciais é, em seguida, mapeado para os direitos armazenados no BigQuery através de etiquetas de consulta. Quando um consumidor consulta dados confidenciais no BigQuery, tem de especificar uma finalidade válida que corresponda ao respetivo direito (por exemplo, SET @@query_label = “use:3”;).

A arquitetura usa o Data Catalog para adicionar as seguintes etiquetas ao modelo de etiqueta CDMC controls. Estas etiquetas representam o contrato de partilha de dados com o fornecedor de dados:

  • approved_use: a utilização ou os utilizadores aprovados do recurso de dados
  • sharing_scope_geography: a lista de localizações geográficas nas quais o recurso de dados pode ser partilhado
  • sharing_scope_legal_entity: a lista de entidades acordadas que podem partilhar o recurso de dados

Um armazém de dados do BigQuery separado inclui o conjunto de dados entitlement_management com as seguintes tabelas:

  • provider_agreement: o contrato de partilha de dados com o fornecedor de dados, incluindo a entidade legal acordada e o âmbito geográfico. Estes dados são os predefinidos para as etiquetas shared_scope_geography e sharing_scope_legal_entity.
  • consumer_agreement: o contrato de partilha de dados com o consumidor de dados, incluindo a entidade legal acordada e o âmbito geográfico. Cada contrato está associado a uma associação do IAM para o recurso de dados.
  • use_purpose: a finalidade do consumo, como a descrição da utilização e as operações permitidas para o recurso de dados
  • data_asset: informações sobre o recurso de dados, como o nome do recurso e detalhes sobre o proprietário dos dados.

Para auditar os contratos de partilha de dados, o BigQuery mantém uma trilha de auditoria completa para cada tarefa e consulta em relação a cada conjunto de dados. A trilha de auditoria é armazenada na vista Information Schema Jobs do BigQuery. Depois de associar uma etiqueta de consulta a uma sessão e executar consultas na sessão, pode recolher registos de auditoria para consultas com essa etiqueta de consulta. Para mais informações, consulte a referência do registo de auditoria do BigQuery.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes de arquitetura do Control 8.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Dois armazéns de dados do BigQuery: um armazena os dados confidenciais e o outro armazena os dados de elegibilidade, que incluem os contratos de partilha de dados do fornecedor e do consumidor, bem como a finalidade de utilização aprovada.
  • O catálogo de dados armazena as informações do contrato de partilha de dados do fornecedor como etiquetas.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • O Pub/Sub publica as conclusões.

Para detetar problemas relacionados com este controlo, a arquitetura inclui as seguintes conclusões:

  • Se existe uma entrada para um recurso de dados no conjunto de dados entitlement_management.
  • Se uma operação é realizada numa tabela sensível com um exemplo de utilização expirado (por exemplo, o valid_until_date no consumer_agreement table já passou).
  • Se uma operação é realizada numa tabela sensível com uma chave de etiqueta incorreta.
  • Se uma operação é realizada numa tabela sensível com um valor de etiqueta de exemplo de utilização em branco ou não aprovado.
  • Se uma tabela sensível é consultada com um método de operação não aprovado (por exemplo, SELECT ou INSERT).
  • Se a finalidade registada que o consumidor especificou ao consultar os dados confidenciais corresponde ao contrato de partilha de dados.

9. Os dados estão protegidos e os controlos são comprovados

Este controlo requer a implementação da encriptação de dados e da desidentificação para ajudar a proteger os dados confidenciais e fornecer um registo destes controlos.

Esta arquitetura baseia-se na segurança predefinida da Google, que inclui a encriptação em repouso. Além disso, a arquitetura permite-lhe gerir as suas próprias chaves através de chaves de encriptação geridas pelo cliente (CMEK). O Cloud KMS permite-lhe encriptar os seus dados com chaves de encriptação suportadas por software ou módulos de segurança de hardware (HSMs) validados ao nível 3 da FIPS 140-2.

A arquitetura usa a ocultação dinâmica de dados ao nível da coluna configurada através de etiquetas de políticas e armazena dados confidenciais num perímetro dos VPC Service Controls separado. Também pode adicionar a desidentificação ao nível da aplicação, que pode implementar no local ou como parte do pipeline de carregamento de dados.

Por predefinição, a arquitetura implementa a encriptação CMEK com HSMs, mas também suporta o Cloud External Key Manager (Cloud EKM).

A tabela seguinte descreve a política de segurança de exemplo que a arquitetura implementa para a região us-central1. Pode adaptar a política para cumprir os seus requisitos, inclusive adicionando políticas diferentes para diferentes regiões.

Confidencialidade dos dados Método de encriptação predefinido Outros métodos de encriptação permitidos Método de anonimização predefinido Outros métodos de desidentificação permitidos
Informações públicas Encriptação predefinida Qualquer Nenhum Qualquer
Informações de identificação pessoal confidenciais CMEK com HSM EKM Anular Hash SHA-256 ou valor de ocultação predefinido
Informações de identificação pessoal CMEK com HSM EKM Hash SHA-256 Anule ou predefina o valor de ocultação
Informações pessoais confidenciais CMEK com HSM EKM Valor de ocultação predefinido Hash SHA-256 ou anulação
Informações pessoais CMEK com HSM EKM Valor de ocultação predefinido Hash SHA-256 ou anulação

A arquitetura usa o Data Catalog para adicionar a etiqueta encryption_method ao modelo de etiqueta CDMC controls ao nível da tabela. O elemento encryption_method define o método de encriptação usado pelo recurso de dados.

Além disso, a arquitetura cria uma etiqueta security policy template para identificar o método de anonimização aplicado a um campo específico. A arquitetura usa o platform_deid_method, que é aplicado através da ocultação de dados dinâmica. Pode adicionar o app_deid_method e preenchê-lo através dos pipelines de carregamento de dados do Dataflow e do Sensitive Data Protection incluídos no esquema do data warehouse seguro.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os 9 componentes da arquitetura de controlo.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Duas instâncias opcionais do Dataflow, uma que realiza a desidentificação ao nível da aplicação e a outra que realiza a reidentificação.
  • Três armazéns de dados do BigQuery: um armazena os dados confidenciais, um armazena os dados não confidenciais e o terceiro armazena a política de segurança.
  • O catálogo de dados armazena os modelos de etiquetas de encriptação e desidentificação.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • Resultados publicados no Pub/Sub.

Para detetar problemas relacionados com este controlo, a arquitetura inclui as seguintes conclusões:

  • O valor da etiqueta do método de encriptação não corresponde aos métodos de encriptação permitidos para a sensibilidade e a localização especificadas.
  • Uma tabela contém colunas confidenciais, mas a etiqueta do modelo de política de segurança contém um método de desidentificação ao nível da plataforma inválido.
  • Uma tabela contém colunas confidenciais, mas a etiqueta do modelo de política de segurança está em falta.

10. Uma framework de privacidade de dados está definida e operacional

Este controlo requer que a arquitetura inspecione o catálogo de dados e as classificações para determinar se tem de criar um relatório de avaliação do impacto da proteção de dados (AIPD) ou um relatório de avaliação do impacto na privacidade (AIP). As avaliações de privacidade variam significativamente entre geografias e reguladores. Para determinar se é necessária uma avaliação de impacto, a arquitetura tem de considerar a residência dos dados e a residência do titular dos dados.

A arquitetura usa o Data Catalog para adicionar as seguintes etiquetas ao modelo de etiqueta Impact assessment:

  • subject_locations: a localização dos indivíduos referidos pelos dados neste recurso.
  • is_dpia: se foi concluída uma avaliação do impacto da privacidade dos dados (AIPD) para este recurso.
  • is_pia: se foi concluída uma avaliação do impacto na privacidade (PIA) para este recurso.
  • impact_assessment_reports: link externo para onde o relatório de avaliação de impacto está armazenado.
  • most_recent_assessment: a data da avaliação de impacto mais recente.
  • oldest_assessment: a data da primeira avaliação de impacto.

O motor de etiquetas adiciona estas etiquetas a cada recurso de dados confidenciais, conforme definido pelo controlo 6. O detetor valida estas etiquetas com base numa tabela de políticas no BigQuery, que inclui combinações válidas de residência de dados, localização do titular, sensibilidade dos dados (por exemplo, se são PII) e que tipo de avaliação de impacto (PIA ou DPIA) é necessário.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os 10 componentes da arquitetura de controlo.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Quatro armazéns de dados do BigQuery armazenam as seguintes informações:
    • Dados confidenciais
    • Dados não confidenciais
    • Política de avaliação de impacto e datas/horas das concessões
    • Exportações de etiquetas usadas para o painel de controlo
  • O catálogo de dados armazena os detalhes da avaliação de impacto em etiquetas nos modelos de etiquetas.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • O Pub/Sub publica as conclusões.

Para detetar problemas relacionados com este controlo, a arquitetura inclui as seguintes conclusões:

  • Existem dados confidenciais sem um modelo de avaliação de impacto.
  • Existem dados confidenciais sem uma associação a um relatório de DPIA ou PIA.
  • As etiquetas não cumprem os requisitos na tabela de políticas.
  • A avaliação de impacto é mais antiga do que a autorização mais recentemente aprovada para o recurso de dados na tabela de contrato do consumidor.

11. O ciclo de vida dos dados é planeado e gerido

Este controlo requer a capacidade de inspecionar todos os recursos de dados para determinar que existe uma política de ciclo de vida dos dados e que esta é cumprida.

A arquitetura usa o Data Catalog para adicionar as seguintes etiquetas ao modelo de etiqueta CDMC controls:

  • retention_period: o tempo, em dias, para reter a tabela
  • expiration_action: se deve arquivar ou remover completamente a tabela quando o período de retenção terminar

Por predefinição, a arquitetura usa o seguinte período de retenção e ação de expiração:

Categoria de dados Período de retenção, em dias Ação de expiração
Informações de identificação pessoal confidenciais 60 Eliminar
Informações de identificação pessoal 90 Arquivar
Informações pessoais confidenciais 180 Arquivar
Informações pessoais 180 Arquivar

O Record Manager, um recurso de código aberto para o BigQuery, automatiza a eliminação e o arquivo de tabelas do BigQuery com base nos valores das etiquetas acima e num ficheiro de configuração. O procedimento de limpeza define uma data de validade numa tabela e cria uma tabela de instantâneo com um tempo de validade definido na configuração do Gestor de registos. Por predefinição, o tempo de expiração é de 30 dias. Durante o período de eliminação temporária, pode recuperar a tabela. O procedimento de arquivo cria uma tabela externa para cada tabela do BigQuery que ultrapassa o respetivo período de retenção. A tabela é armazenada no Cloud Storage no formato Parquet e atualizada para uma tabela BigLake, o que permite etiquetar o ficheiro externo com metadados no Data Catalog.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes da arquitetura do Control 11.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Dois armazéns de dados do BigQuery: um armazena os dados confidenciais e o outro armazena a política de retenção de dados.
  • Duas instâncias do Cloud Storage, uma que oferece armazenamento de arquivo e a outra que armazena registos.
  • O catálogo de dados armazena o período de retenção e a ação nos modelos de etiquetas e nas etiquetas.
  • Duas instâncias do Cloud Run: uma executa o Record Manager e a outra implementa os detetores.
  • Três instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
    • Outra instância executa o Record Manager, que automatiza a limpeza e o arquivo de tabelas do BigQuery.
  • O Pub/Sub publica as conclusões.

Para detetar problemas relacionados com este controlo, a arquitetura inclui as seguintes conclusões:

  • Para recursos sensíveis, certifique-se de que o método de retenção está alinhado com a política da localização do recurso.
  • Para recursos sensíveis, certifique-se de que o período de retenção está alinhado com a política da localização do recurso.

12. A qualidade de dados é gerida

Este controlo requer a capacidade de medir a qualidade dos dados com base na criação de perfis de dados ou em métricas definidas pelo utilizador.

A arquitetura inclui a capacidade de definir regras de qualidade dos dados para um valor individual ou agregado e atribuir limites a uma coluna de tabela específica. Inclui modelos de etiquetas para garantir a correção e a integridade. O catálogo de dados adiciona as seguintes etiquetas a cada modelo de etiqueta:

  • column_name: o nome da coluna à qual a métrica se aplica
  • metric: o nome da métrica ou da regra de qualidade
  • rows_validated: o número de linhas validadas
  • success_percentage: a percentagem de valores que satisfazem esta métrica
  • acceptable_threshold: o limite aceitável para esta métrica
  • meets_threshold: indica se o índice de qualidade (o valor success_percentage) cumpre o limite aceitável
  • most_recent_run: a hora mais recente em que a métrica ou a regra de qualidade foi executada

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes da arquitetura do Control 12.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Três armazéns de dados do BigQuery: um armazena os dados confidenciais, um armazena os dados não confidenciais e o terceiro armazena as métricas das regras de qualidade.
  • O catálogo de dados armazena os resultados da qualidade de dados em modelos de etiquetas e etiquetas.
  • O Cloud Scheduler define quando o Cloud Data Quality Engine é executado.
  • Três instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
    • A terceira instância executa o Cloud Data Quality Engine.
  • O motor de qualidade de dados da nuvem define regras de qualidade de dados e agenda verificações de qualidade de dados para tabelas e colunas.
  • O Pub/Sub publica as conclusões.

Um painel de controlo do Looker Studio apresenta os relatórios de qualidade de dados para os níveis de tabela e de coluna.

Para detetar problemas relacionados com este controlo, a arquitetura inclui as seguintes conclusões:

  • Os dados são sensíveis, mas não são aplicados modelos de etiquetas de qualidade de dados (correção e integridade).
  • Os dados são sensíveis, mas a etiqueta de qualidade de dados não é aplicada à coluna sensível.
  • Os dados são confidenciais, mas os resultados da qualidade de dados não estão dentro do limite definido na regra.
  • Os dados não são confidenciais e os resultados da qualidade de dados não estão dentro do limite definido pela regra.

Em alternativa ao motor de qualidade de dados do Google Cloud, pode configurar tarefas de qualidade de dados do catálogo universal do Dataplex.

13. Os princípios de gestão de custos são estabelecidos e aplicados

Este controlo requer a capacidade de inspecionar os recursos de dados para confirmar a utilização de custos, com base nos requisitos das políticas e na arquitetura de dados. As métricas de custos devem ser abrangentes e não se limitar apenas à utilização e à movimentação de armazenamento.

A arquitetura usa o Data Catalog para adicionar as seguintes etiquetas ao modelo de etiqueta cost_metrics:

  • total_query_bytes_billed: número total de bytes de consulta que foram faturados para este recurso de dados desde o início do mês atual.
  • total_storage_bytes_billed: o número total de bytes de armazenamento que foram faturados para este recurso de dados desde o início do mês atual.
  • total_bytes_transferred: soma dos bytes transferidos entre regiões para este recurso de dados.
  • estimated_query_cost: custo estimado da consulta, em dólares dos EUA, para o recurso de dados do mês atual.
  • estimated_storage_cost: custo de armazenamento estimado, em dólares dos EUA, do recurso de dados para o mês atual.
  • estimated_egress_cost: saída estimada em dólares americanos para o mês atual em que o recurso de dados foi usado como uma tabela de destino.

A arquitetura exporta informações de preços da Faturação do Google Cloud para uma tabela do BigQuery denominada cloud_pricing_export.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes de arquitetura do Control 13.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • O Cloud Billing fornece informações de faturação.
  • O catálogo de dados armazena as informações de custos em modelos de etiquetas e etiquetas.
  • O BigQuery armazena as informações de preços exportadas e as informações do histórico de tarefas de consulta através da vista INFORMATION_SCHEMA integrada.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • O Pub/Sub publica as conclusões.

Para detetar problemas relacionados com este controlo, a arquitetura verifica se existem recursos de dados confidenciais sem métricas de custos associadas.

14. A proveniência e a linhagem dos dados são compreendidas

Este controlo requer a capacidade de inspecionar a rastreabilidade do recurso de dados a partir da respetiva origem e quaisquer alterações à linhagem do recurso de dados.

Para manter informações sobre a proveniência e a linhagem dos dados, a arquitetura usa as funcionalidades de linhagem de dados incorporadas no Data Catalog. Além disso, os scripts de carregamento de dados definem a origem final e adicionam a origem como um nó adicional ao gráfico de linhagem de dados.

Para cumprir os requisitos deste controlo, a arquitetura usa o Data Catalog para adicionar a etiqueta ultimate_source ao modelo de etiqueta CDMC controls. A etiqueta ultimate_source define a origem deste recurso de dados.

O diagrama seguinte mostra os serviços que se aplicam a este controlo.

Os componentes da arquitetura do Control 14.

Para cumprir os requisitos deste controlo, a arquitetura usa os seguintes serviços:

  • Dois armazéns de dados do BigQuery: um armazena os dados confidenciais e o outro armazena os dados de origem finais.
  • O catálogo de dados armazena a origem final em modelos de etiquetas e etiquetas.
  • Os scripts de carregamento de dados carregam os dados do Cloud Storage, definem a origem final e adicionam a origem ao gráfico de linhagem de dados.
  • Duas instâncias do Cloud Run, da seguinte forma:
    • Uma instância executa o motor de relatórios, que verifica se as etiquetas são aplicadas e publica os resultados.
    • Outra instância executa o motor de etiquetas, que etiqueta os dados no armazém de dados seguro.
  • O Pub/Sub publica as conclusões.

Para detetar problemas relacionados com este controlo, a arquitetura inclui as seguintes verificações:

  • Os dados confidenciais são identificados sem uma etiqueta de origem final.
  • O gráfico de linhagem não é preenchido para recursos de dados confidenciais.

Referência da etiqueta

Esta secção descreve os modelos de etiquetas e as etiquetas que esta arquitetura usa para cumprir os requisitos dos controlos principais do CDMC.

Modelos de etiquetas de controlo do CDMC ao nível da tabela

A tabela seguinte lista as etiquetas que fazem parte do modelo de etiqueta de controlo do CDMC e que são aplicadas às tabelas.

Etiqueta ID da etiqueta Controlo de chaves aplicável
Localização de armazenamento aprovada approved_storage_location 4
Uso Autorizado approved_use 8
Email do proprietário dos dados data_owner_email 2
Nome do proprietário dos dados data_owner_name 2
Método de encriptação encryption_method 9
Ação de expiração expiration_action 11
É autoritário is_authoritative 3
É sensível is_sensitive 6
Categoria sensível sensitive_category 6
Partilha da geografia do âmbito sharing_scope_geography 8
Entidade legal do âmbito da partilha sharing_scope_legal_entity 8
Período de retenção retention_period 11
Origem final ultimate_source 14

Modelo de etiqueta de avaliação de impacto

A tabela seguinte lista as etiquetas que fazem parte do modelo de etiqueta de avaliação de impacto e que são aplicadas às tabelas.

Etiqueta ID da etiqueta Controlo de chaves aplicável
Localizações do objeto subject_locations 10
É uma avaliação de impacto da AIPD is_dpia 10
É uma avaliação de impacto da PIA is_pia 10
Relatórios de avaliação de impacto impact_assessment_reports 10
Avaliação de impacto mais recente most_recent_assessment 10
Avaliação de impacto mais antiga oldest_assessment 10

Modelo de etiqueta de métricas de custos

A tabela seguinte lista as etiquetas que fazem parte do modelo de etiqueta de métricas de custos e que são aplicadas às tabelas.

Etiqueta Separador ID Controlo de chaves aplicável
Custo estimado da consulta estimated_query_cost 13
Custo de armazenamento estimado estimated_storage_cost 13
Custo de saída estimado estimated_egress_cost 13
Total de bytes de consulta faturados total_query_bytes_billed 13
Total de bytes de armazenamento faturados total_storage_bytes_billed 13
Total de bytes transferidos total_bytes_transferred 13

Modelo de etiqueta de sensibilidade dos dados

A tabela seguinte apresenta as etiquetas que fazem parte do modelo de etiqueta de confidencialidade dos dados e que são aplicadas aos campos.

Etiqueta ID da etiqueta Controlo de chaves aplicável
Campo confidencial sensitive_field 6
Tipo sensível sensitive_category 6

Modelo de etiqueta de política de segurança

A tabela seguinte lista as etiquetas que fazem parte do modelo de etiqueta da política de segurança e que são aplicadas aos campos.

Etiqueta ID da etiqueta Controlo de chaves aplicável
Método de desidentificação da aplicação app_deid_method 9
Método de desidentificação da plataforma platform_deid_method 9

Modelos de etiquetas de qualidade de dados

A tabela seguinte lista as etiquetas que fazem parte dos modelos de etiquetas de qualidade de dados de integridade e correção e que são aplicadas aos campos.

Etiqueta ID da etiqueta Controlo de chaves aplicável
Limite aceitável acceptable_threshold 12
Nome da coluna column_name 12
Cumpre o limite meets_threshold 12
Métrica metric 12
Execução mais recente most_recent_run 12
Linhas validadas rows_validated 12
Percentagem de êxito success_percentage 12

Etiquetas de políticas da CDMC ao nível do campo

A tabela seguinte apresenta as etiquetas de políticas que fazem parte da taxonomia de etiquetas de políticas de classificação de dados confidenciais do CDMC e que são aplicadas aos campos. Estas etiquetas de políticas restringem o acesso ao nível do campo e permitem a desidentificação de dados ao nível da plataforma.

Classificação de dados Nome da etiqueta Controlo de chaves aplicável
Informações de identificação pessoal personal_identifiable_information 7
Informações pessoais personal_information 7
Informações de identificação pessoal confidenciais sensitive_personal_identifiable_information 7
Informações pessoais confidenciais sensitive_personal_data 7

Metadados técnicos pré-preenchidos

A tabela seguinte lista os metadados técnicos que são sincronizados por predefinição no Data Catalog para todos os recursos de dados do BigQuery.

Metadados Controlo de chaves aplicável
Tipo de recurso
Hora da criação
Prazo de validade 11
Location 4
URL do recurso 3

O que se segue?