Otimizar uma tabela grande do BigQuery para custo e desempenho de consulta.
→Particione a tabela por uma coluna de unidade de tempo frequentemente filtrada (por exemplo, data da transação). Agrupe a tabela por outras colunas de alta cardinalidade e frequentemente filtradas (por exemplo, `customer_id`).
Por quê: O particionamento é a forma mais eficaz de reduzir custo e latência, podando a quantidade de dados escaneados. O agrupamento melhora ainda mais o desempenho, ordenando os dados dentro das partições.
Referência↗
Impedir que dados de um conjunto de dados sensível do BigQuery sejam copiados para um destino não autorizado (por exemplo, um bucket GCS público), mesmo por um usuário com credenciais válidas.
→Use os Controles de Serviço VPC para criar um perímetro de serviço em torno do projeto que contém o conjunto de dados do BigQuery.
Por quê: Os Controles de Serviço VPC atuam como um "firewall virtual" para os serviços GCP, impedindo que os dados saiam do perímetro. Este é um controle crítico de defesa em profundidade contra a exfiltração de dados.
Referência↗
Restringir o acesso a colunas sensíveis (por exemplo, PII) em uma tabela do BigQuery a grupos autorizados, permitindo que outros consultem as colunas restantes.
→Use o Data Catalog para criar uma taxonomia e tags de política. Aplique tags de política a colunas sensíveis e conceda a função "Fine-Grained Reader" a grupos autorizados.
Por quê: Este é o método nativo e escalável para segurança em nível de coluna no BigQuery. Ele fornece governança centralizada sem a necessidade de criar e gerenciar visualizações separadas.
Filtrar uma tabela para que os usuários vejam apenas as linhas que lhes pertencem (por exemplo, gerentes de vendas veem apenas os dados de sua própria região).
→Crie uma Política de Segurança em Nível de Linha na tabela que filtra as linhas com base em `SESSION_USER()`.
Por quê: Fornece filtragem dinâmica baseada em predicados no momento da consulta. Isso é mais seguro e gerenciável do que criar uma visualização autorizada para cada usuário ou função.
Excluir automaticamente dados de uma tabela do BigQuery após um período de retenção especificado para cumprir regulamentações (por exemplo, excluir dados com mais de 7 anos).
→Para dados de séries temporais, defina uma expiração de partição na tabela particionada por tempo. Para outras tabelas, defina a expiração padrão da tabela.
Por quê: Este é um recurso integrado e "configure e esqueça" que garante a conformidade sem scripts de limpeza manuais ou orquestração externa.
Uma tabela do BigQuery foi acidentalmente modificada ou excluída.
→Use o BigQuery Time Travel para consultar a tabela como ela existia em um ponto no tempo antes do incidente, usando `FOR SYSTEM_TIME AS OF`.
Por quê: O BigQuery mantém automaticamente um histórico de 7 dias dos dados da tabela. Isso permite a recuperação instantânea dentro da janela de tempo de viagem sem a necessidade de restaurar de backups.
Referência↗
Descobrir, gerenciar, proteger e monitorar ativos de dados (BigQuery, GCS) em toda uma organização.
→Use o Dataplex.
Por quê: O Dataplex atua como um data fabric inteligente, fornecendo um painel unificado para governança de dados, qualidade, linhagem, descoberta e gerenciamento do ciclo de vida em silos de dados díspares.
Compreender e visualizar como os dados fluem dos sistemas de origem, através dos trabalhos de transformação, para as tabelas de relatório finais.
→Use o Dataplex Data Lineage.
Por quê: Captura automaticamente informações de linhagem de BigQuery, Data Fusion e logs do Composer para fornecer uma visualização interativa baseada em grafo das dependências de dados para análise de impacto e auditoria.
Garantir desempenho e custo de consulta previsíveis para cargas de trabalho críticas, evitando "contenção de slots" de outros usuários.
→Adquira as Edições do BigQuery (preços baseados em capacidade). Crie reservas para dedicar um pool de slots a projetos ou pastas específicas.
Por quê: Muda de um pool compartilhado sob demanda para uma capacidade de computação dedicada, garantindo recursos para trabalhos críticos e fornecendo faturamento previsível.
Digitalizar todos os ativos de dados no BigQuery e Cloud Storage para identificar e classificar automaticamente PII e outros dados sensíveis.
→Configure um trabalho de varredura de descoberta do Cloud Data Loss Prevention (DLP).
Por quê: O Cloud DLP usa centenas de detectores predefinidos para encontrar dados sensíveis em escala. Ele pode se integrar ao Data Catalog para aplicar automaticamente tags de política para governança.
Um aplicativo conteinerizado (em GKE ou Cloud Run) precisa se autenticar de forma segura no BigQuery sem gerenciar chaves de conta de serviço.
→Use o Workload Identity.
Por quê: A melhor prática recomendada para autenticação serviço-a-serviço. Ele mapeia uma conta de serviço Kubernetes para uma conta de serviço IAM do GCP, usando tokens de curta duração e rotacionados automaticamente.
Para conformidade, gere um relatório de todos os usuários que consultaram uma tabela sensível do BigQuery nos últimos 90 dias.
→Habilite e consulte os logs de auditoria de acesso a dados do BigQuery, que podem ser roteados para um conjunto de dados do BigQuery para análise.
Por quê: Os logs de acesso a dados fornecem um registro imutável de quem acessou quais dados e quando. Eles são essenciais para auditorias de segurança e conformidade, mas devem ser explicitamente habilitados.
Identificar quais usuários ou consultas são responsáveis pelos altos custos do BigQuery.
→Consulte a view `INFORMATION_SCHEMA.JOBS`.
Por quê: Esta view de metadados contém informações detalhadas para cada consulta executada, incluindo o usuário, bytes faturados e slots consumidos, permitindo atribuição e análise precisas de custos.