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

Databricks Apps代用户令牌无法识别已添加Scope问题求助

问题解决思路

1. 补全Databricks App的权限声明

Databricks Apps的代用户令牌默认只包含基础权限,必须在App配置里显式声明所需权限范围,才能访问SQL仓库。去Workspace的Settings > Apps > 你的目标App中,添加以下权限:

  • sql/warehouses/use:允许使用SQL仓库
  • sql/statements/execute:允许执行SQL语句
  • 若涉及特定数据库/表,还需添加对应的数据权限范围,比如databricks/sql/access

2. 修正WorkspaceClient的认证类型

你当前指定了auth_type='pat',但X-Forwarded-Access-Token是代用户的委托令牌,并非个人访问令牌(PAT)。直接去掉auth_type参数,SDK会自动识别令牌类型:

wc=WorkspaceClient(
    host=os.environ['DATABRICKS_HOST'],
    token=user_token
)

3. 验证用户对目标仓库的直接权限

就算你是工作区管理员,也得确保:

  • 用户被添加到目标SQL仓库的权限列表中,拥有USE权限(在SQL仓库的Permissions页面配置)
  • 用户对查询涉及的数据库/表有SELECT权限

4. 检查令牌的实际权限范围

可以在代码里加一段逻辑,验证令牌的有效权限:

# 在hello_world函数中添加,查看令牌对应的权限
permissions = wc.permissions.get(f"warehouses/abcd123456")
print(permissions)

这能帮你确认令牌是否真的包含了访问SQL仓库所需的权限。

常见误区提醒

  • 工作区管理员权限不自动覆盖所有SQL仓库权限,必须单独配置仓库级权限
  • 代用户令牌的权限受App配置限制,哪怕用户本身有足够权限,App没声明的范围令牌也无法访问

内容的提问来源于stack exchange,提问作者akhil pathirippilly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:42:10