Cortex Code 的数据治理技能

Cortex Code 包含内置的数据治理技能,旨在帮助您了解、保护和监控 Snowflake 账户中的数据。这些技能直接在您的 Snowflake 环境中运行 – 您只需使用自然语言描述需求,Cortex Code 就会为您生成并执行必要的查询、分类和分析。您无需了解具体应运行哪项技能;Cortex Code 会根据您的问题自动选择合适的技能。

开始使用

  1. 安装 Cortex Code CLI 并连接到您的账户

  2. 确保您已 满足访问控制要求

  3. 开始在命令行中提问。您可以直接在 Cortex Code 中使用以下任何示例提示词。Cortex Code 会根据您的问题自动选择合适的技能,无需使用特殊命令。

一般数据治理

数据治理技能可以回答有关整个 Snowflake 账户中访问控制、审计跟踪、权限、角色层次结构和合规性监控的问题。Cortex Code 利用这些技能,通过带有高效查询模式的嵌入式语义模型,针对 Snowflake 的 ACCOUNT_USAGE 视图运行 SQL 查询。

Cortex Code 可以帮助您完成以下任务:

  • 审计数据访问人员及时间 – 了解用户访问模式,跟踪查询历史,并识别非工作时间或异常活动。

  • 分析权限和角色层次结构 – 审查授权、角色分配和权限结构,以确保用户遵循最小权限原则进行访问。

  • 监控合规状况 – 分析整个账户中的掩码策略、行访问策略、聚合策略和标签使用情况。

  • 调查对象依赖关系 – 了解数据库、架构、表和视图之间的相互关系。

  • 跟踪 DDL 变更 – 查看创建、更改或删除对象的人员和时间。

示例提示

"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"

敏感数据分类

用于敏感数据分类的数据治理技能可以检测并分类 Snowflake 表中的个人身份信息 (PII) 及其他敏感数据。它使用Snowflake原生的 SYSTEM$CLASSIFY 函数来扫描表,并识别包含电子邮件、电话号码、社会安全号码和地址等数据的列。它还可以设置自动分类配置文件以进行持续监控。

Cortex Code 可以帮助您完成以下任务:

  • 发现表中的 PII – 扫描单个表或整个架构,以查找包含敏感数据(如电子邮件、姓名、电话号码、信用卡号和社会安全号码)的列。

  • 分析现有分类结果 – 查询 DATA_CLASSIFICATION_LATEST 视图,查看已检测到的 PII、哪些表包含最多的敏感列以及存在哪些类别的敏感数据。

  • 设置自动分类 – 创建分类配置文件,持续监控数据库中的新敏感数据,并根据需要自动为列添加标签。

  • 创建自定义分类器 – 为 Snowflake 内置类别未涵盖的领域特定敏感数据(如员工 IDs、内部代码、自定义格式)定义基于正则表达式的分类器。

  • 测试并验证分类准确性 – 在部署到生产环境之前,针对具有代表性的表运行分类器,以验证检测准确性。

示例提示

"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)?"

数据保护策略

用于数据保护策略的数据治理技能可帮助您创建、审计和管理 Snowflake 掩码策略、行访问策略和投影策略。它为构建新策略和审计现有策略提供最佳实践、经过验证的模式(如基于属性的访问控制)以及引导式工作流程。它还包含针对 PCI-DSS、HIPAA、GDPR、CCPA、SOX 和 FERPA 的合规性参考资料。

Cortex Code 可以帮助您完成以下任务:

  • 创建掩码策略 – 使用 IS_ROLE_IN_SESSION() 和可记忆函数等最佳实践,构建列级掩码策略,根据查询用户的角色动态遮盖敏感数据。

  • 创建行访问策略 – 根据角色成员身份、属性或查找表来限制用户可见的行。

  • 创建投影策略 – 控制列是否可以出现在查询结果中。

  • 审计现有策略 – 盘点账户中的所有策略,根据安全最佳实践清单对其进行评估,并识别反模式(例如,使用 CURRENT_ROLE 函数而非 IS_ROLE_IN_SESSION)。

  • 整合分散的策略 – 从特定于表的策略迁移到集中在治理数据库中的通用、可重用策略。

  • 满足监管要求 – 获取针对特定合规框架定制的策略模板和指南(如针对医疗保健的 HIPAA、针对支付数据的 PCI-DSS、针对 EU 个人数据的 GDPR)。

