You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snowflake特征商店实现特征视图访问控制(无需按团队分库)

问题

在共享Snowflake Feature Store中,fs.list_feature_views()会返回所有Feature View,无论所属团队。单个schema内没有原生方法限定仅访问部分Feature View——调用list_feature_views()总会向所有团队暴露全部FV。

具体场景:
A团队拥有敏感的欺诈检测特征(transaction_features_fv、user_risk_scores_fv),B团队负责客户流失预测特征,双方共享同一Feature Store/schema:

fs = FeatureStore(
  session=session, 
  database="ML_DB", 
  name="SHARED_FS", 
  default_warehouse="ML_WH"
)

执行all_fvs = fs.list_feature_views()会返回两个团队的所有Feature View,无法按所属团队过滤。A团队的敏感Feature View对B团队可见,反之亦然。

已尝试方案

  • 按团队分设独立Feature Store:可实现隔离,但破坏跨团队特征共享(B团队无法复用A团队的非敏感特征)。
  • 单个对象级权限授予:对单个Feature View对象设置Snowflake RBAC权限无法与FeatureStore Python SDK集成——list_feature_views()仍会返回所有FV,不受角色权限影响。
  • 命名规范+脚本化授权:例如为Feature View名称添加所属团队前缀(FRAUD__transaction_features$V1_0),并按命名分组编写自定义授权脚本。该方案在SQL层有效,但易出错、未被SDK强制约束,且随团队和FV数量增长需手动维护。

需求

是否存在Snowflake ML SDK(或SQL/RBAC)支持的标准方案,能够:

  1. 在单个Feature Store schema内按团队/领域对Feature View分组;
  2. 限制list_feature_views()的返回结果/访问权限,仅展示指定角色应可见的Feature View;
  3. 实现类似以下的功能:
# 假设功能——当前是否存在此类实现?
fs.list_feature_views(group="FRAUD_DETECTION")

或者当前唯一可用的生产级方案仍是按团队分设独立Feature Store,接受跨团队共享受限的代价?

![特征分组示意图]

内容的提问来源于stack exchange,提问作者Mateusz Dorobek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 09:34:53