SYSTEM$CLASSIFY¶
Classifie l’objet spécifié avec la possibilité de spécifier le nombre de lignes à échantillonner et d’attribuer la balise recommandée du système pour la classification des données sensibles <label-classification_system_tags> à chaque colonne de l’objet spécifié.
Syntaxe¶
SYSTEM$CLASSIFY( '<object_name>' ,
{ '<classification_profile>' | <options> } )
Arguments¶
'object_name'
Le nom de la table, de la table externe, de la vue ou de la vue matérialisée contenant les colonnes à classifier. Si une base de données et un schéma ne sont pas utilisés dans la session en cours, le nom doit être entièrement qualifié.
Le nom doit être spécifié exactement comme il est stocké dans la base de données. Si le nom contient des caractères spéciaux, des majuscules ou des espaces vides, il doit être placé d’abord entre guillemets doubles, puis entre guillemets simples.
'classification_profile'
Spécifie un profil de classification afin d’effectuer une classification sur la base des critères spécifiés dans le profil.
options
Spécifie un OBJECT JSON qui détermine comment fonctionne le processus de classification. Un des éléments suivants :
NULL
Snowflake utilise sa configuration par défaut en fonction du nombre de lignes dans l’objet spécifié. Les balises système ne sont définies sur aucune colonne de l’objet spécifié.
{}
Un objet vide, qui équivaut fonctionnellement à spécifier
NULL
.{'sample_count': integer}
Spécifie le nombre de lignes à échantillonner dans l’objet spécifié. Tout nombre compris entre
1
et10000
inclus.{'auto_tag': true}
Définit les balises du système de classification recommandé sur les colonnes de l’objet spécifié lorsque le processus de classification est terminé.
Lorsque vous utilisez cet argument, appelez la procédure stockée avec le rôle qui dispose du privilège OWNERSHIP sur le schéma.
{'sample_count': integer, 'auto_tag': true}
Classifiez l’objet spécifié en spécifiant le nombre de lignes à échantillonner et définissez la balise système recommandée sur chaque colonne de l’objet spécifié lorsque le processus de classification est terminé.
Lorsque vous utilisez cet argument, appelez la procédure stockée avec le rôle qui dispose du privilège OWNERSHIP sur le schéma.
{'use_all_custom_classifiers': true}
Snowflake évalue toutes les instances de classification personnalisées et recommande la balise associée à une instance de classification personnalisée en fonction du résultat de la classification.
Cette option utilise les classificateurs personnalisés accessibles au rôle utilisé qui appelle la procédure stockée (rôle actuel, droits de l’appelant). Pour plus d’informations, voir Présentation des procédures stockées des droits de l’appelant et des droits du propriétaire.
{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}
Spécifie l’instance de classification personnalisée à évaluer comme source pour la balise recommandée à définir sur la colonne.
Vous pouvez spécifier plusieurs instances dans la liste et séparer chaque instance par une virgule.
Renvoie¶
Renvoie un objet JSON dans le format suivant. Par exemple :
{
"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
}
}
}
Où :
classification_profile_config
Si la classification automatique est configurée, contient le nom complet du profil de configuration qui a été utilisé pour générer les résultats de la classification.
classification_result
Fournit des détails sur chaque colonne qui a été classée.
alternates
Fournit des informations sur chaque balise et valeur à prendre en compte autre que la balise recommandée.
recommendation
Fournit des informations sur chaque balise et valeur en tant que premier choix basé sur le processus de classification.
Ces valeurs peuvent apparaître à la fois dans les alternatives et dans la recommandation :
classifier_name
Nom complet de l’instance de classification personnalisée utilisée pour baliser la colonne classifiée.
Ce champ n’apparaît que lorsqu’une instance de classification personnalisée est utilisée comme source de la balise à définir sur une colonne.
confidence
Fournit l’une des valeurs suivantes :
HIGH
,MEDIUM
ouLOW
. Cette valeur indique la confiance relative que Snowflake a sur la base du processus d’échantillonnage de la colonne et la façon dont les données de la colonne s’alignent sur la manière dont Snowflake classifie les données.coverage
Fournit le pourcentage de valeurs de cellules échantillonnées qui correspondent aux règles d’une catégorie particulière.
details
Fournit les champs et les valeurs qui font référence à une valeur de balise géographique pour la balise SEMANTIC_CATEGORY.
privacy_category
Fournit la valeur de la balise de catégorie de confidentialité.
Les valeurs possibles sont
IDENTIFIER
,QUASI-IDENTIFIER
etSENSITIVE
.semantic_category
Fournit la valeur de la balise de la catégorie sémantique.
Pour connaître les valeurs possibles des balises, voir Balises système et catégories et Balises système et catégories.
tags
Fournit des informations sur les balises qui ont été appliquées à la colonne à la suite du processus de classification.
valid_value_ratio
Fournit le ratio des valeurs valides dans la taille de l’échantillon. Les valeurs non valides incluent NULL, une chaîne vide et une chaîne de plus de 256 caractères.
Notes sur l’utilisation¶
Les procédures stockées fournies par Snowflake utilisent les droits de l’appelant. Pour plus de détails, voir Présentation des procédures stockées des droits de l’appelant et des droits du propriétaire.
Si vous souhaitez appliquer d’autres valeurs de balises système, utilisez une instruction ALTER TABLE … MODIFY COLUMN … SET TAG pour mettre à jour la valeur de la balise.
Pour supprimer une balise du système de classification d’une colonne, utilisez une instruction ALTER TABLE … MODIFY COLUMN … UNSET TAG.
Exemples¶
Classifier une table :
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', null);
Classifier une table et spécifiez le nombre de lignes à échantillonner :
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000});
Classifier une table et attribuez des balises système aux colonnes :
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'auto_tag': true});
Classifier une table, indiquer le nombre de lignes à échantillonner et attribuer la balise système recommandée à chaque colonne de la table :
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});
Classer une table en fonction des critères spécifiés dans le profil de configuration my_config_profile
:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info, 'my_config_profile');