Azure Databricks服务主体无法在/Repos目录创建文件夹的权限排查
服务主体在Azure Databricks /Repos目录权限问题及Files in Repos使用建议
一、解决/Repos目录创建文件夹的权限报错
你在流水线执行databricks workspace mkdirs /Repos/sub_folder时遇到的Authorization failed错误,核心是服务主体权限或令牌配置问题,按以下步骤修正:
- 分配目录编辑权限:
要么给服务主体授予Workspace Admin角色,要么在Databricks工作区的「Workspace Access」设置中,找到/Repos路径,为该服务主体添加Edit权限——没有父目录的编辑权限,无法创建子文件夹 - 校验令牌权限范围:
流水线使用的令牌必须包含workspace和repos相关权限,避免使用范围过窄的令牌 - 确认身份有效性:
确保流水线中的服务主体已在Databricks工作区注册,使用的是未过期的Azure AD令牌或Databricks个人访问令牌
二、Files in Repos特性的替代方案(针对/Shared不支持的情况)
既然/Shared目录不支持Files in Repos特性,推荐两种适配你需求的方案:
- 沿用Repos目录托管代码与模型文件:
你原本计划的/Repos/sub_folder/repo_name路径完全可行,解决权限问题后,通过Repos API将代码仓库克隆到该路径,即可利用Files in Repos特性访问仓库内所有非笔记本文件(如Python脚本、模型权重等),运行模型时直接通过相对路径调用即可 - 使用Unity Catalog托管模型文件:
若不想将模型文件放在Repos中,可将模型上传至Unity Catalog关联的外部存储(如ADLS Gen2),通过Unity Catalog配置权限让服务主体访问,运行模型时直接通过Catalog路径读取文件即可
内容的提问来源于stack exchange,提问作者Peter Roche
相关产品推荐
相关产品推荐

