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

Azure Data Explorer中LightIngest工具的403授权错误排查求助

解决LightIngest导入Azure Data Explorer时的403权限错误

核心原因解析

出现陌生AAD主体的权限报错,是因为LightIngest默认会使用ADX集群的系统托管标识执行数据 ingestion 操作,而非你当前登录的用户账号。你仅给自己的用户添加权限,但工具实际调用的是托管标识,因此权限不匹配导致403禁止错误。

具体修复步骤

  • 步骤1:确认ADX集群托管标识状态
    登录Azure门户,找到目标ADX集群,进入「标识」页面,检查系统分配的托管标识是否已启用。若未启用,先开启该标识。

  • 步骤2:给托管标识添加数据库Ingest权限
    在ADX查询编辑器中执行以下命令,将托管标识的客户端ID/对象ID添加至数据库的Ingestors角色:

    # 使用客户端ID
    .add database <你的数据库名称> ingestors ('aadapp=<托管标识客户端ID>')
    
    # 或使用对象ID
    .add database <你的数据库名称> ingestors ('aaduser=<托管标识对象ID>')
    

    可从ADX集群的「标识」页面复制对应ID。

  • 步骤3:配置ADLS Gen2的权限
    确保ADX的托管标识在ADLS Gen2存储账户中拥有存储Blob数据读取者权限:

    1. 进入存储账户的「访问控制(IAM)」页面
    2. 添加角色分配,选择「存储Blob数据读取者」,指定ADX集群的托管标识为受让人
  • 步骤4:调整LightIngest执行方式(可选)
    若要强制使用当前用户身份执行导入,可在命令中添加-UseAzureCliCredentials参数,此时需确保你登录的Azure CLI账号同时拥有ADX的Ingest权限和ADLS的读取权限:

    LightIngest.exe <原有命令参数> -UseAzureCliCredentials
    

额外排查项

  • 检查LightIngest命令是否指定了-ManagedIdentityClientId参数,若有,需确保该指定的托管标识已获取对应权限
  • 执行.show database <数据库名称> ingestors命令,确认已授权的主体列表中包含目标标识

内容的提问来源于stack exchange,提问作者Alejandro Alvarez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:22:02