Introdução à classificação

Este tópico fornece informações sobre como funciona a classificação.

Neste tópico:

Visão geral

A classificação é um processo de múltiplas etapas que associa tags definidas pelo Snowflake (ou seja, tags de sistema) às colunas analisando as células e metadados quanto a dados pessoais; estes dados podem agora ser rastreados por um engenheiro de dados.

Com base nas informações de rastreamento e processos de auditoria relacionados, o engenheiro de dados pode proteger a coluna contendo dados pessoais ou sensíveis com uma política de mascaramento ou a tabela contendo esta coluna com uma política de acesso a linhas.

O resultado geral das etapas de classificação e proteção de dados é facilitar o cumprimento dos regulamentos de privacidade de dados.

Processo

Esta seção explica como funciona o processo de classificação em três etapas. Você pode repetir este processo quantas vezes for necessário, como após inserir novas linhas em uma tabela ou adicionar novas colunas a uma tabela.

A classificação simplifica um processo em três etapas: analisar, revisar e aplicar. Cada uma dessas etapas tem operações diferentes:

Analisar

O engenheiro de dados chama a função EXTRACT_SEMANTIC_CATEGORIES na conta Snowflake. Esta função analisa as colunas em uma tabela e produz as possíveis categorias e metadados associados. Para obter mais detalhes, consulte Interpretação da saída (neste tópico).

Nota

Definições complexas de exibição, tais como exibições que exijam operações JOIN em múltiplos objetos, podem retardar o processo de análise. Antes de classificar uma exibição complexa, considere o warehouse em uso. Para obter mais detalhes, consulte Custos computacionais (neste tópico).

Revisar

Na etapa de revisão, o engenheiro de dados revisa os resultados da categoria para garantir que os resultados das operações da etapa de análise façam sentido. Se nenhuma revisão for necessária, o engenheiro de dados pode prosseguir para a etapa de aplicação.

Se forem necessárias revisões, o engenheiro de dados pode rever o resultado da etapa de análise antes de passar para a etapa de aplicação.

Para obter mais detalhes, consulte Interpretação da saída (neste tópico).

Aplicar

A etapa de aplicação tem uma operação: atribuir a tag do sistema.

O engenheiro de dados pode definir manualmente uma tag do sistema em uma coluna ou chamar o procedimento armazenado ASSOCIATE_SEMANTIC_CATEGORY_TAGS.

Após atribuir as tags do sistema, o engenheiro de dados pode então rastrear a tag do sistema e proteger os dados pessoais ou sensíveis com uma política de mascaramento ou uma política de acesso a linhas.

Para obter exemplos detalhados deste processo, consulte Uso da classificação de dados.

Tags de sistema e categorias

As tags do sistema são tags que o Snowflake cria, mantém e disponibiliza no banco de dados SNOWFLAKE compartilhado. Existem duas tags de sistema de classificação, ambas delas estão no esquema SNOWFLAKE.CORE:

  • SNOWFLAKE.CORE.SEMANTIC_CATEGORY

  • SNOWFLAKE.CORE.PRIVACY_CATEGORY

O engenheiro de dados atribui estas tags a uma coluna contendo dados pessoais ou sensíveis.

Valores da cadeia de caracteres.

Snowflake armazena a atribuição de uma tag de sistema em uma coluna como um par chave-valor, onde o valor é uma cadeia de cadeia de caracteres. Snowflake define os valores de cadeia de caracteres permitidos para cada tag do sistema de classificação porque o Snowflake mantém cada uma dessas tags do sistema.

Os nomes das tags SEMANTIC_CATEGORY e PRIVACY_CATEGORY correspondem às categorias de classificação que Snowflake atribui aos dados da coluna durante o processo de amostragem da coluna (ou seja, os nomes das tags e os nomes das categorias usam as mesmas palavras):

Categoria semântica

A categoria semântica identifica os atributos pessoais.

Uma lista não exaustiva de atributos pessoais suportada pela classificação incluem nome, idade e sexo. Estes três atributos são possíveis valores de cadeia de caracteres ao atribuir a tag SEMANTIC_CATEGORY a uma coluna.

A classificação pode detectar informações de diferentes países, como Austrália, Canadá e Reino Unido. Por exemplo, se a coluna da sua tabela contiver informações sobre números de telefone, o processo de análise poderá diferenciar os diferentes valores de números de telefone de cada um desses países. Para obter uma lista completa dos valores internacionais suportados, consulte Tags do sistema com valores de tags internacionais (neste tópico).

