分配Azure Kubernetes Service RBAC Cluster Admin后仍无集群管理员权限问题
AKS 集群 RBAC 权限异常排查说明
遗漏配置排查项
- 角色分配范围不符合要求
Azure Kubernetes Service RBAC Cluster Admin角色必须分配在当前AKS集群本身、集群所属资源组或所属订阅层级,如果仅分配在其他无关资源范围,权限不会同步到集群内。可直接在Azure门户对应AKS资源的「访问控制(IAM)」页签,确认对应用户的该角色分配确实存在于当前AKS的作用域下。 - 未开启 Azure RBAC for Kubernetes 授权功能
仅开启AKS托管AAD和Kubernetes原生RBAC的前提下,Azure层面分配的Azure Kubernetes Service RBAC *系列角色不会自动生效,必须额外开启Azure RBAC for Kubernetes Authorization功能才会打通Azure角色和Kubernetes权限的映射关系。可执行命令az aks show -g <资源组名> -n <集群名> --query enableAzureRbac验证配置状态,若返回false,执行az aks update -g <资源组名> -n <集群名> --enable-azure-rbac开启即可。 - 角色权限同步延迟
新分配的Azure角色权限最长存在5分钟的同步周期,分配完成后立即验证大概率会出现权限未生效的情况,可等待5分钟后再执行命令验证。 - 本地kubeconfig缓存旧身份信息
本地kubeconfig文件可能留存了之前的旧身份凭证,可删除~/.kube/config中对应集群的上下文配置,重新执行az aks get-credentials拉取最新配置后再验证。 - 登录身份与分配角色的用户不匹配
报错信息中的GUID是AAD用户的对象ID,可在Azure AD用户管理页面对比分配了角色的用户的对象ID是否与报错中的一致,排除登录错账号的情况。
认知偏差说明
注意区分两个名称相似的Azure角色:Azure Kubernetes Service Cluster Admin Role是用于获取集群本地管理员kubeconfig的角色,在你禁用本地账户的场景下该角色完全失效;Azure Kubernetes Service RBAC Cluster Admin才是对应集群管理员权限的角色,你当前的角色选型是正确的,无需调整。
内容的提问来源于stack exchange,提问作者Will
相关产品推荐
相关产品推荐

