Introduction to sensitive data classification

É essencial saber onde seus dados confidenciais residem e se eles estão devidamente protegidos. Esta não é apenas uma prática recomendada, mas um requisito vital em muitos setores para manter a conformidade com os regulamentos. O Snowflake oferece uma solução que descobre automaticamente dados confidenciais e facilita a aplicação de controles de governança, como tags e políticas de mascaramento.

O Snowflake classifica os dados confidenciais em categorias nativas, como nome e identificador nacional, mas você também pode criar as próprias categorias personalizadas para detectar dados confidenciais específicos de sua organização ou domínio.

Introdução

O Snowflake fornece uma interface da web para configurar a classificação de dados confidenciais e visualizar a postura de governança deles.

Para começar, faça um dos seguintes procedimentos:

Core concepts of sensitive data classification

Sobre as categorias de classificação

Com a classificação de dados confidenciais, cada coluna identificada como contendo dados confidenciais é atribuída a duas categorias: semântica e de privacidade.

  • Uma categoria semântica identifica o tipo de atributo pessoal. O Snowflake fornece categorias nativas para atributos comuns, como nomes e endereços. Se seus dados confidenciais não se enquadrarem em uma categoria nativa, você poderá criar uma categoria personalizada para eles.

  • Uma categoria de privacidade identifica a confidencialidade de um atributo pessoal. Ela pode ser IDENTIFIER, QUASI_IDENTIFIER ou SENSITIVE (uma categoria genérica e não identificadora de itens como salário).

Sobre as tags de classificação

Uma tag é um objeto Snowflake que pode ser atribuído a uma coluna. O Snowflake usa as seguintes tags definidas pelo sistema para identificar colunas que ele classificou como contendo dados confidenciais.

  • SNOWFLAKE.CORE.SEMANTIC_CATEGORY: Tag usada para identificar a categoria nativa ou personalizada dos dados em uma coluna.

  • SNOWFLAKE.CORE.PRIVACY_CATEGORY: Tag usada para identificar a categoria de privacidade dos dados em uma coluna.

Você pode mapear as tags definidas pelo usuário para tags de classificação definidas pelo sistema. Por exemplo, você pode configurar um mapeamento de tags para que toda vez que a tag do sistema SNOWFLAKE.CORE.SEMANTIC_CATEGORY = 'NAME' é aplicada a uma coluna, a tag definida pelo usuário tag_db.sch.pii = 'Highly confidential' também seja aplicada.

Sobre os perfis de classificação

Quando você usa a interface da web do Trust Center para especificar configurações de classificação, essas configurações são salvas como um perfil de classificação. Esse perfil de classificação pode ser editado posteriormente para alterar as configurações que controlam como os dados são classificados. Na interface da web, o perfil de classificação também controla quais bancos de dados são classificados com as configurações do perfil.

Você também pode usar comandos SQL para criar e modificar um perfil de classificação. Se você usa SQL, associar o perfil de classificação a um banco de dados para iniciar o processo de classificação é uma etapa separada.

Proteção de dados confidenciais

O Snowflake fornece as ferramentas de governança necessárias para rastrear e proteger seus dados confidenciais.

  • Você pode configurar o processo de classificação para que o Snowflake atribua automaticamente as tags definidas pelo sistema e pelo usuário aos dados que ele classifica como confidenciais. Você pode rastrear os dados dentro de seu estado de dados rastreando as tags.

  • Você pode atribuir uma política de mascaramento a colunas que contêm dados confidenciais para mascarar seletivamente os dados no momento da consulta.

  • Você pode combinar políticas de marcação e mascaramento para mascarar automaticamente os dados classificados como confidenciais. Se você usar o mascaramento baseado em tags para associar uma política de mascaramento a uma tag definida pelo usuário, os dados serão automaticamente mascarados quando o Snowflake aplicar a tag como parte do processo de classificação. À medida que novos dados são adicionados a um banco de dados, as políticas de mascaramento baseadas em tags são automaticamente atribuídas às colunas com dados confidenciais.

Determinar quais bancos de dados são classificados

Você pode determinar quais dados são monitorados pela classificação de dados confidenciais listando os bancos de dados associados a um perfil de classificação. Se um banco de dados estiver associado a um perfil de classificação, todas as tabelas e exibições nesse banco de dados serão classificadas automaticamente de acordo com os critérios definidos no perfil.