Categoria de privacidade

Se a análise determinar que os dados da coluna correspondem a uma categoria semântica, Snowflake classifica ainda mais a coluna a uma categoria de privacidade. A categoria de privacidade tem três valores: identificador, quase identificador ou sensível. Estes três valores são os valores de cadeia de caracteres que podem ser especificados ao atribuir a tag do sistema de classificação PRIVACY_CATEGORY a uma coluna.

  • Identificador: estes atributos identificam de forma única um indivíduo. Os exemplos de atributos incluem nome, número de previdência social e número de telefone.

    Os atributos de identificadores são sinônimos de identificadores diretos.

  • Quase identificador: estes atributos podem identificar de forma única um indivíduo quando dois ou mais destes atributos são combinados. Os atributos de exemplo incluem idade e sexo.

    Os quase identificadores são sinônimos de identificadores indiretos.

  • Sensível: estes atributos não são considerados suficientes para identificar uma pessoa, mas são informações que a pessoa prefere não revelar por razões de privacidade.

    Atualmente, o único atributo que Snowflake avalia como sensível é o salário.

A tabela a seguir resume a relação entre cada categoria de classificação e tag do sistema, os valores de cadeia de caracteres permitidos para cada tag do sistema de classificação. As linhas desta tabela indicam suporte para categorias que não possuem valores internacionais.

Valores do rótulo da PRIVACY_CATEGORY

Valores do rótulo da SEMANTIC_CATEGORY

IDENTIFIER

  • EMAIL

  • IBAN

  • IMEI

  • IP_ADDRESS

  • VIN

  • NAME

  • PAYMENT_CARD

  • URL

QUASI_IDENTIFIER

  • AGE

  • GENDER

  • COUNTRY

  • DATE_OF_BIRTH

  • ETHNICITY

  • LATITUDE

  • LAT_LONG

  • LONGITUDE

  • MARITAL_STATUS

  • OCCUPATION

  • YEAR_OF_BIRTH

SENSITIVE

  • SALARY

Nota

Vários valores da cadeia de caracteres do tag semântico de todas as três categorias de privacidade podem ser consideradas “dados pessoais sensíveis”, “categorias especiais de dados”, ou termos similares sob certas leis e normas, e podem exigir proteções ou controles adicionais.

Atualmente, a classificação não marca os dados de coluna como sensíveis e de identificação. Em outras palavras, ao definir a tag do sistema em uma determinada coluna, você deve escolher a tag SEMANTIC_CATEGORY ou PRIVACY_CATEGORY.

Tags do sistema com valores de tags internacionais

Snowflake oferece suporte a valores de tag SEMANTIC_CATEGORY internacionais pertencentes à Austrália, Canadá, Nova Zelândia, Suíça, Reino Unido e Estados Unidos. Para oferecer suporte a esses países, os valores das tags correspondem a determinados grupos de categorias principais. Uma categoria principal contém informações sobre o resultado da classificação, incluindo se a coluna consiste principalmente em valores de um país ou de outro.

A tabela a seguir resume o relacionamento entre as tags de classificação, grupos de categorias e membros de grupos e países com suporte. Os códigos de país são baseados no padrão ISO-3166-1alfa-2. Outras categorias semânticas, como EMAIL e GENDER, não são afetadas. Para rastrear informações internacionais, o engenheiro de dados usa o valor na coluna Valores de tag SEMANTIC_CATEGORY ao definir uma tag do sistema em uma coluna.

Valores de tag PRIVACY_CATEGORY

Valores de tag SEMANTIC_CATEGORY (grupo principal)

Membros do grupo

Código do país

IDENTIFIER

BANK_ACCOUNT

  • CA_BANK_ACCOUNT

  • NZ_BANK_ACCOUNT

  • US_BANK_ACCOUNT

  • IBAN

  • CA

  • NZ

  • US

ORGANIZATION_IDENTIFIER

  • AU_BUSINESS_NUMBER

  • AU_COMPANY_NUMBER

  • SG_UNIQUE_ENTITY_NUMBER

  • AU

  • AU

  • SG

DRIVERS_LICENSE

  • AU_DRIVERS_LICENSE

  • CA_DRIVERS_LICENSE

  • US_DRIVERS_LICENSE

  • AU

  • CA

  • US

