Introduction to sensitive data classification

Il est essentiel de savoir où résident vos données sensibles et si elles sont correctement protégées. Il ne s’agit pas simplement d’une meilleure pratique. Dans de nombreux secteurs, il s’agit d’une exigence vitale pour maintenir la conformité aux réglementations. Snowflake fournit une solution qui découvre automatiquement les données sensibles et facilite l’application des contrôles de gouvernance tels que les balises et les politiques de masquage.

Snowflake classe les données sensibles en catégories natives comme le nom et l’identificateur régional, mais vous pouvez aussi créer votre propre catégories personnalisées pour détecter les données sensibles spécifiques à votre organisation ou domaine.

Prise en main

Snowflake fournit une interface Web pour configurer la classification des données sensibles et pour afficher la posture de gouvernance des données sensibles.

Pour commencer, effectuez l’une des opérations suivantes :

Core concepts of sensitive data classification

À propos des catégories de classification

Avec la classification des données sensibles, chaque colonne identifiée comme contenant des données sensibles se voit attribuer deux catégories : une catégorie sémantique et une catégorie de confidentialité.

  • Une catégorie sémantique identifie le type des attributs personnels. Snowflake fournit des catégories natives pour des attributs communs tels que des noms et des adresses. Si vos données sensibles n’entrent pas dans une catégorie native, vous pouvez créer une catégorie personnalisée pour elle.

  • Une catégorie de confidentialité identifie la sensibilité d’un attribut personnel. Cela peut être IDENTIFIER, QUASI_IDENTIFIER ou SENSITIVE (une catégorie générique, sans identificateur, pour des éléments tels que le salaire).

À propos des balises de classification

Une balise est un objet Snowflake qui peut être affecté à une colonne. Snowflake utilise les balises suivantes définies par le système pour identifier les colonnes qu’il a classées comme contenant des données sensibles.

  • SNOWFLAKE.CORE.SEMANTIC_CATEGORY: Balise utilisée pour identifier la catégorie native ou personnalisée des données d’une colonne.

  • SNOWFLAKE.CORE.PRIVACY_CATEGORY: Balise utilisée pour identifier la catégorie de confidentialité des données d’une colonne.

Vous pouvez mapper des balises définies par l’utilisateur à des balises de classification définies par le système. Par exemple, vous pouvez configurer un mappage de balises de sorte que chaque fois que la balise système SNOWFLAKE.CORE.SEMANTIC_CATEGORY = 'NAME' est appliquée à une colonne, la balise définie par l’utilisateur tag_db.sch.pii = 'Highly confidential' est également appliquée.

À propos des profils de classification

Lorsque vous utilisez l’interface Web du Centre de confiance pour spécifier des paramètres de classification, ces paramètres sont enregistrés sous forme de profil de classification. Ce profil de classification peut être modifié ultérieurement pour modifier les paramètres qui contrôlent la manière dont les données sont classées. Dans l’interface Web, le profil de classification contrôle également les bases de données classées avec les paramètres du profil.

Vous pouvez également utiliser des commandes SQL pour créer et modifier un profil de classification. Si vous utilisez SQL, l’association du profil de classification à une base de données pour démarrer le processus de classification est une étape distincte.

Protection des données sensibles

Snowflake fournit les outils de gouvernance dont vous avez besoin pour suivre et protéger vos données sensibles.

  • Vous pouvez configurer le processus de classification afin que Snowflake attribue automatiquement les systèmes et les balises définies par l’utilisateur aux données qu’il classe comme sensibles. Vous pouvez ensuite suivre les données de votre domaine de données en suivant les balises.

  • Vous pouvez attribuer une politique de masquage aux colonnes contenant des données sensibles pour masquer sélectivement les données au moment de la requête.

  • Vous pouvez combiner des politiques de balisage et de masquage pour masquer automatiquement les données classées comme sensibles. Si vous utilisez le masquage basé sur les balises pour associer une politique de masquage à une balise définie par l’utilisateur, les données seront automatiquement masquées lorsque Snowflake applique la balise dans le cadre du processus de classification. Lorsque de nouvelles données sont ajoutées à une base de données, les politiques de masquage basées sur des balises sont automatiquement affectées aux colonnes qui contiennent des données sensibles.

Déterminer les bases de données classées

Vous pouvez déterminer quelles données sont contrôlées pour la classification des données sensibles en répertoriant les bases de données associées à un profil de classification. Si une base de données est associée à un profil de classification, toutes les tables et vues de cette base de données sont automatiquement classées selon les critères définis dans le profil.

