访问AWS EKS出现Unauthorized错误,已配置AWS CLI及管理员权限求排查
核心逻辑:EKS集群认证独立于IAM全局权限
即使你的IAM用户拥有AdministratorAccess,EKS集群默认仅允许创建集群的IAM实体访问,其他用户需要手动添加到集群的认证配置中。以下是具体排查和解决步骤:
检查当前用户是否为集群创建者
如果不是,必须将该用户添加到EKS的aws-authConfigMap(集群级别的认证配置):- 使用集群创建者的账号执行命令获取当前配置:
kubectl get configmap aws-auth -n kube-system -o yaml - 在
mapUsers节点下添加你的用户信息,示例:mapUsers: - userarn: arn:aws:iam::956675039632:user/test-eks-windows username: test-eks-windows groups: - system:masters - 保存为
aws-auth.yaml后更新配置:kubectl apply -f aws-auth.yaml
- 使用集群创建者的账号执行命令获取当前配置:
验证kubeconfig文件有效性
- 查看本地kubeconfig内容,确认集群、用户、上下文信息匹配:
cat ~/.kube/config - 检查用户段的
exec命令是否正确调用AWS CLI获取token,正确格式示例:user: exec: apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - ap-northeast-2 - eks - get-token - --cluster-name - test-eks-cluster command: aws
- 查看本地kubeconfig内容,确认集群、用户、上下文信息匹配:
确认AWS CLI配置上下文
- 检查当前CLI使用的配置是否为目标用户:
aws configure list - 如果存在多个AWS配置文件,执行
update-kubeconfig时需指定对应profile:aws eks --region ap-northeast-2 update-kubeconfig --name test-eks-cluster --profile your-profile-name
- 检查当前CLI使用的配置是否为目标用户:
排查IAM权限限制
- 确认用户拥有
eks:DescribeCluster权限(update-kubeconfig命令依赖此权限获取集群端点等信息) - 检查是否存在组织级SCP(服务控制策略)限制了EKS相关操作
- 确认用户拥有
内容的提问来源于stack exchange,提问作者hhk
相关产品推荐
相关产品推荐