MEDICARE_NUMBER

  • AU_MEDICARE_NUMBER

  • NZ_NHI_NUMBER

  • AU

  • NZ

PASSPORT

  • AU_PASSPORT

  • CA_PASSPORT

  • NZ_PASSPORT

  • SG_PASSPORT

  • US_PASSPORT

  • AU

  • CA

  • NZ

  • SG

  • US

PHONE_NUMBER

  • AU_PHONE_NUMBER

  • CA_PHONE_NUMBER

  • UK_PHONE_NUMBER

  • US_PHONE_NUMBER

  • AU

  • CA

  • GB

  • US

STREET_ADDRESS

  • CA_STREET_ADDRESS

  • US_STREET_ADDRESS

  • CA

  • US

TAX_IDENTIFIER

  • AU_TAX_NUMBER

  • NZ_INLAND_REVENUE_NUMBER

  • AU

  • NZ

NATIONAL_IDENTIFIER

  • CA_SOCIAL_INSURANCE_NUMBER

  • UK_NATIONAL_INSURANCE_NUMBER

  • SG_NATIONAL_REGISTRATION_IDENTITY_CARD

  • US_SSN

  • CA

  • GB

  • SG

  • US

QUASI_IDENTIFIER

CITY

  • CA_CITY

  • NZ_CITY

  • US_CITY

  • CA

  • NZ

  • US

POSTAL_CODE

  • AU_POSTAL_CODE

  • CA_POSTAL_CODE

  • CH_POSTAL_CODE

  • NZ_POSTAL_CODE

  • UK_POSTAL_CODE

  • US_POSTAL_CODE

  • AU

  • CA

  • CH

  • NZ

  • GB

  • US

ADMINISTRATIVE_AREA_1

  • CA_PROVINCE_OR_TERRITORY

  • NZ_REGION

  • US_STATE_OR_TERRITORY

  • CA

  • NZ

  • US

ADMINISTRATIVE_AREA_2

  • US_COUNTY

  • US

Interpretação da saída

