Azure CLI v2中替代v1 az ml workspace share命令实现SP共享工作区
核心原因
Azure CLI的ML扩展v2重构了命令体系,原v1里的az ml workspace share命令已被移除。工作区的权限共享本质是给服务主体分配对应RBAC角色,这也是Azure资源权限管理的标准方式。
替代操作步骤
1. 获取服务主体的对象ID
先拿到你已创建的服务主体的唯一对象ID(用ID比名称更稳妥,避免重名冲突):
az ad sp list --display-name "<你的SP显示名称>" --query "[0].id" -o tsv
2. 给SP分配工作区角色
根据实际需求选合适的角色,常用的有:
- Azure ML Data Scientist:适合需要读写工作区实验、模型等资产的场景
- Azure ML Workspace Contributor:拥有工作区的完全管理权限
- Reader:仅能查看工作区内容,无法修改
执行以下命令完成角色分配(替换所有尖括号里的占位符):
az role assignment create \ --assignee "<SP的对象ID>" \ --role "<选定的角色名称>" \ --scope "/subscriptions/<你的订阅ID>/resourceGroups/<资源组名称>/providers/Microsoft.MachineLearningServices/workspaces/<工作区名称>"
3. 验证权限是否生效
检查SP的角色分配状态,确认权限已正确添加:
az role assignment list \ --assignee "<SP的对象ID>" \ --scope "/subscriptions/<你的订阅ID>/resourceGroups/<资源组名称>/providers/Microsoft.MachineLearningServices/workspaces/<工作区名称>"
额外提示
- 如果需要批量给多个工作区配置权限,可以写个简单的Shell/PowerShell脚本循环执行角色分配命令
- 每个角色的具体权限范围,可参考Azure官方内置角色的ML相关定义
内容的提问来源于stack exchange,提问作者ProtossDragoon
相关产品推荐
相关产品推荐

