Azure ML Studio Notebook调用模型时无法访问Blob存储的权限问题
解决Azure ML在线端点无权限访问Blob存储音频文件的问题
核心问题分析
给Azure ML Studio或在线端点分配Contributor角色无法解决Blob读取问题,因为Contributor是资源管理权限,不具备Blob数据的读取权限。在线端点运行时依赖自身的托管标识访问外部资源,需要给这个标识分配专门的Blob数据读取权限。
解决方案步骤
确认端点的托管标识
登录Azure门户,进入你的在线端点页面,切换到「标识」标签:- 若为系统分配:标识名称与端点名称一致;
- 若为用户分配:选择已关联的托管标识。
分配Blob存储数据读取权限
- 进入目标Blob存储账户的「访问控制(IAM)」页面;
- 点击「添加」→「添加角色分配」;
- 在角色列表中选择存储Blob数据读取者(注意不是「Contributor」或其他管理角色);
- 在「成员」页面,选择「托管标识」→「选择成员」,搜索并选中端点的托管标识;
- 完成角色分配,等待5-10分钟让权限生效。
验证请求格式
确保请求中的Blob URL为标准格式:{"input_data": {"audio": ["https://<validstorageresourcename>.blob.core.windows.net/test/test.mp3"], "language": ["en"]}}测试端点调用
重新运行你的Python调用代码,无需使用SAS链接即可正常访问Blob中的MP3文件:ml_client.online_endpoints.invoke( endpoint_name='VALIDENDPOINTNAMEREDACTED', request_file=temp_file.name, deployment_name='openai-whisper-large-15', auth=service_principal_auth )
内容的提问来源于stack exchange,提问作者Crump
相关产品推荐
相关产品推荐

