Compétences de gouvernance des données pour Cortex Code

Cortex Code comprend des compétences de gouvernance des données intégrées conçues pour vous aider à comprendre, protéger et surveiller les données de votre compte Snowflake. Ces compétences fonctionnent directement dans votre environnement Snowflake ; elles décrivent ce dont vous avez besoin en anglais simple, et Cortex Code génère et exécute les requêtes, classifications et analyses nécessaires pour vous. Vous n’avez pas besoin de savoir quelle compétence exécuter ; Cortex Code sélectionne automatiquement la compétence dont il a besoin pour répondre à votre question.

Prise en main

  1. Installez Cortex Code CLI et connectez-vous à votre compte.

  2. Assurez-vous de répondre aux exigences en matière de contrôle d’accès.

  3. Commencez à poser des questions à partir de la ligne de commande. Vous pouvez utiliser n’importe lequel des exemples d’invites ci-dessous directement dans Cortex Code. Cortex Code sélectionne automatiquement la compétence appropriée en fonction de votre question ; aucune commande spéciale n’est nécessaire.

Gouvernance générale des données

Les compétences de gouvernance des données peuvent répondre à des questions relatives au contrôle d’accès, aux pistes d’audit, aux autorisations, aux hiérarchies de rôles et à la surveillance de la conformité dans votre compte Snowflake. Cortex Code utilise des compétences pour exécuter des requêtes SQL sur des vues ACCOUNT_USAGE en utilisant un modèle sémantique intégré avec des modèles de requête efficaces.

Cortex Code peut vous aider à effectuer les tâches suivantes :

  • Auditer qui a accédé à quelles données et à quel moment : comprenez les habitudes d’accès des utilisateurs, suivez l’historique des requêtes et identifiez les activités en dehors des heures de travail ou inhabituelles.

  • Analyser les autorisations et les hiérarchies de rôles : examinez les droits accordés, les attributions de rôles et les structures de privilèges afin de garantir que les utilisateurs ne disposent que de privilèges minimaux.

  • Surveiller la posture de conformité : analysez les politiques de masquage, les politiques d’accès aux lignes, les politiques d’agrégation et l’utilisation des balises dans votre compte.

  • Analyser les dépendances d’objets : comprenez comment les bases de données, les schémas, les tables et les vues sont liés les uns aux autres.

  • Suivre les changements DDL : voyez qui a créé, modifié ou supprimé des objets et à quel moment.

Exemples d’invites

"Who has accessed the SALES.NA.CUSTOMERS table in the last 30 days?"
"Show me all users with the ACCOUNTADMIN role"
"What tables were accessed outside of business hours last week?"
"List all grants to the ANALYST_ROLE"
"Which users have run DDL operations on the FINANCE database in the last 7 days?"
"Show me the role hierarchy for my account"
"What masking policies are applied across my account?"
"Which tables have no row access policies attached?"
"Show me all tag references in the ANALYTICS database"

Classification des données sensibles

La compétence de gouvernance des données pour la classification des données sensibles peut détecter et catégoriser des informations personnelles identifiables (PII) et d’autres données sensibles dans vos tables Snowflake. Elle utilise la fonction native SYSTEM$CLASSIFY de Snowflake pour analyser les tables et identifier les colonnes contenant des données telles que des e-mails, des numéros de téléphone, des numéros de sécurité sociale et des adresses. Elle peut également configurer des profils de classification automatisés pour une surveillance continue.

Cortex Code peut vous aider à effectuer les tâches suivantes :

  • Découvrir des PII dans vos tables : analysez des tables individuelles ou des schémas entiers pour trouver des colonnes contenant des données sensibles telles que des e-mails, des noms, des numéros de téléphone, des numéros de cartes de crédit et des numéros de sécurité sociale.

  • Analyser les résultats de classification existants : interrogez la vue DATA_CLASSIFICATION_LATEST pour voir quelles PII ont déjà été détectées, quelles tables présentent les colonnes les plus sensibles, et quelles catégories de données sensibles existent.

  • Configurer la classification automatisée : créez des profils de classification qui surveillent en permanence les bases de données à la recherche de nouvelles données sensibles et, si vous le souhaitez, attribuent automatiquement des balises aux colonnes.

  • Créer des classificateurs personnalisés : définissez des classificateurs basés sur des expressions regex pour les données sensibles spécifiques à un domaine (IDs d’employés, codes internes, formats personnalisés) que les catégories intégrées de Snowflake ne couvrent pas.

  • Tester et valider la précision de la classification : exécutez les classificateurs sur des tables représentatives pour vérifier la précision de la détection avant de les déployer en production.

Exemples d’invites

"Scan SALES.NA.ORDERS for PII"
"Does the CUSTOMERS table contain any sensitive data?"
"What PII exists across my ANALYTICS database?"
"Show me all columns classified as EMAIL or PHONE in my account"
"Which tables have the most sensitive columns?"
"Create a classification profile for the PROD_DB database"
"Set up auto-classification with auto-tagging enabled"
"Create a custom classifier for employee IDs that match the pattern EMP-XXXXX"
"Show me classification results for the NA.FINANCE schema"
"Which tables need re-classification (older than 90 days)?"

