Azure特定子网部署容器组失败:权限错误求助
解决Azure容器组部署时的InaccessibleNetworkResource权限错误
针对你部署neotys/neoload-controller和neotys/neoload-loadgenerator容器到现有子网时遇到的权限问题,按以下步骤排查解决:
验证服务主体角色分配
检查$CLIENT_ID对应的服务主体在目标资源组的角色,必须包含读取网络资源的权限:- 至少分配**网络参与者(Network Contributor)或参与者(Contributor)**角色;
- 若使用自定义角色,确保包含
Microsoft.Resources/subscriptions/resourcegroups/providers/read和Microsoft.Network/virtualNetworks/subnets/read这两个权限动作。
确认权限范围
角色分配的范围必须覆盖整个目标资源组(/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP),仅给子网单独分配权限会导致部署时无法读取资源组层面的Network提供者信息。刷新凭据
如果刚完成权限分配,执行凭据刷新操作:- Azure CLI环境下运行
az account clear后重新登录; - 若使用服务主体密钥,确认密钥未过期,必要时重新生成密钥并更新部署配置中的凭据信息。
- Azure CLI环境下运行
手动验证权限有效性
用服务主体登录CLI测试子网读取权限:# 服务主体登录 az login --service-principal -u $CLIENT_ID -p $CLIENT_SECRET --tenant $TENANT_ID # 读取子网信息 az network vnet subnet show --resource-group $RESOURCE_GROUP --vnet-name <你的虚拟网络名称> --name <你的子网名称>若命令执行失败,直接证明权限配置存在问题,重新调整角色分配即可。
排查子网跨资源组情况
如果子网所属的虚拟网络不在当前目标资源组,需给服务主体额外分配虚拟网络所在资源组的Network读取权限。
内容的提问来源于stack exchange,提问作者Walter
相关产品推荐
相关产品推荐

