【问题标题】:aks: getting unauthorize error while trying to create load balanceraks:尝试创建负载均衡器时出现未经授权的错误
【发布时间】:2021-09-08 01:07:50
【问题描述】:

尝试在 AKS 中创建负载平衡器时出现以下错误,

{"error":{"code":"AuthorizationFailed","message":"客户端 带有对象 ID 的“85e23f21-xxxxxxxxxxx” '85e23f21-xxxxxxxxxxx' 无权执行 在范围内操作“Microsoft.Network/virtualNetworks/subnets/read” '/subscriptions/xxxx-xxxx-xxxx-xxxx-xxxx/resourceGroups/my-vnet/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet' 或范围无效。如果最近授予访问权限,请刷新您的 凭据。"}}

此处的客户端 ID 和对象 ID 相同,这是托管标识的 principalId,因为我的 AKS 群集已启用托管标识。

❯ az aks show -g my-rg -n my-aks --query "identity" { “principalId”:“85e23f21-xxxxxxxxxxx”, "tenantId": "xxxxxxxxxxxxxxxxxxxx", “类型”:“系统分配”, “userAssignedIdentities”:空 }

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

az aks update -g myResourceGroup -n myAKSCluster --enable-azure-rbac

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

【问题讨论】:

标签: azure azure-aks


【解决方案1】:

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

注意

用于创建和使用您自己的 VNet、静态 IP 地址或附加 资源位于工作程序节点资源之外的 Azure 磁盘 组,使用集群 System Assigned Managed 的​​ PrincipalID 执行角色分配的身份。

【讨论】:

  • 感谢@jJean-Philippe Bond 的回复。你能帮我解决我的其他问题吗,stackoverflow.com/questions/68133452/…
  • 假设我使用 resource K 'Microsoft.ContainerService/managedClusters@2021-07-01' = { ... } 创建了带有二头肌的 AKS,哪个主体现在需要此权限?是K.identity.principalId 还是K.properties.identityProfile.kubeletidentity.objectId 还是别的什么?
猜你喜欢
  • 2019-07-13
  • 2021-10-02
  • 2021-01-03
  • 2021-01-29
  • 1970-01-01
  • 1970-01-01
  • 2020-05-18
  • 2011-09-15
  • 2016-03-21
相关资源
最近更新 更多