A seguir, um exemplo simplificado de Classificação de uma única tabela mostrado em Uso da classificação de dados:

  1. Crie uma tabela:

    CREATE OR REPLACE TABLE hr_data (
        age INTEGER,
        email_address VARCHAR,
        fname VARCHAR,
        lname VARCHAR
        );
    
    Copy
  2. Carregar os dados na tabela e, em seguida, chamar a função EXTRACT_SEMANTIC_CATEGORIES:

    INSERT INTO hr_data (fname, lname, age, email_address) 
        VALUES 
            ('Thomas',    'Smith',   44, 'TS_NoAdvertising@SpamFilter.com'),
            ('Katherine', 'Lee',     29, 'KL_JunkMailFolder@GatingEmail.com'),
            ('Lisa',      'Curie',   29, 'LC_03@GatingEmail.com'),
            ('Albert',    'Meitner', 14, 'AM_bucket@GatingEmail.com'),
            ('Horace',    'Jones',   53, 'HJ_track@SpamFilter.com'),
            ('Natalia',   'Chavez',  38, 'NataliaC@DoNotTrack.org');
    
    Copy
    USE ROLE data_engineer;
    
    SELECT EXTRACT_SEMANTIC_CATEGORIES('hr_data');
    
    Copy
  3. Avalie a saída padrão. Por exemplo:

    +-----------------------------------------------+                               
    | EXTRACT_SEMANTIC_CATEGORIES('HR_DATA')        |
    |-----------------------------------------------|
    | {                                             |
    |   "AGE": {                                    |
    |     "alternates": [],                         |
    |     "recommendation": {                       |
    |       "confidence": "HIGH",                   |
    |       "coverage": 1,                          |
    |       "details": [],                          |
    |       "privacy_category": "QUASI_IDENTIFIER", |
    |       "semantic_category": "AGE"              |
    |     },                                        |
    |     "valid_value_ratio": 1                    |
    |   },                                          |
    |   "EMAIL_ADDRESS": {                          |
    |     "alternates": [],                         |
    |     "recommendation": {                       |
    |       "confidence": "HIGH",                   |
    |       "coverage": 1,                          |
    |       "details": [],                          |
    |       "privacy_category": "IDENTIFIER",       |
    |       "semantic_category": "EMAIL"            |
    |     },                                        |
    |     "valid_value_ratio": 1                    |
    |   },                                          |
    |   "FNAME": {                                  |
    |     "alternates": [],                         |
    |     "recommendation": {                       |
    |       "confidence": "HIGH",                   |
    |       "coverage": 1,                          |
    |       "details": [],                          |
    |       "privacy_category": "IDENTIFIER",       |
    |       "semantic_category": "NAME"             |
    |     },                                        |
    |     "valid_value_ratio": 1                    |
    |   },                                          |
    |   "LNAME": {                                  |
    |     "alternates": [],                         |
    |     "recommendation": {                       |
    |       "confidence": "HIGH",                   |
    |       "coverage": 1,                          |
    |       "details": [],                          |
    |       "privacy_category": "IDENTIFIER",       |
    |       "semantic_category": "NAME"             |
    |     },                                        |
    |     "valid_value_ratio": 1                    |
    |   }                                           |
    | }                                             |
    +-----------------------------------------------+
    

    Use a função de tabela FLATTEN para melhorar a legibilidade:

    SELECT
        f.key::varchar as column_name,
        f.value:"recommendation":"privacy_category"::varchar as privacy_category,  
        f.value:"recommendation":"semantic_category"::varchar as semantic_category,
        f.value:"recommendation":"confidence"::varchar as confidence,
        f.value:"recommendation":"coverage"::number(10,2) as coverage,
        f.value:"details"::variant as details,
        f.value:"alternates"::variant as alternates
      FROM
      TABLE(FLATTEN(EXTRACT_SEMANTIC_CATEGORIES('hr_data')::VARIANT)) AS f;
    
    Copy
    +---------------+------------------+-------------------+------------+----------+---------+------------+
    | COLUMN_NAME   | PRIVACY_CATEGORY | SEMANTIC_CATEGORY | CONFIDENCE | COVERAGE | DETAILS | ALTERNATES |
    |---------------+------------------+-------------------+------------+----------+---------+------------|
    | AGE           | QUASI_IDENTIFIER | AGE               | HIGH       |     1.00 | NULL    | []         |
    | EMAIL_ADDRESS | IDENTIFIER       | EMAIL             | HIGH       |     1.00 | NULL    | []         |
    | FNAME         | IDENTIFIER       | NAME              | HIGH       |     1.00 | NULL    | []         |
    | LNAME         | IDENTIFIER       | NAME              | HIGH       |     1.00 | NULL    | []         |
    +---------------+------------------+-------------------+------------+----------+---------+------------+
    

Objetos e tipos de dados de coluna com suporte

O Snowflake oferece suporte à classificação de dados armazenados em todos os tipos de tabelas e exibições, incluindo tabelas externas, exibições materializadas e exibições seguras.

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

  • GEOGRAPHY

  • BINARY

  • VARIANT

    Observe que você pode classificar uma coluna com o tipo de dados VARIANT quando o tipo de dados de coluna puder ser convertido em um tipo de dados NUMBER ou STRING. O Snowflake não classifica a coluna se a coluna contém JSON, XML ou outros dados semiestruturados.

Se uma tabela tiver colunas com um tipo de dados sem suporte, ou a coluna tiver todos os valores NULL, o processo de classificação ignora as colunas e não as inclui no resultado.

Importante

Se seus dados representarem valores NULL com um valor diferente de NULL, a precisão dos resultados da classificação pode ser impactada.

Custos computacionais

O processo de classificação requer recursos computacionais que são fornecidos pelo warehouse que está em uso e em execução quando a classificação é realizada.

O tempo necessário para classificar os dados em uma tabela/exibição (e, portanto, o número de créditos consumidos pelo warehouse) é uma função da quantidade de dados a serem classificados.

Em particular, se uma tabela/exibição tiver um grande número de colunas compatíveis com a classificação, o tempo de processamento pode ser impactado. No entanto, como regra geral, a velocidade de processamento é proporcional ao tamanho do warehouse. Em outras palavras, cada aumento de tamanho de um warehouse (por exemplo, e X-small para Small) normalmente reduz o tempo de processamento pela metade.

Use as seguintes diretrizes gerais para selecionar um tamanho de warehouse:

  • Sem preocupação com o tempo de processamento: warehouse X-Small.

  • Até 100 colunas em uma tabela: warehouse Small.

  • 101 a 300 colunas em uma tabela: warehouse Medium.

  • 301 colunas ou mais em uma tabela: warehouse Large.

Benefícios

