解决Azure ML计算集群访问Data Lake Gen2存储权限问题(Python SDK v2)
Azure ML计算集群访问Data Lake Gen2权限问题解决办法
先确认托管标识的正确信息:计算集群启用托管标识后,系统分配的标识会有专属名称(一般是
azureml-cluster-xxxx这类格式)。你可以去Azure门户的集群详情页,进入「标识」→「系统分配」页面,既能看到主体ID,也能获取到这个标识的名称——后面加权限要用这个名称,不是主体ID。给集群标识添加Data Lake权限的正确操作:
- 打开你的Data Lake Gen2存储账户,进入「访问控制(IAM)」页面
- 点击「添加」→「添加角色分配」,根据实际需求选择合适的权限角色(比如「存储Blob数据参与者」)
- 切换到「成员」选项卡,点击「选择成员」,直接输入集群托管标识的名称,搜索结果出来后选中该标识,完成角色分配即可
等待权限同步后测试:IAM权限生效需要5-10分钟的同步时间,别刚加完就跑管道,等同步完成后重新提交管道到集群运行,验证权限问题是否解决
额外排查要点:
- 确保管道代码里用的是集群的托管标识访问存储,而非硬编码的其他凭据
- 如果用的是用户分配的托管标识,创建集群时必须指定该标识,同时给这个用户分配标识添加Data Lake权限
- 之前给工作区所有者加权限没用是正常的,因为集群执行任务时用的是自身托管标识的身份,而非工作区所有者的身份
内容的提问来源于stack exchange,提问作者the programmer
相关产品推荐
相关产品推荐

