You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure上K8s各类主体权限分配差异及相关主体咨询

两个身份的权限场景差异

azurerm_kubernetes_cluster.[name].identity.0.principal_id

这个是AKS集群控制平面托管身份的主体ID,由AKS的控制面管理进程使用,专门用来执行Azure资源侧的集群管理操作,需要分配的权限通常包括:

  • 资源组下创建负载均衡、公网IP、路由表等网络资源的权限
  • 管理节点虚拟机规模集、数据磁盘生命周期的权限
  • ACR拉取权限(如果开启了AKS与ACR的官方集成,控制面会自动将拉取权限同步给节点侧)
  • Azure CNI、Key Vault CSI驱动等网络、存储集成组件的控制面操作权限

azurerm_kubernetes_cluster.[name].kubelet_identity[0].object_id

这个是AKS集群节点侧kubelet进程的托管身份主体ID,作用于所有集群节点上的kubelet服务,适用场景包括:

  • kubelet拉取容器镜像(如果没有开启ACR官方集成,单独给这个身份分配ACR拉取权限即可生效)
  • 节点上运行的系统组件(比如日志、监控采集代理)访问Azure资源的身份凭证
  • 未分配独立Pod身份的工作负载,默认会继承该身份的权限访问Azure资源

注意:如果你的AKS使用用户自行分配的托管身份而非系统自动生成的托管身份,上述两个身份的权限逻辑完全一致,只是对应你预先创建的身份ID。

AKS其他常用相关身份主体

除了上述两个核心身份外,不同场景下你还可能需要给以下身份分配权限:

  • 节点池独立托管身份:如果你给特定节点池单独配置了托管身份,对应主体为azurerm_kubernetes_cluster_node_pool.[name].identity[0].principal_id,该节点池内的节点kubelet会优先使用这个身份,而非集群全局的kubelet身份
  • Workload Identity:给单个Pod分配的独立托管身份,权限仅作用于对应Pod,是生产环境工作负载访问Azure资源的推荐方案,符合最小权限原则
  • 附加组件托管身份:开启Azure Monitor、Application Gateway Ingress、Key Vault CSI Provider等官方附加组件时,每个组件会生成独立的托管身份,需要按需给这些身份分配对应资源的访问权限,比如Key Vault CSI组件的身份需要Key Vault的机密读取权限

内容的提问来源于stack exchange,提问作者mibollma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:18:02