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

ADLS Gen2授权权限不匹配:ADF创建数据集失败求助

解决ADF使用Service Principal访问ADLS Gen2容器时的权限不匹配问题

核心排查与修复步骤

针对报错AuthorizationPermissionMismatch,重点聚焦权限配置细节与链接服务有效性:

1. 校验Service Principal的权限适配性

  • 确认分配的角色是ADLS Gen2专用角色:需使用Storage Blob Data Contributor或Storage Data Contributor,避免仅用通用存储角色(这类角色不支持ADLS的文件系统层级操作)。
  • 检查权限分配范围:确保权限直接绑定到目标存储账户或raw-container容器,而非仅上层资源组(继承权限可能存在延迟或配置遗漏)。
  • 等待权限生效:IAM权限通常需要10-15分钟同步,若刚完成配置,先等待再测试。

2. 验证链接服务的Service Principal配置

  • 核对链接服务中的租户ID、应用ID、客户端密钥:必须与Azure AD中注册的Service Principal完全一致,重点检查客户端密钥是否过期,若过期需生成新密钥并更新链接服务。
  • 确认应用ID对应正确的Service Principal,避免混淆其他Azure AD注册应用。

3. 检查ADLS容器的ACL权限设置

  • ADLS Gen2的POSIX-style ACL可能独立于IAM权限生效:
    • 进入存储账户的raw-container容器,查看访问控制(ACL):确保Service Principal(或其所属组)拥有容器的r-x(读取+执行)权限,如需写入则配置rwx。
    • 验证父目录的ACL是否继承到子文件/目录,避免局部权限阻断访问。

4. 排查防火墙的隐性限制

  • 即使公共网络访问已启用,存储账户防火墙可能设置了IP白名单:
    • 若使用托管集成运行时,需将ADF对应区域的IP范围加入存储账户防火墙允许列表;若使用自托管IR,需将其所在机器IP加入。
  • 若存储账户开启了「允许受信任的Microsoft服务访问」,需注意该选项仅适用于托管身份认证,Service Principal认证仍需配置IP允许规则。

5. 直接测试Service Principal的访问能力

  • 用Azure CLI直接验证权限是否有效:
    az login --service-principal -u <应用ID> -p <客户端密钥> --tenant <租户ID>
    az storage fs file list -n raw-container --account-name storage1998acc --auth-mode login
    
    • 若命令报错,说明问题出在Service Principal的权限配置;若命令成功,则需排查ADF链接服务或集成运行时的配置。

内容的提问来源于stack exchange,提问作者Shobha Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:15:23