我创建的Azure Kubernetes(AKS)资源查看提示权限不足,如何排查?
可能遗漏的配置项排查
- 集群是否开启了Azure RBAC for Kubernetes Authorization
如果你创建集群时添加了--enable-azure-rbac参数,仅在创建时传入--aad-admin-group-object-ids是不够的,还需要在Azure层面为该AAD组分配Azure Kubernetes Service RBAC Cluster Admin角色,作用范围指定为当前AKS集群。原生Kubernetes RBAC的admin绑定在Azure RBAC开启状态下优先级更低。 - 创建集群时是否显式开启了AAD身份认证
--aad-admin-group-object-ids参数仅在集群开启AAD集成时生效,你可以执行命令az aks show --name <集群名称> --resource-group <资源组名称> --query "aadProfile"检查返回结果是否包含你传入的组ID,如果返回空则说明AAD集成未正常开启,需要重新配置集群AAD属性。 - 访问门户时的租户匹配问题
如果你的账户属于多个AAD租户,确认Azure门户右上角当前登录的租户和AKS集群所属的租户一致,租户不一致会导致身份校验时无法识别你所属的AAD组权限。 - 手动校验Kubernetes侧集群角色绑定是否生效
你可以先通过CLI获取集群本地管理员凭证:az aks get-credentials --name <集群名称> --resource-group <资源组名称> --admin
再执行命令查看默认的AAD管理员绑定是否存在:kubectl get clusterrolebinding aad-cluster-admin-binding -o yaml
如果返回结果中subjects字段没有你指定的AAD组对象ID,可以手动创建绑定:kubectl create clusterrolebinding aad-cluster-admin-binding \ --clusterrole=cluster-admin \ --group=<你的AAD组对象ID> - 本地/门户凭证缓存问题
可以退出Azure门户账号重新登录,清除本地浏览器缓存后再次尝试访问集群资源。
内容的提问来源于stack exchange,提问作者awj
相关产品推荐
相关产品推荐

