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

EKS Fargate中aws-auth配置:集群创建者如何获取管理员权限

AWS EKS aws-auth ConfigMap 相关疑问解答

一、mapRoles字段的作用

mapRoles是aws-auth ConfigMap的核心配置项,用于将AWS IAM角色映射到Kubernetes的用户组与用户名:

  • 当IAM角色通过EKS身份认证流程时,会被分配到配置中指定的K8s用户组,同时获得对应的用户名(配置里的{{SessionName}}是变量,会自动替换为IAM角色会话的实际名称)
  • 你提供的配置里,是把Fargate Pod执行角色映射到system:bootstrappers、system:nodes、system:node-proxier这几个K8s内置组,这些组是给节点相关身份使用的,确保Fargate节点能正常接入集群并完成基础运维操作。

二、集群创建者的管理员权限来源

你当前的aws-auth配置里没有admins组相关内容,是因为EKS集群的初始管理员权限是集群创建时自动配置的,无需在aws-auth里显式声明:

  1. 执行集群创建操作的IAM实体(用户或角色),会被EKS自动加入Kubernetes的system:masters组——这是K8s内置的超级管理员组,拥有集群的全部权限
  2. 这个默认配置不会直接显示在aws-auth ConfigMap中,你可以通过以下命令验证创建者的权限绑定:
kubectl get clusterrolebinding system:masters -o yaml

输出内容会展示绑定到system:masters组的相关身份信息。

三、添加其他管理员的方法

如果需要给其他IAM用户/角色分配管理员权限,需手动在aws-auth的mapUsers或mapRoles中添加配置,将对应IAM身份映射到system:masters组,示例如下:

apiVersion: v1
data:
  mapRoles: |
    # 原有Fargate角色配置
    - groups:
      - system:bootstrappers
      - system:nodes
      - system:node-proxier
      rolearn: arn:aws:iam::accountID:role/eksctl-name-cluster-FargatePodExecutionRole-1JTMRBGU971E6
      username: system:node:{{SessionName}}
    # 新增管理员角色映射
    - groups:
      - system:masters
      rolearn: arn:aws:iam::accountID:role/eks-admin-role
      username: eks-admin
  mapUsers: |
    # 新增管理员用户映射
    - userarn: arn:aws:iam::accountID:user/eks-admin-user
      username: eks-admin-user
      groups:
      - system:masters
kind: ConfigMap
metadata:
  name: aws-auth
  namespace: kube-system

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:51:37