Habilidades de governança de dados do Cortex Code

O Cortex Code inclui habilidades de governança de dados internos projetadas para ajudar você a entender, proteger e monitorar os dados em sua conta Snowflake. Essas habilidades funcionam diretamente no seu ambiente Snowflake: descreva o que você precisa em inglês simples, e o Cortex Code gera e executa as consultas, classificações e análises necessárias para você. Você não precisa saber quais habilidades executar, o Cortex Code seleciona automaticamente a habilidade necessária para responder à sua pergunta.

Introdução

  1. Instale a Cortex Code CLI e conecte-a à sua conta.

  2. Certifique-se de que você cumpra os requisitos de controle de acesso.

  3. Comece a fazer perguntas na linha de comando. É possível usar qualquer um dos prompts de exemplo abaixo diretamente no Cortex Code. O Cortex Code seleciona a habilidade apropriada automaticamente com base em sua pergunta. Não são necessários comandos especiais.

Governança de dados geral

As habilidades de governança de dados podem responder a perguntas sobre controle de acesso, trilhas de auditoria, permissões, hierarquias de funções e monitoramento de conformidade em sua conta Snowflake. O Cortex Code usa as habilidades para executar consultas SQL nas exibições ACCOUNT_USAGE do Snowflake usando um modelo semântico incorporado com padrões de consulta eficazes.

O Cortex Code pode ajudar você a executar as seguintes tarefas:

  • Fazer auditoria de quem acessou quais dados e quando: entenda os padrões de acesso dos usuários, rastreie o histórico de consultas e identifique atividades fora do horário comercial ou incomuns.

  • Analisar permissões e hierarquias de funções: revise concessões, atribuições de funções e estruturas de privilégios para garantir acesso aos usuários com privilégio mínimo.

  • Monitorar a postura de conformidade: analise políticas de mascaramento, políticas de acesso a linhas, políticas de agregação e uso de tags em sua conta.

  • Investigar dependências de objetos: entenda como bancos de dados, esquemas, tabelas e exibições se relacionam entre si.

  • Rastrear alterações de DDL: veja quem criou, alterou ou descartou objetos e quando.

Prompts de exemplo

"Who has accessed the SALES.NA.CUSTOMERS table in the last 30 days?"
"Show me all users with the ACCOUNTADMIN role"
"What tables were accessed outside of business hours last week?"
"List all grants to the ANALYST_ROLE"
"Which users have run DDL operations on the FINANCE database in the last 7 days?"
"Show me the role hierarchy for my account"
"What masking policies are applied across my account?"
"Which tables have no row access policies attached?"
"Show me all tag references in the ANALYTICS database"

Classificação de dados confidenciais

A habilidade de governança de dados para classificação de dados confidenciais pode detectar e classificar informações de identificação pessoal (Personally Identifiable Information, PII) e outros dados confidenciais nas tabelas do Snowflake. Ela usa a função nativa do Snowflake SYSTEM$CLASSIFY para verificar tabelas e identificar colunas com dados como e-mails, números de telefone, números de seguro social e endereços. Ela também pode configurar perfis de classificação automatizada para monitoramento contínuo.

O Cortex Code pode ajudar você a executar as seguintes tarefas:

  • Descobrir PII em suas tabelas: verifique tabelas individuais ou esquemas inteiros para encontrar colunas que contenham dados confidenciais, como e-mails, nomes, números de telefone, números de cartão de crédito e números de seguro social.

  • Analisar os resultados de classificações existentes: consulte a exibição DATA_CLASSIFICATION_LATEST para ver quais PII já foram detectadas, quais tabelas têm as colunas mais confidenciais e quais categorias de dados confidenciais existem.

  • Configurar a classificação automatizada: crie perfis de classificação que monitorem continuamente bancos de dados em busca de novos dados confidenciais e, se desejado, colunas de marcação automática.

  • Criar classificadores personalizados: defina classificadores baseados em regex para dados confidenciais específicos de domínio (IDs de funcionários, códigos internos, formatos personalizados) que as categorias internas do Snowflake não cobrem.

  • Testar e validar a precisão da classificação: execute classificadores em tabelas representativas para verificar a precisão da detecção antes de implementá-los na produção.

Prompts de exemplo

"Scan SALES.NA.ORDERS for PII"
"Does the CUSTOMERS table contain any sensitive data?"
"What PII exists across my ANALYTICS database?"
"Show me all columns classified as EMAIL or PHONE in my account"
"Which tables have the most sensitive columns?"
"Create a classification profile for the PROD_DB database"
"Set up auto-classification with auto-tagging enabled"
"Create a custom classifier for employee IDs that match the pattern EMP-XXXXX"
"Show me classification results for the NA.FINANCE schema"
"Which tables need re-classification (older than 90 days)?"