Pour déterminer quelles bases de données sont classées :

  1. Connectez-vous à l”Snowsight en tant qu’utilisateur ayant les privilèges requis.

  2. Dans le menu de navigation, sélectionnez Governance & security » Trust Center.

  3. Sélectionnez l’onglet Data Security.

  4. Sélectionnez l’onglet Dashboard.

  5. Trouvez la vignette Databases monitored by classification. Pour répertorier les bases de données en cours de classification, sélectionnez Monitored ou Partially monitored.

Note

Une base de données est partiellement surveillée si un utilisateur a utilisé SQL pour définir un profil de classification directement sur un schéma dans la base de données plutôt que de définir le profil au niveau de la base de données.

Considérations relatives aux clients

La classification des données sensibles consomme des crédits, car elle utilise des ressources de calcul sans serveur pour classifier les tables de la base de données. Pour plus d’informations sur le tarif de cette consommation, voir la table 5 dans Snowflake Service Consumption Table.

Note

La classification des vues peut coûter plus que la classification des tables. Le coût supplémentaire dépend de la complexité de la requête qui a créé la vue. Les vues matérialisées n’entraînent pas ces coûts supplémentaires. Par défaut, les vues sont exclues de la classification.

Afficher les coûts dans Snowsight

To explore the cost of sensitive data classification:

  1. Connectez-vous à Snowsight.

  2. Passez à un rôle avec accès aux données de coût et d’utilisation.

  3. Dans le menu de navigation, sélectionnez Admin » Cost management.

  4. Sélectionnez un entrepôt à utiliser pour visualiser les données d’utilisation. Snowflake recommande d’utiliser un entrepôt XS à cette fin.

  5. Sélectionnez Consumption.

  6. Dans la liste déroulante Usage Type sélectionnez Compute.

  7. Dans la liste déroulante Service Type sélectionnez Sensitive Data Classification.

Utiliser SQL pour interroger les coûts

Vous pouvez interroger les vues des schémas ACCOUNT_USAGE et ORGANIZATION_USAGE pour déterminer le montant consacré à la classification automatique des données sensibles. Pour suivre la consommation des crédits, interrogez les vues suivantes :

Vue METERING_HISTORY (ACCOUNT_USAGE)

Vous permet de récupérer le coût horaire de la classification automatique en vous concentrant sur SENSITIVE_DATA_CLASSIFICATION dans la colonne SERVICE_TYPE. Par exemple :

SELECT
  service_type,
  start_time,
  end_time,
  entity_id,
  name,
  credits_used_compute,
  credits_used_cloud_services,
  credits_used,
  budget_id
  FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_HISTORY
  WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
Copy
Vue METERING_DAILY_HISTORY (ACCOUNT_USAGE et ORGANIZATION_USAGE)

Vous permet de récupérer le coût journalier de la classification automatique en vous concentrant sur SENSITIVE_DATA_CLASSIFICATION dans la colonne SERVICE_TYPE. Par exemple :

SELECT
  service_type,
  usage_date,
  credits_used_compute,
  credits_used_cloud_services,
  credits_used
  FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_DAILY_HISTORY
  WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
Copy
USAGE_IN_CURRENCY_DAILY (ORGANIZATION_USAGE)

Vous permet de récupérer le coût journalier de la classification automatique en vous concentrant sur SENSITIVE_DATA_CLASSIFICATION dans la colonne SERVICE_TYPE. Utilisez cette vue pour déterminer le coût en devises et non en crédits.

Supported objects

Snowflake supports classifying data stored in all types of Snowflake tables and views.

Note that Snowflake does not support classification on shared tables and shared schemas from the consumer’s side. If a table is created by the provider and placed into the provider’s outbound share, the classification only works if it is called from the provider’s side.

Supported data types

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 :

  • ARRAY

  • BINARY

  • DECFLOAT

  • GEOGRAPHY

  • OBJECT

  • VARIANT (sauf lorsque le type de données de la colonne est conversion vers un type de données NUMBER ou STRING)

  • VECTOR

Note

  • Les données non structurées telles que le texte long stocké dans les colonnes ne sont pas prises en charge.

  • JSON, XML ou d’autres données semi-structurées ne sont pas prises en charge.

Limites et considérations

  • Les profils de classification ne peuvent pas être définis sur un compte de lecteur.

  • Un profil de classification ne peut pas être configuré sur plus de 1 000 bases de données.

  • Un profil de classification ne peut pas être configuré directement sur plus de 10 000 schémas.

  • Un maximum de 100 millions de tables peuvent être classées dans un schéma.

  • Vous ne pouvez pas classer automatiquement une table si elle présente l’une des caractéristiques suivantes :

    • Plus de 10 000 colonnes.

    • Une colonne dont le nom comporte plus de 255 caractères.

    • Une colonne dont le nom comprend le caractère $.