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

如何为Databricks个人访问令牌设置Unity Catalog读取权限并限制访问单一目录

限制Simba ODBC连接到单一Unity Catalog的方法

要解决这个问题,需从权限控制和ODBC连接配置两方面配合操作,确保令牌对应的身份仅能访问指定的Unity Catalog:

1. 严格配置Databricks侧的权限

令牌绑定的用户/服务主体是权限控制的核心,需在Databricks中为该身份移除全局Catalog权限,仅保留目标Catalog的必要权限:

  • 撤销该身份对所有其他Unity Catalog的USE CATALOG权限
  • 仅授予其对目标Catalog的USE CATALOG权限,以及对应Schema、表/视图的细粒度权限
    示例SQL(在Databricks SQL或Notebook中执行):
    -- 撤销所有Catalog的全局权限(若之前存在)
    REVOKE ALL PRIVILEGES ON ALL CATALOGS FROM `your-user-or-service-principal`;
    
    -- 授予目标Catalog的必要权限
    GRANT USE CATALOG ON CATALOG `target-catalog` TO `your-user-or-service-principal`;
    GRANT USE SCHEMA ON SCHEMA `target-catalog.target-schema` TO `your-user-or-service-principal`;
    GRANT SELECT ON ALL TABLES IN SCHEMA `target-catalog.target-schema` TO `your-user-or-service-principal`;
    -- 若需访问视图,添加对应权限
    GRANT SELECT ON ALL VIEWS IN SCHEMA `target-catalog.target-schema` TO `your-user-or-service-principal`;
    

2. 在ODBC连接中强制指定默认Catalog

通过Simba ODBC驱动的配置参数,强制连接默认指向目标Catalog,避免用户尝试切换到其他Catalog:

  • 在ODBC数据源配置界面的Default Catalog字段中,填入目标Unity Catalog名称
  • 或直接在连接字符串中添加参数:
    DefaultCatalog=target-catalog;DefaultSchema=target-schema;
    
    结合第一步的权限控制,即使用户尝试手动切换其他Catalog,也会因权限不足被拒绝。

验证配置效果

完成设置后在Excel中测试:

  • 尝试访问非目标Catalog的表,会收到权限不足的错误提示
  • 确认仅能看到目标Catalog下的Schema、数据表和视图

内容的提问来源于stack exchange,提问作者Seanny Tiemann

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:12:06