当前位置: 首页 > ai >正文

快速解决azure aks aad身份和权限问题

现状分析

  • AKS cluster 1.31.8
  • 启用aad 身份验证和kubernetes RBAC

当尝试执行kubectl get node命令时,系统返回以下错误信息:

Error from server (Forbidden): nodes is forbidden: User "357517e8-4df5-4daa-88b4-94a84d763ec5" cannot list resource "nodes" in API group "" at the cluster scope

该错误表明当前用户357517e8-4df5-4daa-88b4-94a84d763ec5没有足够的权限在集群范围内列出nodes资源。这种情况通常发生在Azure AKS集群中,当用户未被正确分配到具有集群管理权限的Azure AD组时。

任务目标

需要解决当前用户无法执行kubectl get node的权限问题,确保用户能够正常访问和列出集群节点。具体任务包括:

  • 验证当前Azure AD组的配置
  • 更新AKS集群的AAD管理员组配置
  • 确认权限变更生效

行动步骤

检查Azure AD组的Object ID

确保已正确识别Azure AD管理员组的Object ID。可以通过Azure门户或Azure CLI查找目标组的Object ID。

更新AKS集群的AAD管理员组配置

使用Azure CLI执行以下命令,更新AKS集群的AAD管理员组配置:

az aks update --resource-group $resourceGroup --name $clusterName --aad-admin-group-object-ids 12bf4353-18b4-46df-a567-5551af78bad8

其中$resourceGroup$clusterName需替换为实际的资源组名称和AKS集群名称。

验证权限变更

执行以下命令验证权限是否已生效:

kubectl get node

 

root cause 分析:

在创建azure aks的时候忘记加上--aad-admin-group-object-ids  参数导致,正确的做法应该加上下面的参数。

az aks create --resource-group myResourceGroup --name myManagedCluster --enable-aad --aad-admin-group-object-ids <id> [--aad-tenant-id <id>] --generate-ssh-keys

另外,在使用azure aad 集成身份验证之前,确保你的电脑上安装了kubelogin,并且添加到系统路径中。有关如何安装kubelogin,请参考微软的技术文档。

http://www.xdnf.cn/news/8924.html

相关文章:

  • Parasoft C++Test软件单元测试_实例讲解(局部静态变量的处理)
  • Ubuntu从0到1搭建监控平台:本地部署到公网访问实战教程Cpolar穿透与Docker部署全过程
  • 云原生微服务devops项目管理英文表述详解
  • 君正Ingenic webRTC P2P库libyangpeerconnection7编程指南
  • 鸿蒙OSUniApp 开发的多图浏览器组件#三方框架 #Uniapp
  • 面试刷题4:java(核心+acm模式)
  • Mac安装配置InfluxDB,InfluxDB快速入门,Java集成InfluxDB
  • 华清远见亮相第63届高博会,展示AI/嵌入式/物联网/具身智能全栈教学解决方案
  • Java中的设计模式:单例模式的深入探讨
  • 【生产实践】华为存储XSG1在RHEL 7.x/8.x上的多路径配置操作手册(生产环境)
  • Taro on Harmony C-API 版本正式开源
  • springcloud---gateway
  • PDF处理控件Aspose.PDF教程:以编程方式合并PDF文档
  • 【LeetCode 热题 100】买卖股票的最佳时机 / 跳跃游戏 / 划分字母区间
  • 力扣HOT100之回溯:22. 括号生成
  • 华为仓颉语言初识:结构体struct和类class的异同
  • SWOT 模型:基础框架的应用价值与改进路径
  • AI时代新词-AI增强现实(AI - Enhanced Reality)
  • 【Linux】进程信号(二):捕抓信号
  • Web攻防-SQL注入数据格式参数类型JSONXML编码加密符号闭合
  • Unity InputField 滑动滚轮 实现对文本的滚动
  • 手机发热怎么办?
  • Dify长期记忆插件: Mem0 与 Memobase
  • model.classifier:分类头
  • 【C/C++】记录一次麻烦的Kafka+Json体验
  • 互联网大厂Java求职面试:AI与大模型应用集成中的架构难题与解决方案-2
  • Go语言方法与接收者 -《Go语言实战指南》
  • 【数据结构】哈希表的实现
  • 【无标题】前端如何实现分页?
  • 数据结构第5章 树与二叉树(竟成)