在ADF中运行Databricks Notebook时遇“Invalid client secret provided”错误求助
问题排查与解决方案
检查Databricks链接服务的身份验证类型
确认Databricks链接服务的“身份验证类型”是托管标识,而非服务主体。若误选服务主体,即便填入托管标识对象ID,ADF仍会尝试读取客户端密钥,引发混淆。进入链接服务编辑页,验证“托管标识”选择的是与Key Vault链接服务一致的对象。验证Key Vault中存储的密钥内容
错误提示核心是“传入的是密钥ID而非密钥值”,尽管管理员用secret ID执行az login成功,但ADF调用Databricks时需要的是密钥的实际值。登录Key Vault,找到对应密钥,查看当前版本的“值”字段,确认存储的是完整客户端密钥值,而非密钥ID。排查管道中Databricks活动的配置
若管道的Databricks Notebook活动手动指定了服务主体参数(比如动态内容引用错误密钥),会覆盖链接服务的托管标识配置。打开活动的“设置”标签,确认“链接服务”选择正确,且未额外添加服务主体的密钥/ID参数。确认托管标识的权限覆盖范围
链接服务测试通过不代表运行Notebook的权限足够:- 确保托管标识在Databricks工作区拥有Notebook运行权限(比如加入集群权限组,或赋予Workspace User/Developer角色)。
- 确认托管标识对Key Vault的目标密钥有Get权限,且Key Vault链接服务的“密钥权限”已勾选“Get”。
查看客户端密钥与ID的引用位置
- Key Vault链接服务中,“密钥名称”字段引用的是密钥的ID,ADF会自动根据该ID获取对应密钥值。
- 若Databricks链接服务误设为服务主体,“客户端密钥”字段若引用了Key Vault的密钥ID(而非值),就会触发错误。检查该字段是否通过Key Vault链接服务引用,且指向的是密钥值。
内容的提问来源于stack exchange,提问作者Alexis Kan
相关产品推荐
相关产品推荐