Políticas de proteção de dados

A habilidade de governança de dados para políticas de proteção de dados ajuda você a criar, fazer auditoria e gerenciar políticas de mascaramento, acesso a linhas e projeção do Snowflake. Ela oferece melhores práticas, padrões comprovados (como controle de acesso baseado em atributos) e fluxos de trabalho guiados para criação de novas políticas e auditoria das políticas existentes. Ela também inclui material de referência de conformidade para PCI-DSS, HIPAA, GDPR, CCPA, SOX e FERPA.

O Cortex Code pode ajudar você a executar as seguintes tarefas:

  • Criar políticas de mascaramento: crie políticas de mascaramento no nível da coluna para ocultar dinamicamente os dados confidenciais com base na função do usuário que faz a consulta, adotando melhores práticas como IS_ROLE_IN_SESSION() funções memoizáveis.

  • Criar políticas de acesso a linhas: restrinja as linhas que um usuário pode ver com base na associação de funções, nos atributos ou nas tabelas de pesquisa.

  • Criar políticas de projeção: controle se uma coluna pode aparecer nos resultados da consulta.

  • Fazer auditoria de políticas existentes: faça inventário de todas as políticas em sua conta, avalie-as em relação a uma lista de verificação das melhores práticas de segurança e identifique antipadrões (por exemplo, usando a função CURRENT_ROLE em vez de IS_ROLE_IN_SESSION).

  • Consolidar políticas esparsas: migre de políticas específicas da tabela para políticas genéricas e reutilizáveis centralizadas em um banco de dados de governança.

  • Atender aos requisitos regulatórios: obtenha modelos e orientações de políticas adaptados a estruturas de conformidade específicas (HIPAA para o setor de saúde, PCI-DSS para dados de pagamento, GDPR para dados pessoais da EU).

Prompts de exemplo

"Create a masking policy for the EMAIL column in the SALES.NA.CUSTOMERS table"
"Help me set up row access policies for the FINANCE schema"
"Audit all masking policies in my account"
"Are there any anti-patterns in my existing data policies?"
"Create a HIPAA-compliant masking policy for PHI columns"
"Show me the best practice for role-based masking"
"I need a projection policy to prevent the SSN column from appearing in query results"
"Help me consolidate my scattered masking policies into reusable ones"
"What's the recommended pattern for Attribute-Based Access Control (ABAC)?"
"Generate a policy health report for my account"

*Qualidade dos dados

A habilidade de governança de dados para qualidade de dados monitora e analisa a qualidade dos dados em seus esquemas Snowflake usando funções de métrica de dados (Data Metric Functions, DMFs). Ela fornece pontuação de integridade, análise de causa raiz para métricas de falha, detecção de regressão, análise de tendências, alertas de SLA, comparação de tabelas para validação de migração e análise de popularidade de conjuntos de dados.

O Cortex Code pode ajudar você a executar as seguintes tarefas:

  • Verificar a integridade do esquema: obtenha uma pontuação geral de qualidade de dados para um esquema, que mostra uma comparação de quantas métricas são aprovadas e quantas são reprovadas, e quais tabelas são monitoradas.

  • Investigar falhas de qualidade: detalhe as métricas de falha para entender quais tabelas e colunas têm problemas, quais são os problemas e obter as recomendações de correção.

  • Detectar regressões de qualidade: compare a qualidade atual com as medições anteriores para ver se a qualidade melhorou ou piorou e identificar novas falhas.

  • Rastrear tendências de qualidade: visualize pontuações de qualidade de séries temporais para entender se a qualidade está melhorando, estável ou diminuindo ao longo do tempo.

  • Configurar alertas de SLA: crie objetos ALERT automatizados do Snowflake que notificam você quando a qualidade dos dados fica abaixo de um limite.

  • Comparar tabelas: valide migrações de dados, reconcilie os dados de desenvolvimento em relação aos dados de produção ou encontre diferenças no nível da linha entre duas versões de tabela (linhas adicionadas, removidas e modificadas e diferenças de esquema).

  • Analisar a popularidade de conjuntos de dados: identifique as tabelas mais e menos usadas, encontre dados não utilizados ou obsoletos e saiba quem está consumindo quais conjuntos de dados.

Prompts de exemplo

"What is the data quality score for ANALYTICS.REPORTING?"
"Why is the SALES.CUSTOMERS.ORDERS table failing quality checks?"
"Has data quality improved or gotten worse in the DB.FINANCE schema this month?"
"Show me quality trends for PROD_DB.SALES over the last 30 days"
"Set up an alert if data quality in ANALYTICS.CORE drops below 90%"
"Compare STAGING.ORDERS_V1 with STAGING.ORDERS_V2"
"Find the differences between dev and prod versions of the SALES.ORDERS.CUSTOMERS table"
"Which tables in my account are the most popular?"
"Are there any unused tables in the SANDBOX database?"
"Show me the root cause of quality failures in SALES.ORDERS"

