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

Azure Data Lake Gen1对接Azure Analysis Services服务间认证失败问题

问题原因

你的初步判断正确,1小时后认证失效的核心原因是OAuth客户端凭据流无refresh_token,AAS无法自主刷新过期的访问令牌,同时你的代码还存在两处配置错误:

  1. 客户端凭据流本身不返回refresh_token
    你使用的client_credentials类型OAuth认证流属于无用户参与的服务间认证模式,Azure AD默认不会为该流返回refresh_token。你代码中将access_token直接赋值给RefreshToken字段属于错误配置,该值无法用于换取新的访问令牌,当原有令牌1小时有效期到期后,认证自然失效。
  2. 令牌请求的resource参数错误
    访问Azure Data Lake Gen1资源所需的令牌目标资源应为https://datalake.azure.net/,你当前代码中配置的https://management.azure.com/仅用于调用Azure管理接口,不符合ADLS Gen1的认证规范,会增加认证失效概率。
  3. 数据源配置逻辑不合理
    你当前的实现是将一次性的访问令牌硬编码写入AAS数据源配置,AAS没有存储用于生成新令牌的服务主体凭据,无法自主完成令牌刷新,只能依赖手动更新配置。

解决方案

推荐采用服务主体直连方案,完全规避令牌过期问题:
修改AAS数据源的认证配置,将AuthenticationKind改为ServicePrincipal,无需配置AccessToken、RefreshToken等令牌相关字段,直接填入服务主体的客户端ID、客户端密钥、租户ID即可。AAS会在每次需要访问ADLS Gen1时自动申请有效令牌,无需手动干预。

如果必须保留当前令牌更新逻辑,需要做两处修正:

  • 将令牌请求的resource参数改为https://datalake.azure.net/
  • 配置定时任务,在令牌有效期到期前(建议每50分钟)执行一次PowerShell脚本,更新AAS数据源中的令牌信息。

内容的提问来源于stack exchange,提问作者Ashish-BeJovial

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:09:03