执行kubectl get ns遇AWS EKS权限禁止错误求助
EKS集群
kubectl get ns权限错误排查 问题描述
执行kubectl get ns时返回权限禁止错误:
Error from server (Forbidden): namespaces is forbidden: User "arn:aws:iam::xxxxx:user/xx" cannot list resource "namespaces" in API group "" at the cluster scope
已尝试的无效操作
- 查阅Stack Overflow相关问题及AWS官方排查文档
- 确认EKS-admin角色拥有集群所有资源的完全访问权限
- 通过Terraform将目标IAM用户加入
system:masters组,且已验证kube-system下的aws-auth ConfigMap配置正确 - 创建全新IAM用户并赋予完全访问权限,尝试连接集群仍报错
进一步排查建议
- 确认kubectl上下文:执行
kubectl config current-context,检查当前上下文对应的集群、用户是否与目标EKS集群匹配 - 刷新aws-auth配置:删除并重新应用aws-auth ConfigMap(
kubectl delete configmap aws-auth -n kube-system,再重新apply配置),EKS偶尔会出现配置生效延迟 - 验证当前IAM身份:执行
aws sts get-caller-identity,确认当前使用的IAM用户ARN与报错中的一致,避免本地凭证缓存导致身份不匹配 - 检查
system:masters绑定:执行kubectl get clusterrolebinding system:masters -o yaml,确认绑定的subjects列表中包含目标IAM用户的ARN - 核对OIDC提供商:确认EKS集群已正确配置IAM OIDC提供商,否则集群无法识别IAM身份的权限映射
内容的提问来源于stack exchange,提问作者asavor
相关产品推荐
相关产品推荐