Linhagem

A habilidade de governança de dados para linhagem rastreia dependências de dados em sua conta Snowflake, tanto upstream (de onde vêm os dados) quanto downstream (o que depende deles). Ela oferece suporte à linhagem no nível da tabela e da coluna, análise de impacto com pontuação de risco, análise de causa raiz com detecção de alterações e descoberta de dados com pontuação de confiança.

O Cortex Code pode ajudar você a executar as seguintes tarefas:

  • Avaliar o impacto das alterações: antes de modificar uma tabela, consulte todos os objetos downstream que dependem dela, classificados por risco (CRITICAL, MODERATE, LOW), com frequência de uso e contagens de usuários afetados.

  • Depurar problemas de dados por rastreamento upstream: quando um relatório mostra números incorretos, retroceda o rastreamento dos dados por suas camadas de transformação para identificar a origem do problema, incluindo as alterações recentes no esquema e nos dados.

  • Descobrir e verificar conjuntos de dados confiáveis: encontre a melhor tabela para usar em uma determinada análise, com pontuações de confiança baseadas no nível do esquema (produção, preparação, bruto, sandbox), nos padrões de uso e na atualização dos dados.

  • Rastrear dependências no nível da coluna: saiba quais colunas downstream consomem uma coluna específica ou retroceda o rastreamento de uma coluna até sua origem por meio das camadas de transformação.

  • Detectar alterações recentes na linhagem: identifique alterações no esquema, modificações de dados e operações DDL no caminho da linhagem para correlacionar com os problemas de qualidade de dados.

Prompts de exemplo

"What will break if I change RAW_DB.SALES.ORDERS?"
"What depends on the SALES.SCH1.CUSTOMERS table?"
"Where does ANALYTICS_DB.REPORTING.REVENUE come from?"
"Why is the REVENUE_SUMMARY table showing wrong numbers?"
"Which table should I use for customer revenue analysis?"
"Is STAGING_DB.TRANSFORM.ORDERS_ENRICHED trustworthy?"
"What uses the AMOUNT column in SALES.ORDERS?"
"Where does the TOTAL_SALES column in the REVENUE report come from?"
"Show me the full lineage for SUMMIT.DEMO.SHIPMENTS"
"Has the DISCOUNT_PCT column in ORDERS changed recently?"

Requisitos de controle de acesso

Para invocar com sucesso as habilidades de governança de dados do Cortex Code, você deve ter o seguinte:

  • Privilégios e funções exigidos pelo Cortex Code.

  • Acesso a esquemas, tabelas e exibições nos quais tem interesse.

    • Para perguntas de classificação de dados confidenciais, você precisa do privilégio OWNERSHIP ou USAGE na tabela ou exibição.

    • Para políticas de proteção de dados, você precisa do privilégio CREATE MASKING POLICY ou CREATE ROW ACCESS POLICY no esquema com a tabela.

  • Acesso às exibições no esquema ACCOUNT_USAGE. Por padrão, somente a função do sistema ACCOUNTADMIN tem privilégios para acessar as exibições no esquema ACCOUNT_USAGE. Para conceder permissão de acesso a essas exibições para outras pessoas, você pode fazer o seguinte:

    • Conceder o privilégio IMPORTED PRIVILEGES no banco de dados SNOWFLAKE à função do usuário. Esta é uma ampla concessão de privilégios que permite a um usuário visualizar todas as exibições ACCOUNT_USAGE, mas também concede acesso às exibições no esquema ORGANIZATION_USAGE.

    • Conceda as funções de banco de dados necessárias para acessar as exibições. Para usar o Cortex Code para todos os tópicos relacionados à governança, um usuário precisa de todas estas funções de banco de dados: OBJECT_VIEWER, USAGE_VIEWER, GOVERNANCE_VIEWER e SECURITY_VIEWER. Para restringir o aprendizado de um usuário sobre determinados aspectos da governança de dados, conceda um subconjunto dessas funções. Para obter uma lista das exibições que cada função pode acessar, consulte Esquema ACCOUNT_USAGE.

Dicas para obter melhores resultados

  • Seja específico com nomes de objetos: use nomes totalmente qualificados como:code:DATABASE.SCHEMA.TABLE para obter os resultados mais precisos.

  • Comece de forma mais ampla e vá detalhando: comece com uma verificação de integridade ou visão geral e depois faça perguntas de acompanhamento para investigar problemas específicos.