Exclusão de dados da classificação automática de dados confidenciais

Com a classificação automática de dados confidenciais, o Snowflake classifica se os dados são confidenciais em intervalos regulares, sem intervenção do usuário. Você ativa o recurso definindo um perfil de classificação e, em seguida, configurando-o no banco de dados que contém os dados que deseja classificar.

Você pode usar as configurações do perfil de classificação e as tags do sistema para excluir determinados dados da classificação automática.

Por exemplo, suponha que um banco de dados my_db tenha três tabelas, t1, t2 e t3. Por padrão, quando você define um perfil de classificação em my_db, todas as três tabelas são classificadas automaticamente. Você pode configurar o Snowflake para ignorar t2 durante a classificação automática, de modo que apenas as tabelas t1 e t3 sejam classificadas.

Fluxo de trabalho

A exclusão de dados da classificação automática de dados confidenciais é um processo de duas etapas:

  1. Aplique a tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION a cada objeto que você deseja excluir da classificação automática de dados confidenciais. Saiba mais

  2. Defina a chave enable_tag_based_sensitive_data_exclusion do perfil de classificação como true. Saiba mais

Esse processo é conhecido como exclusão de dados confidenciais baseada em tag.

Nota

Após aplicar a tag do sistema e configurar o perfil de classificação, se você chamar o procedimento armazenado SYSTEM$CLASSIFY e especificar o perfil de classificação, o Snowflake excluirá os objetos marcados da classificação.

Definir tag em objetos de dados

Uma tag de objeto é um objeto que pode ser definido em outro objeto. O Snowflake fornece uma tag definida pelo sistema, SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION, que você pode definir em objetos que deseja excluir da classificação automática de dados confidenciais. Quando o valor dessa tag for TRUE, o Snowflake vai ignorar o objeto durante a classificação.

Por exemplo, se você definir SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE' em uma tabela, o Snowflake vai ignorar a tabela ao classificar automaticamente o banco de dados da tabela.

Você pode definir a tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION em um esquema, tabela ou coluna para controlar quais dados serão excluídos da classificação automática de dados confidenciais.

Definir tag em um esquema

Quando um perfil de classificação é definido em um banco de dados, todos os esquemas no banco de dados são classificados durante a classificação automática de dados. Você pode definir a tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION em um esquema no banco de dados para excluí-lo do processo de classificação.

Por exemplo, suponha que você queira classificar automaticamente todos os esquemas em um banco de dados, exceto o esquema internal. Você pode executar o comando ALTER SCHEMA para definir a tag definida pelo sistema no esquema:

ALTER SCHEMA internal SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Copy

Quando o Snowflake classifica automaticamente os dados no banco de dados, ele ignora os dados no esquema internal.

Para os requisitos de controle de acesso para definir a tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION, consulte Requisitos de controle de acesso.

Definir tag em uma tabela

Quando um perfil de classificação é definido em um banco de dados ou esquema, todas as tabelas nesse objeto são classificadas durante a classificação automática de dados. Você pode definir a tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION em uma tabela no banco de dados ou esquema para excluí-la do processo de classificação.

Por exemplo, suponha que você queira classificar automaticamente todas as tabelas em um banco de dados, exceto a tabela my_table. Você pode executar o comando ALTER TABLE para definir a tag definida pelo sistema na tabela:

ALTER TABLE my_table SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Copy

Quando o Snowflake classifica automaticamente os dados no banco de dados, ele ignora os dados na tabela my_table.

Definir tag em uma coluna

Você pode querer classificar automaticamente algumas colunas de uma tabela, mas não todas. Você pode definir a tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION em uma coluna para que o Snowflake a ignore ao classificar o restante da tabela. Se você excluir uma coluna, o resultado da classificação conterá um valor vazio para a coluna, mesmo que ela contenha dados confidenciais.

Por exemplo, suponha que você queira classificar automaticamente todas as colunas de uma tabela, exceto a coluna employee_id. Você pode executar o comando ALTER TABLE … ALTER COLUMN para definir a tag definida pelo sistema na coluna:

ALTER TABLE my_table ALTER COLUMN employee_id
  SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Copy

Quando o Snowflake classifica automaticamente os dados na tabela, o campo employee_id no resultado JSON fica vazio.

Definir perfil de classificação

Um perfil de classificação contém as configurações que controlam como o Snowflake classifica automaticamente os dados em um banco de dados ou esquema. Essas configurações são especificadas usando pares chave-valor em um OBJECT.

Você deve definir a chave enable_tag_based_sensitive_data_exclusion do perfil de classificação se desejar que os dados sejam excluídos da classificação automática. Se você não definir o valor dessa chave como true, definir SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION em objetos não terá efeito.

A seguir, veja um exemplo de um perfil de classificação que, quando definido em um banco de dados, exclui objetos devidamente marcados da classificação automática:

CREATE OR REPLACE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE
  my_classification_profile(
    {
      'minimum_object_age_for_classification_days': 0,
      'maximum_classification_validity_days': 30,
      'auto_tag': true,
      'enable_tag_based_sensitive_data_exclusion': true
    });
Copy

Usar um método para definir a chave de um perfil de classificação

Se você já tiver um perfil de classificação, poderá chamar o método SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION para definir a chave enable_tag_based_sensitive_data_exclusion do perfil.

Para excluir objetos marcados com SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION, chame o método com o argumento definido como true. Por exemplo, para permitir que dados sejam excluídos da classificação de um banco de dados que tenha my_classification_profile definido, execute o seguinte comando:

CALL my_classification_profile!SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION(true);
Copy

Para desabilitar a exclusão de dados confidenciais com base em tags para um perfil de classificação, execute o comando com o argumento definido como false:

CALL my_classification_profile!SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION(false);
Copy

Requisitos de controle de acesso

As seções a seguir descrevem as funções e os privilégios necessários para excluir objetos da classificação automática de dados:

Requisitos para definir a tag

A função de banco de dados SNOWFLAKE.CLASSIFICATION_ADMIN é necessária para criar um perfil de classificação. Essa mesma função de banco de dados é necessária para definir a tag de sistema SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION em um esquema, tabela ou coluna. Sem privilégios adicionais, um usuário com a função de banco de dados SNOWFLAKE.CLASSIFICATION_ADMIN só pode definir a tag do sistema nos objetos de sua propriedade.

Por exemplo, para permitir que usuários com a função classify_admin definam a tag SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION em objetos de sua propriedade, execute o seguinte comando:

GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE classify_admin;
Copy

Se você quiser que um administrador possa definir a tag do sistema SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION em qualquer objeto, não apenas nos que ele tem, execute os seguintes comandos:

GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE classify_admin;
GRANT APPLY TAG ON ACCOUNT TO ROLE classify_admin;
Copy

Requisitos para configurar o perfil de classificação

Você deve ter a função de instância PRIVACY_USER no perfil de classificação para definir a chave enable_tag_based_sensitive_data_exclusion do perfil de classificação.