Politiques de protection des données

La compétence de gouvernance des données pour les politiques de protection des données vous aide à créer, auditer et gérer les politiques de masquage, les politiques d’accès aux lignes et les politiques de projection de Snowflake. Elle fournit des bonnes pratiques, des modèles éprouvés (comme le contrôle d’accès basé sur des attributs) et des workflows guidés aussi bien pour la création de nouvelles politiques que pour l’audit des politiques existantes. Elle comprend également le matériel de référence de conformité pour les normes PCI-DSS, HIPAA, GDPR,CCPA, SOX et FERPA.

Cortex Code peut vous aider à effectuer les tâches suivantes :

  • Créer des politiques de masquage : créez des politiques de masquage au niveau des colonnes qui éditent dynamiquement des données sensibles en fonction du rôle de l’utilisateur qui interroge, en utilisant des bonnes pratiques comme:code:IS_ROLE_IN_SESSION() et des fonctions mémoïsables.

  • Créer des politiques d’accès aux lignes : restreignez les lignes qu’un utilisateur peut voir en fonction de l’appartenance à un rôle, des attributs ou des tables de recherche.

  • Créer des politiques de projection : contrôlez si une colonne peut apparaître dans les résultats de la requête.

  • Auditer les politiques existantes : faites l’inventaire de toutes les politiques de votre compte, évaluez-les par rapport à une liste de bonnes pratiques en matière de sécurité, et identifiez des anti-modèles (par exemple, en utilisant la fonction CURRENT_ROLE au lieu de IS_ROLE_IN_SESSION).

  • Consolider les politiques éparses : migrez des politiques spécifiques aux tables vers des politiques génériques et réutilisables centralisées dans une base de données de gouvernance.

  • Répondre aux exigences réglementaires : obtenez des modèles de politiques et des conseils adaptés à des cadres de conformité spécifiques (HIPAA pour les soins de santé, PCI-DSS pour les données de paiement, GDPR pour les données personnelles EU).

Exemples d’invites

"Create a masking policy for the EMAIL column in the SALES.NA.CUSTOMERS table"
"Help me set up row access policies for the FINANCE schema"
"Audit all masking policies in my account"
"Are there any anti-patterns in my existing data policies?"
"Create a HIPAA-compliant masking policy for PHI columns"
"Show me the best practice for role-based masking"
"I need a projection policy to prevent the SSN column from appearing in query results"
"Help me consolidate my scattered masking policies into reusable ones"
"What's the recommended pattern for Attribute-Based Access Control (ABAC)?"
"Generate a policy health report for my account"

Qualité des données

La compétence de gouvernance des données pour la qualité des données surveille et analyse la qualité des données dans vos schémas Snowflake à l’aide de fonctions de métriques des données (DMFs). Elle fournit une notation de santé, une analyse des causes profondes des échecs de métriques, une détection de régression, une analyse des tendances, des alertes SLA, une comparaison de tables pour la validation de la migration et une analyse de popularité des ensembles de données.

Cortex Code peut vous aider à effectuer les tâches suivantes :

  • Vérifier la santé des schémas : obtenez un score global de qualité des données pour un schéma, en montrant combien de métriques réussissent ou échouent, et quelles tables sont surveillées.

  • Enquêter sur les échecs de qualité : analysez en détail les métriques d’échec pour comprendre quelles tables et quelles colonnes présentent des problèmes, déterminer la nature des problèmes, et obtenir des recommandations de corrections.

  • Détecter les régressions de qualité : comparez la qualité actuelle aux mesures précédentes pour voir si la qualité s’est améliorée ou dégradée, et identifiez les nouveaux échecs.

  • Suivre les tendances en matière de qualité : consultez les scores de qualité des séries chronologiques pour comprendre si la qualité s’améliore, est stable ou diminue au fil du temps.

  • Configurer les alertes SLA : créez des objets ALERT Snowflake automatisés qui vous avertissent lorsque la qualité des données tombe en dessous d’un certain seuil.

  • Comparer les tables : validez les migrations de données, rapprochez les données de développement et les données de production, ou trouvez les différences au niveau des lignes entre deux versions de tables (lignes ajoutées, supprimées et modifiées, différences de schémas).

  • Analyser la popularité des ensembles de données : identifiez les tables les plus et les moins utilisées, recherchez les données inutilisées ou obsolètes, et comprenez qui consomme quels ensembles de données.

Exemples d’invites

"What is the data quality score for ANALYTICS.REPORTING?"
"Why is the SALES.CUSTOMERS.ORDERS table failing quality checks?"
"Has data quality improved or gotten worse in the DB.FINANCE schema this month?"
"Show me quality trends for PROD_DB.SALES over the last 30 days"
"Set up an alert if data quality in ANALYTICS.CORE drops below 90%"
"Compare STAGING.ORDERS_V1 with STAGING.ORDERS_V2"
"Find the differences between dev and prod versions of the SALES.ORDERS.CUSTOMERS table"
"Which tables in my account are the most popular?"
"Are there any unused tables in the SANDBOX database?"
"Show me the root cause of quality failures in SALES.ORDERS"