Para determinar quais bancos de dados são classificados:

  1. Faça login no Snowsight como um usuário com os privilégios necessários.

  2. No menu de navegação, selecione Governance & security » Trust Center.

  3. Selecione a guia Data Security.

  4. Selecione a guia Dashboard.

  5. Encontre o bloco Databases monitored by classification. Para listar os bancos de dados que são classificados, selecione Monitored ou Partially monitored.

Nota

Um banco de dados é parcialmente monitorado se alguém usou SQL para definir um perfil de classificação diretamente em um esquema no banco de dados, em vez de definir o perfil no nível do banco de dados.

Considerações sobre custo

A classificação de dados confidenciais consome créditos, pois utiliza recursos de computação sem servidor para classificar tabelas no banco de dados. Para obter mais informações sobre os preços desse consumo, consulte a Tabela 5 em Snowflake Service Consumption Table.

Nota

Classificar exibições pode custar mais do que classificar tabelas. O custo adicional depende da complexidade da consulta que criou a exibição. As exibições materializadas não geram custos adicionais. Por padrão, as exibições são excluídas da classificação.

Visualizar custos no Snowsight

To explore the cost of sensitive data classification:

  1. Faça login no Snowsight.

  2. Mude para uma função com acesso aos dados de custo e uso.

  3. No menu de navegação, selecione Admin » Cost management.

  4. Selecione um warehouse a ser utilizado para visualizar os dados de uso. Snowflake recomenda o uso de um warehouse XS para este fim.

  5. Selecione Consumption.

  6. No menu suspenso Usage Type, selecione Compute.

  7. No menu suspenso Service Type, selecione Sensitive Data Classification.

Usar SQL para consultar os custos

É possível consultar exibições nos esquemas ACCOUNT_USAGE e ORGANIZATION_USAGE para determinar quanto foi gasto na classificação automática de dados confidenciais. Para monitorar o consumo de crédito, consulte as seguintes exibições:

Exibição METERING_HISTORY (ACCOUNT_USAGE)

Permite que você recupere o custo por hora da classificação automática, concentrando-se em SENSITIVE_DATA_CLASSIFICATION na coluna SERVICE_TYPE. Por exemplo:

SELECT
  service_type,
  start_time,
  end_time,
  entity_id,
  name,
  credits_used_compute,
  credits_used_cloud_services,
  credits_used,
  budget_id
  FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_HISTORY
  WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
Copy
Exibição METERING_DAILY_HISTORY (ACCOUNT_USAGE e ORGANIZATION_USAGE)

Permite que você recupere o custo diário da classificação automática, concentrando-se em SENSITIVE_DATA_CLASSIFICATION na coluna SERVICE_TYPE. Por exemplo:

SELECT
  service_type,
  usage_date,
  credits_used_compute,
  credits_used_cloud_services,
  credits_used
  FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_DAILY_HISTORY
  WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
Copy
USAGE_IN_CURRENCY_DAILY (ORGANIZATION_USAGE)

Permite que você recupere o custo diário da classificação automática, concentrando-se em SENSITIVE_DATA_CLASSIFICATION na coluna SERVICE_TYPE. Use essa exibição para determinar o custo em moeda, não em créditos.

Supported objects

Snowflake supports classifying data stored in all types of Snowflake tables and views.

Note that Snowflake does not support classification on shared tables and shared schemas from the consumer’s side. If a table is created by the provider and placed into the provider’s outbound share, the classification only works if it is called from the provider’s side.

Supported data types

Você pode classificar a tabela e exibir colunas para todos os tipos de dados com suporte exceto para os seguintes tipos de dados:

  • ARRAY

  • BINARY

  • DECFLOAT

  • GEOGRAPHY

  • OBJECT

  • VARIANT (exceto quando o tipo de dados da coluna for cast para um tipo de dados NUMBER ou STRING)

  • VECTOR

Nota

  • Dados não estruturados, como texto longo, armazenados em colunas não são compatíveis.

  • JSON, XML ou outros dados semiestruturados não são compatíveis.

Limitações e considerações

  • Os perfis de classificação não podem ser definidos em uma conta de leitor.

  • Um perfil de classificação não pode ser definido em mais de mil bancos de dados.

  • Um perfil de classificação não pode ser definido diretamente em mais de dez mil esquemas.

  • Um máximo de 100 milhões de tabelas pode ser classificado em um esquema.

  • Você não pode classificar automaticamente uma tabela se ela tiver alguma das seguintes características:

    • Mais de dez mil colunas.

    • Uma coluna com um nome com mais de 255 caracteres.

    • Uma coluna com um nome que inclui o caractere $.