是否可将EKS集群的原始创建者更换为其他角色?
EKS集群原始创建者身份变更问题解答
首先明确官方规则对应说明:
你无需将
cluster_creator(集群创建者)添加到aws-authConfigMap即可获取Amazon EKS集群的管理员权限。默认情况下,集群创建者对其创建的Amazon EKS集群拥有管理员访问权限。
核心结论
- EKS 不支持直接修改集群内置绑定的原始创建者身份,该管理员权限是集群创建时由EKS控制面自动配置的,没有公开接口可以调整或替换这个默认身份绑定。
- 你完全不需要通过新建集群、迁移资源的方式完成权限归属转移,只要完成标准权限配置后,主动停用原始创建者身份即可,不会对集群运行产生任何影响。
具体操作流程
- 持原始创建者身份访问集群,确认
aws-authConfigMap(位于kube-system命名空间)中已经正确配置目标角色的映射规则,要给目标角色绑定system:masters用户组以授予完整集群管理员权限,配置参考如下:
apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: arn:aws:iam::<你的账号ID>:role/<你的目标IAM角色名称> username: target-cluster-admin groups: - system:masters
- 切换身份为目标IAM角色,验证集群访问能力:执行
kubectl get nodes、kubectl edit configmap aws-auth -n kube-system等管理员操作,确认目标角色权限完全生效。 - 为避免之前误删ConfigMap导致锁集群的问题,可以在IaC配置(比如你的Terraform模板)中给
aws-auth资源加lifecycle { prevent_destroy = true }的防销毁规则,同时给该ConfigMap配置RBAC访问控制,限制只有指定管理员角色可以修改或删除它。 - 所有验证完成后,直接在IAM侧禁用、删除原始创建者对应的IAM用户/角色的访问凭证,回收该身份的所有访问权限即可,不需要在EKS侧做额外调整。
补充说明
EKS控制面内置的原始创建者管理员绑定规则,只会在请求方使用对应原始创建者IAM身份鉴权时生效,只要你不再使用该身份发起请求,这条内置规则不会产生任何安全风险,也不会干扰你使用其他角色完成集群运维操作。
内容的提问来源于stack exchange,提问作者Joost Pastoor
相关产品推荐
相关产品推荐

