aks:尝试创建负载均衡器时出现未授权错误

use*_*018 5 azure azure-aks

我在尝试在 AKS 中创建负载均衡器时遇到以下错误,

\n
\n

{“错误”:{“代码”:“AuthorizationFailed”,“消息”:“对象 ID 为\n'85e23f21-xxxxxxxxxxxx'的客户端\n'85e23f21-xxxxxxxxxxxx'无权执行\n操作“Microsoft.Network” /virtualNetworks/subnets/read' 范围\n'/subscriptions/xxxx-xxxx-xxxx-xxxx-xxxx/resourceGroups/my-vnet/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet'\范围也无效。如果最近授予了访问权限,请刷新您的\nc凭据。"}}

\n
\n

此处的客户端和对象 ID 相同,这是托管身份的委托人 ID,因为我的 AKS 群集启用了托管身份。

\n
\n

\xe2\x9d\xaf az aks show -g my-rg -n my-aks --query "identity"\n{\n"principalId": "85e23f21-xxxxxxxxxxxx",\n"tenantId": "xxxxxxxxxxxxxxxxxxxx", \n"type": "SystemAssigned",\n"userAssignedIdentities": null\n}

\n
\n

我还azure RBAC为我的 aks 集群启用了

\n
az aks update -g myResourceGroup -n myAKSCluster --enable-azure-rbac\n
Run Code Online (Sandbox Code Playgroud)\n

这里缺少什么,如何授予许可?请帮忙。

\n

Jea*_*ond 2

这可能是因为您的 VNet 不在工作节点资源组中,因此默认情况下系统分配的标识只能管理该资源组内的资源。您需要对集群系统分配的托管标识的主体 ID 进行角色分配,以授予其对该资源组之外的托管资源的权限。来自Azure 文档

笔记

要创建和使用自己的 VNet、静态 IP 地址或附加的 Azure 磁盘(其中资源位于工作线程节点资源组之外),请使用群集系统分配的托管标识的 PrimaryID 来执行角色分配。