Introduction à la classification¶
Cette rubrique fournit des informations sur le fonctionnement de la classification.
Pour plus d’informations sur l’utilisation des classificateurs personnalisés, voir Classification des données personnalisée.
Dans ce chapitre :
Vue d’ensemble¶
La classification est un processus en plusieurs étapes qui associe des balises système définies par Snowflake à des colonnes en analysant les champs et les métadonnées à la recherche de données personnelles ; ces données peuvent être suivies par un ingénieur des données via SQL et Snowsight. Un ingénieur des données peut classer les colonnes d’une table afin de déterminer si la colonne contient certains types de données qui doivent être suivies ou protégées, comme un identificateur unique (données de passeport ou de compte bancaire), un quasi-identificateur (la ville dans laquelle vit la personne) ou une valeur sensible (le salaire d’une personne).
En suivant les données à l’aide d’une balise système et en protégeant les données à l’aide d’une politique de masquage ou d’accès aux lignes, l’ingénieur des données peut améliorer la posture de gouvernance associée aux données. Le résultat global des étapes de classification et de protection des données est de faciliter la conformité aux réglementations sur la confidentialité des données.
Vous pouvez classer une seule ou plusieurs tables d’un schéma. Snowflake fournit des balises système prédéfinies pour vous permettre de classer et de baliser les colonnes, ou vous pouvez utiliser des classificateurs personnalisés pour définir votre propre catégorie sémantique en fonction de votre connaissance de vos données. Vous pouvez également opter pour une approche qui utilise les balises système Snowflake et des classificateurs personnalisés en fonction de la posture de gouvernance que vous souhaitez adopter.
La classification offre les avantages suivants aux administrateurs de la confidentialité des données et de la gouvernance des données :
- Accès aux données:
Les résultats de la classification des données des colonnes peuvent aider les administrateurs de la gestion des identités et des accès à évaluer et à maintenir leurs hiérarchies de rôles Snowflake pour s’assurer que les rôles Snowflake ont l’accès approprié aux données sensibles ou PII.
- Partage de données:
Le processus de classification peut aider à identifier et à confirmer l’emplacement de stockage des données PII. Ensuite, un fournisseur de partage de données peut utiliser les résultats de la classification pour déterminer s’il doit partager des données et comment mettre les données PII à la disposition d’un consommateur de partage de données.
- Application de la politique:
L’utilisation de colonnes contenant des données PII, comme la référence à des colonnes dans des tables de base pour créer une vue ou une vue matérialisée, peut aider à déterminer la meilleure approche pour protéger les données avec une politique de masquage ou une politique d’accès aux lignes.
Objets et types de données pris en charge¶
Snowflake prend en charge la classification des données stockées dans tous les types de tables et de vues, notamment les tables externes, les vues matérialisées et les vues sécurisées.
Vous pouvez classer les colonnes des tables et des vues pour tous les types de données pris en charge , à l’exception des types de données suivants :
GEOGRAPHY
BINARY
VARIANT
Notez que vous pouvez classer une colonne avec le type de données VARIANT lorsque le type de données de la colonne peut être converti vers un type de données NUMBER ou STRING. Snowflake ne classe pas la colonne si celle-ci contient JSON, XML ou d’autres données semi-structurées.
Si une table contient des colonnes dont le type de données n’est pas pris en charge ou si la colonne contient toutes les valeurs NULL, le processus de classification ignore les colonnes et ne les inclut pas dans la sortie.
Important
Si vos données représentent des valeurs NULL avec une valeur autre que NULL, la précision des résultats de la classification peut être affectée.
Coûts de calcul¶
Le processus de classification requiert des ressources de calcul, qui sont fournies par l’entrepôt virtuel qui est utilisé et en fonctionnement au moment de la classification.
Le temps nécessaire pour classifier les données d’une table/vue (et, par conséquent, le nombre de crédits consommés par l’entrepôt) est fonction de la quantité de données à classifier.
En particulier, si une table ou une vue comporte un grand nombre de colonnes qui prennent en charge la classification, le temps de traitement peut en être affecté. Toutefois, en règle générale, la vitesse de traitement évolue de façon linéaire avec la taille de l’entrepôt. En d’autres termes, chaque augmentation de la taille d’un entrepôt (de X-small à Small) réduit généralement le temps de traitement de moitié.
Utilisez les directives générales suivantes pour sélectionner une taille d’entrepôt :
Le temps de traitement n’est pas un problème : entrepôt X-Small.
Jusqu’à 100 colonnes dans une table : entrepôt Small.
101 à 300 colonnes dans une table : entrepôt Medium.
301 colonnes ou plus dans une table : entrepôt Large.
Pour plus de détails, voir Considérations relatives aux entrepôts.
Recommandations¶
Pour tirer parti de la fonction Classification et optimiser vos capacités de suivi des données PII, procédez comme suit :
- Validation:
Interrogez d’abord les vues Account Usage :
ACCESS_HISTORY: déterminer les objets de table et de vue auxquels on accède le plus fréquemment.
OBJECT_DEPENDENCIES: déterminer les références de métadonnées entre deux ou plusieurs objets.
Utilisez les résultats de la requête pour donner la priorité à l’affectation des balises du système de classification au niveau du schéma ou de la base de données.
- Noms de colonne:
Utilisez des noms de colonne sensés dans vos objets de table et formez les créateurs de table à respecter les directives internes de création de table.
- Types de données:
Utilisez des types de données sensés pour les colonnes. Par exemple, une colonne AGE doit avoir le type de données NUMBER.
- VARIANT:
Si une colonne a un type de données VARIANT, utilisez la commande FLATTEN sur la colonne avant de classer la table.
- Entrepôt:
Utilisez la taille d’entrepôt appropriée lors de la classification des données. Pour plus de détails, voir Coûts de calcul (dans cette rubrique).
Gestion des classifications¶
Référence aux privilèges¶
Le modèle de privilège de la Classification des données permet à l’administrateur de la confidentialité des données de déterminer quels personas peuvent classer les tables et baliser les colonnes. Par exemple, un seul rôle peut disposer de tous les privilèges nécessaires, ou l’administrateur de la confidentialité des données peut déléguer les droits à différents rôles afin de remplir les conditions de séparation des tâches (SoD). Un exemple de combinaison de droits valide est présenté à la section Commencer à classer les données de Classification des données d’utilisation.
En tant qu’administrateur, vous disposez de différentes options suivant la manière dont vous souhaitez gérer les rôles ou les personas concernés. Les options offrent une certaine flexibilité quant à la posture de gouvernance que vous souhaitez adopter. Par exemple :
Le propriétaire de la table (le rôle disposant du privilège OWNERSHIP sur la table) peut classer la table et définir des balises système sur les colonnes.
Un rôle personnalisé disposant du privilège SELECT sur la table et du privilège APPLY TAG sur le compte peut classer la table et définir des balises système sur les colonnes.
Si vous souhaitez que différents rôles ou personas soient impliqués dans la classification et le balisage des colonnes, vous pouvez accorder le privilège SELECT sur la table à un rôle et le privilège APPLY TAG sur le compte à un autre rôle.
Le tableau suivant résume les différentes options de droit pour classer une table, définir les balises système de la Classification des données sur les colonnes et effectuer ces deux tâches :
Privilège ou rôle |
Classer une ou des tables |
Définir des balises système sur des colonnes |
---|---|---|
SELECT sur la table ou la vue. |
✔ |
|
OWNERSHIP sur la table. |
✔ |
✔ |
APPLY TAG sur le compte. |
✔ |
|
Rôle ACCOUNTADMIN. |
✔ |
|
OWNERSHIP sur la base de données ou le schéma. |
Important
La classification des tables nécessite un entrepôt en cours d’exécution. Le rôle utilisé pour classer une table doit au minimum disposer du privilège USAGE sur un entrepôt.
Vous pouvez accorder le rôle de base de données SNOWFLAKE.GOVERNANCE_VIEWER à un rôle de compte pour permettre aux utilisateurs titulaires de ce rôle de compte d’interroger la vue DATA_CLASSIFICATION_LATEST pour voir les résultats les plus récents d’une table classée.