Lignée

La compétence de gouvernance des données pour la lignée retrace les dépendances des données dans votre compte Snowflake, en amont (d’où proviennent les données) comme en aval (ce qui en dépend). Elle prend en charge la lignée au niveau des tables et des colonnes, l’analyse d’impact avec notation des risques, l’analyse des causes profondes avec détection des modifications et la découverte des données avec notation de confiance.

Cortex Code peut vous aider à effectuer les tâches suivantes :

  • Évaluer l’impact des modifications : avant de modifier une table, consultez tous les objets en aval qui en dépendent, classés par risque (CRITICAL, MODERATE, LOW), avec la fréquence d’utilisation et le nombre d’utilisateurs concernés.

  • Déboguer les problèmes de données grâce au traçage en amont : lorsqu’un rapport indique des nombres erronés, suivez les données à travers ses couches de transformation pour identifier l’origine du problème, y compris les modifications récentes des schémas et des données.

  • Détecter et vérifier les ensembles de données de confiance : trouvez la meilleure table à utiliser pour une analyse donnée, avec des scores de confiance basés sur la couche du schéma (production, mise en zone de préparation, brut, sandbox), les modèles d’utilisation et le niveau d’actualisation des données.

  • Retracer les dépendances au niveau des colonnes : comprenez quelles colonnes en aval exploitent une colonne spécifique, ou retracez l’origine d’une colonne grâce aux couches de transformation.

  • Détecter les changements récents dans la lignée : identifiez les modifications de schémas, les modifications de données et les opérations DDL tout au long du parcours de lignée pour les corréler aux problèmes de qualité des données.

Exemples d’invites

"What will break if I change RAW_DB.SALES.ORDERS?"
"What depends on the SALES.SCH1.CUSTOMERS table?"
"Where does ANALYTICS_DB.REPORTING.REVENUE come from?"
"Why is the REVENUE_SUMMARY table showing wrong numbers?"
"Which table should I use for customer revenue analysis?"
"Is STAGING_DB.TRANSFORM.ORDERS_ENRICHED trustworthy?"
"What uses the AMOUNT column in SALES.ORDERS?"
"Where does the TOTAL_SALES column in the REVENUE report come from?"
"Show me the full lineage for SUMMIT.DEMO.SHIPMENTS"
"Has the DISCOUNT_PCT column in ORDERS changed recently?"

Exigences en matière de contrôle d’accès

Pour invoquer correctement les compétences de gouvernance des données de Cortex Code, vous devez disposer de ce qui suit :

  • Privilèges et rôles requis par Cortex Code.

  • Accès aux schémas, aux tables et aux vues qui vous intéressent.

    • Pour les questions de classification des données sensibles, vous avez besoin du privilège OWNERSHIP ou USAGE sur la table ou la vue.

    • Pour les politiques de protection des données, vous avez besoin du privilège CREATE MASKING POLICY ou CREATE ROW ACCESS POLICY sur le schéma contenant la table.

  • Accès aux vues dans le schéma ACCOUNT_USAGE. Par défaut, seul le rôle système ACCOUNTADMIN dispose des privilèges pour accéder aux vues dans le schéma ACCOUNT_USAGE. Pour accorder la possibilité d’accéder à ces vues à d’autres personnes, vous pouvez procéder de l’une des manières suivantes :

    • Accordez le privilège IMPORTED PRIVILEGES sur la base de données SNOWFLAKE au rôle de l’utilisateur. Il s’agit d’un large octroi de privilèges qui permet à un utilisateur de voir toutes les vues ACCOUNT_USAGE, mais donne également accès aux vues dans le schéma ORGANIZATION_USAGE.

    • Attribuez les rôles de base de données nécessaires pour accéder aux vues. Pour utiliser Cortex Code pour toutes les rubriques liées à la gouvernance, un utilisateur doit disposer de tous les rôles de base de données suivants : OBJECT_VIEWER, USAGE_VIEWER, GOVERNANCE_VIEWER et SECURITY_VIEWER. Pour empêcher un utilisateur d’apprendre certains aspects de la gouvernance des données, accordez un sous-ensemble de ces rôles. Pour obtenir une liste des vues auxquelles chaque rôle peut accéder, consultez Schéma ACCOUNT_USAGE.

Conseils pour de meilleurs résultats

  • Soyez spécifique avec les noms d’objets : utilisez des noms pleinement qualifiés comme DATABASE.SCHEMA.TABLE pour obtenir les résultats les plus précis.

  • Commencez de manière globale, puis approfondissez : commencez par un contrôle de santé ou une vue d’ensemble, puis posez des questions complémentaires pour étudier des problèmes spécifiques.