A classificação proporciona os seguintes benefícios aos administradores de privacidade e governança de dados:

Acesso aos dados

Os resultados da classificação dos dados da coluna podem dar informações aos administradores de identidade e de acesso para avaliar e manter suas hierarquias de funções do Snowflake para garantir que as funções do Snowflake tenham o acesso apropriado a dados sensíveis ou PII.

Compartilhamento de dados

O processo de classificação pode ajudar a identificar e confirmar o local de armazenamento dos dados PII. Posteriormente, um provedor de compartilhamento de dados pode usar os resultados da classificação para determinar se deve compartilhar dados e como disponibilizar os dados PII a um consumidor que compartilha dados.

Aplicação da política

O uso de colunas contendo dados PII, tais como colunas de referência em tabelas de base para criar uma exibição ou exibição materializada, pode ajudar a determinar a melhor abordagem para proteger os dados com uma política de mascaramento ou uma política de acesso a linhas.

Recomendações

Para aproveitar o recurso de classificação e otimizar seus recursos de rastreamento de dados PII, faça o seguinte:

Validação

Consulte primeiro as exibições do Account Usage:

  • ACCESS_HISTORY: determinar os objetos de exibição e tabela que são acessados com mais frequência.

  • OBJECT_DEPENDENCIES: determinar referências de metadados entre dois ou mais objetos.

Use os resultados da consulta para priorizar a atribuição das tags do sistema de classificação em nível de esquema ou de banco de dados.

Nomes de coluna

Use nomes sensíveis de colunas em seus objetos de tabela e treine os criadores de tabelas para aderir às diretrizes de criação de tabelas internas.

Tipos de dados

Use tipos de dados sensíveis para as colunas. Por exemplo, uma coluna AGE deve ter o tipo de dados NUMBER.

VARIANT

Se uma coluna tiver um tipo de dados VARIANT, use o comando FLATTEN na coluna antes de classificar a tabela.

Verificar

Salve os resultados da chamada da função EXTRACT_SEMANTIC_CATEGORIES em uma tabela temporária e verifique novamente os resultados antes de atribuir as tags do sistema de classificação.

Após atribuir as tags do sistema, consulte as exibições TAG_REFERENCES e COLUMNS do Account Usage para inspecionar colunas que não foram classificadas.

Por exemplo, conceda a função do banco de dados GOVERNANCE_VIEWER à função personalizada data_engineer e execute estas instruções:

use role accountadmin;

grant database role governance_viewer to role data_engineer;

use role data_engineer;

select table_name,
       table_catalog
from snowflake.account_usage.columns c
  where not exists(
    select * from snowflake.account_usage.tag_references t
    where c.column_id = t.column_id
  )
  and deleted is null
order by table_catalog;
Copy

Use os resultados da consulta para determinar quais catálogos de tabelas (ou seja, bancos de dados) são mais importantes para verificar e priorizar a classificação das tabelas.

Registros

Crie um registro histórico dos resultados da chamada da função EXTRACT_SEMANTIC_CATEGORIES e os resultados da atribuição das tags do sistema de classificação.

Warehouse

Utilize o tamanho adequado do warehouse ao classificar os dados. Para obter mais detalhes, consulte Custos computacionais (neste tópico).

Gerenciamento de classificação

Referência de privilégios

Esta tabela resume os privilégios mínimos necessários para as etapas de análise e revisão de classificação:

Privilégio

Objeto

Notas

USAGE

Banco de dados e esquema

Este privilégio é necessário para que o banco de dados principal e o esquema da tabela que contém as colunas possam ser classificados.

SELECT , UPDATE

Tabela

O privilégio SELECT permite consultar uma tabela, que é necessária para classificar os dados da coluna e para chamar a função EXTRACT_SEMANTIC_CATEGORIES.

O privilégio UPDATE permite chamar o procedimento armazenado ASSOCIATE_SEMANTIC_CATEGORY_TAGS para aplicar automaticamente os resultados da classificação às colunas em uma tabela.

Os privilégios necessários para a etapa aplicar, em especial definir a tag do sistema*, na classificação, dependem da abordagem escolhida. Atualmente, há três opções:

  • Use a função do banco de dados GOVERNANCE_ADMIN.

  • Conceda IMPORTED PRIVILEGES a uma função personalizada.

  • Use a função ACCOUNTADMIN.

Função de banco de dados