示例提示

"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"

数据质量

用于数据质量的数据治理技能通过使用数据指标函数 (DMFs) 来监控并分析 Snowflake 架构中的数据质量。它提供运行状况评分、指标失败的根本原因分析、回归检测、趋势分析、SLA 告警、用于迁移验证的表对比以及数据集热度分析。

Cortex Code 可以帮助您完成以下任务:

  • 检查架构运行状况 – 获取架构的整体数据质量评分,显示通过与失败的指标数量,以及已监控哪些表。

  • 调查质量故障 – 深入分析失败的指标,了解哪些表和列存在问题以及问题所在,并获得修复建议。

  • 检测质量回归 – 将当前质量与之前的测量值进行对比,查看质量是提升还是下降,并识别新的故障。

  • 跟踪质量趋势 – 查看时序质量评分,了解质量随时间的变化趋势是提升、稳定还是下降。

  • 设置 SLA 警报 – 创建自动化的 Snowflake ALERT 对象,当数据质量低于阈值时向您发送通知。

  • 比较表 – 验证数据迁移,协调开发与生产数据,或查找两个表版本之间的行级差异(包括新增、删除、修改的行以及架构差异)。

  • 分析数据集热度 – 识别使用率最高和最低的表,发现未使用或过时的数据,并了解谁在使用哪些数据集。

示例提示

"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"

沿袭

用于数据沿袭的技能可追踪整个 Snowflake 账户中的数据依赖关系 – 包括上游(数据来源)和下游(依赖该数据的内容)。它支持表级和列级沿袭、带风险评分的影响分析、带变更检测的根本原因分析以及带信任评分的数据发现。

Cortex Code 可以帮助您完成以下任务:

  • 评估变更影响 – 在修改表之前,查看所有依赖该表的下游对象,并按风险(CRITICAL、MODERATE、LOW)、使用频率和受影响用户数进行排名。

  • 通过跟踪上游来调试数据问题 – 当报告显示数字错误时,通过转换层追溯数据,以确定问题根源,包括最近的架构和数据变更。

  • 发现并验证可信数据集 – 根据架构层级(生产、暂存、原始、沙盒)、使用模式和数据新鲜度等信任评分,找到用于特定分析的最佳表。

  • 跟踪列级依赖关系 – 了解哪些下游列使用了特定列,或通过转换层将列追溯到其原始来源。

  • 检测沿袭中的最新变更 – 识别沿袭路径上的架构变更、数据修改和 DDL 操作,以关联分析数据质量问题。

示例提示

"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?"

访问控制要求

要从 Cortex Code 成功调用数据治理技能,您必须具备以下条件:

  • Cortex Code 所需的权限和角色

  • 对您关注的架构、表和视图的访问权限。

    • 对于敏感数据分类相关问题,您需要拥有对相应表或视图的 OWNERSHIP 或 USAGE 权限。

    • 对于数据保护策略,您需要对包含该表的架构拥有 CREATE MASKING POLICY 或 CREATE ROW ACCESS POLICY 权限。

  • 对 ACCOUNT_USAGE 架构中视图的访问权限。默认情况下,只有 ACCOUNTADMIN 系统角色有权访问 ACCOUNT_USAGE 架构中的视图。要向他人授予访问这些视图的权限,您可以执行以下任一操作:

    • 将 SNOWFLAKE 数据库的 IMPORTED PRIVILEGES 权限授予用户的角色。这是一项广泛的授权,允许用户查看所有 ACCOUNT_USAGE 视图,同时也授予了对 ORGANIZATION_USAGE 架构中视图的访问权限。

    • 授予访问视图所需的数据库角色。要将 Cortex Code 用于所有治理相关主题,用户需要拥有所有这些数据库角色:OBJECT_VIEWER、USAGE_VIEWER、GOVERNANCE_VIEWER 和 SECURITY_VIEWER。要限制用户了解数据治理的某些方面,仅授予这些角色的子集即可。有关每个角色可访问的视图列表,请参阅 ACCOUNT_USAGE 架构

获得最佳结果的技巧

  • 明确对象名称 – 使用如 DATABASE.SCHEMA.TABLE 这样的完全限定名称,以获得最准确的结果。

  • 先概括后深入 – 从运行状况检查或概览开始,然后提出后续问题以调查具体问题。