SYSTEM$CLASSIFY¶
Classifica o objeto especificado com a opção de especificar o número de linhas a serem amostradas e atribuir a cada coluna do objeto a tag de sistema recomendada do sistema de classificação de dados confidenciais.
Sintaxe¶
SYSTEM$CLASSIFY( '<object_name>' ,
{ '<classification_profile>' | <options> } )
Argumentos¶
'object_name'
O nome da tabela, tabela externa, exibição ou exibição materializada contendo as colunas a serem classificadas. Se um banco de dados e esquema não estiverem em uso na sessão atual, o nome deve ser totalmente qualificado.
O nome deve ser especificado exatamente como está armazenado no banco de dados. Se o nome contiver caracteres especiais, letras maiúsculas ou espaços em branco, o nome deve ser incluído primeiro em aspas duplas e depois em aspas simples.
'classification_profile'
Especifica um perfil de classificação para classificar com base nos critérios especificados no perfil.
options
Especifica um OBJECT JSON que determina como o processo de classificação funciona. Um dos seguintes:
NULL
O Snowflake usa sua configuração padrão com base no número de linhas no objeto especificado. As tags do sistema não são definidas em nenhuma coluna do objeto especificado.
{}
Um objeto vazio, que é funcionalmente equivalente a especificar
NULL
.{'sample_count': integer}
Especifica o número de linhas a serem amostradas no objeto especificado. Qualquer número de
1
a10000
, inclusive.{'auto_tag': true}
Define as tags do sistema de classificação recomendadas nas colunas do objeto especificado quando o processo de classificação for concluído.
Ao usar esse argumento, chame o procedimento armazenado com a função que possui o privilégio OWNERSHIP no esquema.
{'sample_count': integer, 'auto_tag': true}
Classifique o objeto especificado enquanto especifica o número de linhas para amostra e defina a tag do sistema recomendada em cada coluna do objeto especificado quando o processo de classificação for concluído.
Ao usar esse argumento, chame o procedimento armazenado com a função que possui o privilégio OWNERSHIP no esquema.
{'use_all_custom_classifiers': true}
Snowflake avalia todas as instâncias de classificação personalizada e recomenda a tag associada a uma instância de classificação personalizada com base no resultado da classificação.
Esta opção utiliza os classificadores personalizados acessíveis à função em uso que chama o procedimento armazenado (função atual, direitos do chamador). Para obter mais informações, consulte Procedimentos armazenados com direitos do chamador e direitos do proprietário.
{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}
Especifica a instância de classificação personalizada a ser avaliada como origem da tag recomendada a ser definida na coluna.
Você pode especificar diversas instâncias na lista e separar cada instância com uma vírgula.
Retornos¶
Retorna um objeto JSON no seguinte formato. Por exemplo:
{
"classification_profile_config": {
"classification_profile_name": "db1.sch.sensitive_data_detection_profile"
},
"classification_result": {
"col1_name": {
"alternates": [],
"recommendation": {
"confidence": "HIGH",
"coverage": 1,
"details": [],
"privacy_category": "QUASI_IDENTIFIER",
"semantic_category": "DATE_OF_BIRTH",
"tags": [
{
"tag_applied": true,
"tag_name": "snowflake.core.semantic_category",
"tag_value": "DATE_OF_BIRTH"
},
{
"tag_applied": true,
"tag_name": "snowflake.core.privacy_category",
"tag_value": "QUASI_IDENTIFIER"
}
]
},
"valid_value_ratio": 1
}
}
}
Onde:
classification_profile_config
Se a classificação automática estiver configurada, contém o nome totalmente qualificado do perfil de configuração que foi usado para gerar os resultados da classificação.
classification_result
Fornece detalhes sobre cada coluna que foi classificada.
alternates
Fornece informações sobre cada tag e valores a serem considerados além da tag recomendada.
recommendation
Fornece informações sobre cada tag e valor como a escolha principal com base no processo de classificação.
Esses valores podem aparecer tanto nas alternativas quanto na recomendação:
classifier_name
O nome completo da instância de classificação personalizada que foi usada para marcar a coluna classificada.
Este campo só aparece ao usar uma instância de classificação personalizada como origem da tag a ser definida em uma coluna.
confidence
Fornece um dos seguintes valores:
HIGH
,MEDIUM
ouLOW
. Este valor indica a confiança relativa que o Snowflake tem com base no processo de amostragem da coluna e como os dados da coluna se alinham com a forma como o Snowflake classifica os dados.coverage
Fornece a porcentagem de valores de células amostradas que correspondem às regras de uma determinada categoria.
details
Fornece os campos e valores que se referem a um valor de tag geográfica para a tag SEMANTIC_CATEGORY.
privacy_category
Fornece o valor da tag de categoria de privacidade.
Os valores possíveis são
IDENTIFIER
,QUASI-IDENTIFIER
eSENSITIVE
.semantic_category
Fornece o valor da tag de categoria semântica.
Para possíveis valores de tag, consulte Tags de sistema e categorias e Tags de sistema e categorias.
tags
Fornece informações sobre as tags que foram aplicadas à coluna como resultado do processo de classificação.
valid_value_ratio
Fornece a proporção de valores válidos no tamanho da amostra. Valores inválidos incluem NULL, uma cadeia de caracteres vazia e uma cadeia de caracteres com mais de 256 caracteres.
Notas de uso¶
Os procedimentos armazenados fornecidos pelo Snowflake utilizam os direitos do chamador. Para obter mais detalhes, consulte Procedimentos armazenados com direitos do chamador e direitos do proprietário.
Se você quiser aplicar valores alternativos de tag do sistema, use uma instrução ALTER TABLE … MODIFY COLUMN … SET TAG para atualizar o valor da tag.
Para remover uma tag do sistema de classificação de uma coluna, use uma instrução ALTER TABLE … MODIFY COLUMN … UNSET TAG.
Exemplos¶
Classifique uma tabela:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', null);
Classifique uma tabela e especifique o número de linhas para amostragem:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000});
Classifique uma tabela e defina as tags do sistema para as colunas:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'auto_tag': true});
Classifique uma tabela e especifique o número de linhas para amostragem e defina a tag de sistema recomendada para cada coluna da tabela:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});
Classifique uma tabela com base nos critérios especificados no perfil de configuração my_config_profile
:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info, 'my_config_profile');