A abordagem da função do banco de dados utiliza a função do banco de dados GOVERNANCE_ADMIN para definir uma tag do sistema de classificação em uma coluna de tabela. Além disso, o engenheiro de dados tem o privilégio global APPLY TAG de colocar tags em objetos que não possuem.

Para fazer isso:

  1. Conceda a função de banco de dados GOVERNANCE_ADMIN a uma função personalizada de sua escolha (por exemplo, data_engineer):

    use role accountadmin;
    grant database role snowflake.governance_admin to role data_engineer;
    grant apply tag on account to role data_engineer;
    
    Copy
  2. Atribua uma tag de sistema a uma coluna de tabela. Por exemplo, a coluna EMAIL na tabela chamada hr.tables.empl_info (ou seja, uma tabela de informações de funcionários no banco de dados de recursos humanos):

    use role data_engineer;
    
    alter table hr.tables.empl_info
      modify column email
      set tag snowflake.core.semantic_category = 'email';
    
    Copy

O uso da abordagem da função de banco de dados pode ajudar a satisfazer uma exigência do princípio de menos privilégios.

Função personalizada

A função personalizada (ou seja, a função em nível de conta que você cria) exige a concessão de dois privilégios a uma função de sua escolha. Por exemplo:

use role accountadmin;
grant imported privileges on database snowflake to role data_engineer;
grant apply tag on account to role data_engineer;
Copy

O resultado dessas duas instruções de concessão permite o acesso ao banco de dados compartilhado SNOWFLAKE e a definição de tags do sistema de classificação em qualquer coluna da tabela na conta. Um usuário com a função data_engineer pode então definir a tag do sistema de classificação em uma tabela, como mostrado na abordagem da função de banco de dados.

No entanto, as duas instruções de concessão nesta abordagem também permitem:

  • Acesso total para consultar todas as exibições no banco de dados SNOWFLAKE compartilhado.

  • Definir qualquer etiqueta na conta em qualquer objeto que possa ser marcado na conta.

Se a abordagem de função personalizada não satisfizer a exigência do princípio do privilégio mínimo, use a abordagem de função de banco de dados.

ACCOUNTADMIN

O uso da função ACCOUNTADMIN não requer nenhuma instrução de concessão adicional, no entanto a função ACCOUNTADMIN é a função mais privilegiada no Snowflake.

Se houver restrições para limitar o uso da função ACCOUNTADMIN em seus ambientes de produção, use a abordagem da função de banco de dados ou a abordagem da função personalizada.

Com relação à proteção de dados em coluna, os privilégios para atribuir uma política de mascaramento ou uma política de acesso a linhas podem ser concedidos à função data_engineer ou uma função diferente pode ser responsável pela atribuição das políticas. A abordagem que você adota dependerá de como seus administradores preferem conceder privilégios e administrar funções.

Para obter exemplos representativos, consulte Uso da classificação de dados.

Rastreamento de tags do sistema

O Snowflake fornece exibições e funções incorporadas para rastrear o uso da tag do sistema de classificação:

  • Para encontrar as colunas com uma tag de sistema em sua conta, consulte a exibição TAG_REFERENCES do Account Usage:

    SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.TAG_REFERENCES
        WHERE TAG_NAME = 'PRIVACY_CATEGORY'
        ORDER BY OBJECT_DATABASE, OBJECT_SCHEMA, OBJECT_NAME, COLUMN_NAME;
    
    Copy
  • Para encontrar as colunas com uma tag de sistema para uma tabela ou exibição em um banco de dados específico, chame a função de tabela TAG_REFERENCES do Information Schema:

    SELECT * FROM
      TABLE(
        my_db.information_schema.tag_references(
          'my_db.my_schema.hr_data.fname',
          'COLUMN'
        )
      )
    ;
    
    Copy
  • Para encontrar cada conjunto de tags em cada coluna de uma tabela ou exibição dentro de um banco de dados específico, chame a função de tabela TAG_REFERENCES_ALL_COLUMNS do Information Schema:

    select * from
      table(
        my_db.information_schema.tag_references_all_columns(
          'my_db.my_schema.hr_data',
          'table'
        )
      )
    ;
    
    Copy
  • Para encontrar um valor de tag específico para uma coluna, chame a função do sistema SYSTEM$GET_TAG:

    select system$get_tag(
      'snowflake.core.privacy_category',
      'hr_data.fname',
      'COLUMN'
      )
    ;
    
    Copy

Próximos tópicos: