Exclusion de données de la classification automatique des données sensibles¶
Grâce à la classification automatique des données sensibles, Snowflake classifie les données sensibles à intervalles réguliers, sans intervention de l’utilisateur. Cette fonctionnalité est activée en définissant un profil de classification, puis en le configurant sur la base de données qui contient les données que vous souhaitez classifier.
Vous pouvez utiliser les paramètres du profil de classification et des balises système pour exclure certaines données de la classification automatique.
Par exemple, supposons qu’une base de données my_db comporte trois tables t1, t2 et t3. Par défaut, lorsque vous configurez un profil de classification sur my_db, ces trois tables sont classées automatiquement. Vous pouvez configurer Snowflake pour ignorer t2 lors de la classification automatique, de sorte que seules les tables t1 et t3 soient classifiées.
Workflow¶
L’exclusion de données de la classification automatique des données sensibles est un processus en deux étapes :
Appliquez la balise SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur chaque objet que vous souhaitez exclure de la classification automatique des données sensibles. En savoir plus
Définissez la clé
enable_tag_based_sensitive_data_exclusiondu profil de classification surtrue. En savoir plus
Ce processus est appelé exclusion de données sensibles basée sur des balises.
Note
Après avoir appliqué la balise système et configuré le profil de classification, si vous appelez la procédure stockée SYSTEM$CLASSIFY et spécifiez le profil de classification, Snowflake exclut les objets balisés de la classification.
Configurer une balise sur des objets de données¶
Une balise d’objet est un objet qui peut être configuré sur un autre objet. Snowflake fournit une balise définie par le système, à savoir SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION, que vous pouvez configurer sur les objets que vous souhaitez exclure de la classification automatique des données sensibles. Lorsque la valeur de cette balise est TRUE, Snowflake ignore l’objet lors de la classification.
Par exemple, si vous définissez SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE' sur une table, Snowflake ignore cette table au moment de classifier automatiquement la base de données de celle-ci.
Vous pouvez configurer la balise SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur un schéma, une table ou une colonne pour contrôler quelles données sont exclues de la classification automatique des données sensibles.
Configurer une balise sur un schéma¶
Lorsqu’un profil de classification est configuré sur une base de données, tous les schémas de cette base de données sont classifiés lors de la classification automatique des données. Vous pouvez configurer la balise SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur un schéma dans la base de données pour exclure ce schéma du processus de classification.
Par exemple, supposons que vous souhaitiez classifier automatiquement tous les schémas d’une base de données, à l’exception du schéma internal. Vous pouvez exécuter la commande ALTER SCHEMA pour configurer la balise définie par le système sur le schéma :
ALTER SCHEMA internal SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Lorsque Snowflake classifie automatiquement les données dans la base de données, il ignore les données dans le schéma internal.
Pour connaître les exigences en matière de contrôle d’accès pour la configuration de la balise SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION, consultez Exigences en matière de contrôle d’accès.
Configurer une balise sur une table¶
Lorsqu’un profil de classification est configuré sur une base de données ou un schéma, toutes les tables de cet objet sont classifiées lors de la classification automatique des données. Vous pouvez configurer la balise SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur une table dans la base de données ou le schéma pour exclure cette table du processus de classification.
Par exemple, supposons que vous souhaitiez classifier automatiquement toutes les tables d’une base de données, à l’exception de la table my_table. Vous pouvez exécuter la commande ALTER TABLE pour configurer la balise définie par le système sur la table :
ALTER TABLE my_table SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Lorsque Snowflake classifie automatiquement les données dans la base de données, il ignore les données dans la table my_table.
Configurer une balise sur une colonne¶
Vous pouvez souhaiter classifier automatiquement certaines colonnes d’une table, mais pas toutes. Vous pouvez configurer la balise SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur une colonne de sorte que Snowflake l’ignore lors de la classification du reste de la table. Si vous excluez une colonne, le résultat de la classification contient une valeur vide pour cette colonne, même si celle-ci contient des données sensibles.
Par exemple, supposons que vous souhaitiez classifier automatiquement toutes les colonnes d’une table, à l’exception de la colonne employee_id. Vous pouvez exécuter la commande ALTER TABLE … ALTER COLUMN pour configurer la balise définie par le système sur la colonne :
ALTER TABLE my_table ALTER COLUMN employee_id
SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Lorsque Snowflake classifie automatiquement les données dans la table, le champ employee_id dans le résultat JSON est vide.
Configurer un profil de classification¶
Un profil de classification contient les paramètres qui contrôlent la manière dont Snowflake classifie automatiquement les données d’une base de données ou d’un schéma. Ces paramètres sont spécifiés à l’aide de paires clé-valeur dans un OBJECT.
Vous devez définir la clé enable_tag_based_sensitive_data_exclusion du profil de classification si vous souhaitez que les données soient exclues de la classification automatique. Si vous ne définissez pas la valeur de cette clé sur true, configurer SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur des objets n’a aucun effet.
Voici un exemple de profil de classification qui, lorsqu’il est configuré sur une base de données, exclut les objets correctement balisés de la classification automatique :
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
});
Utiliser une méthode pour configurer la clé d’un profil de classification¶
Si vous disposez d’un profil de classification existant, vous pouvez appeler la méthode SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION pour configurer la clé enable_tag_based_sensitive_data_exclusion de ce profil.
Pour exclure des objets balisés à l’aide de SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION, appelez la méthode avec son argument défini sur true. Par exemple, pour permettre l’exclusion de données de la classification d’une base de données sur laquelle my_classification_profile est configuré, exécutez la commande suivante :
CALL my_classification_profile!SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION(true);
Pour désactiver l’exclusion de données sensibles basée sur des balises pour un profil de classification, exécutez la commande avec son argument défini sur false :
CALL my_classification_profile!SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION(false);
Exigences en matière de contrôle d’accès¶
Les sections suivantes décrivent les rôles et privilèges dont vous devez disposer pour pouvoir exclure des objets de la classification automatique des données :
Exigences pour configurer la balise¶
Le rôle de base de données SNOWFLAKE.CLASSIFICATION_ADMIN est nécessaire pour créer un profil de classification. Ce même rôle de base de données est requis pour configurer la balise système SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur un schéma, une table ou une colonne. Sans privilèges supplémentaires, un utilisateur ayant le rôle de base de données SNOWFLAKE.CLASSIFICATION_ADMIN peut uniquement configurer la balise système sur les objets qui lui appartiennent.
Par exemple, pour permettre aux utilisateurs ayant le rôle classify_admin de configurer la balise SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur des objets qui leur appartiennent, exécutez la commande suivante :
GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE classify_admin;
Si vous souhaitez qu’un administrateur puisse configurer la balise système SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION sur n’importe quel objet, et pas seulement sur ceux qui lui appartiennent, exécutez les commandes suivantes :
GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE classify_admin;
GRANT APPLY TAG ON ACCOUNT TO ROLE classify_admin;
Exigences pour configurer le profil de classification¶
Vous devez disposer du rôle d’instance PRIVACY_USER sur le profil de classification pour configurer la clé enable_tag_based_sensitive_data_exclusion du profil de classification.