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

AWS EC2实例附加全权限角色后访问EKS触发AssumeRole访问拒绝错误

问题排查与解决步骤

1. 核心问题原因说明

报错本质是EC2当前绑定的dev-server-role没有权限调用sts:AssumeRole接口,扮演你在update-kubeconfig中指定的testrole,需要从两端配置验证:

  • 首先验证testrole的信任关系配置
    常见错误:直接添加EC2实例ARN到角色信任策略是无效的,STS请求的主体是EC2所扮演的IAM角色,不是EC2实例本身
    信任策略里的Principal应该填写dev-server-role的ARN,示例信任策略如下:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::769379794363:role/dev-server-role"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
    注意:如果两个角色属于同一个AWS账号,不需要额外配置外部ID等参数,跨账号才需要额外配置
  • 其次验证dev-server-role的权限策略
    需要给dev-server-role添加允许assume testrole的权限,示例策略如下:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "sts:AssumeRole",
          "Resource": "arn:aws:iam::XXXXXXXXXXXX:role/testrole"
        }
      ]
    }
    

2. 验证权限配置生效

配置修改完成后,等待1~2分钟权限生效,在EC2内执行如下命令验证assume角色是否正常:

aws sts assume-role --role-arn arn:aws:iam::XXXXXXXXXXXX:role/testrole --role-session-name test-eks-session

如果命令正常返回凭证信息,说明assume角色配置已经生效。

3. 重新生成kubeconfig并验证访问

执行如下命令重新生成kubeconfig:

aws eks update-kubeconfig --name eks-cluster-name --region aws-region --role-arn arn:aws:iam::XXXXXXXXXXXX:role/testrole

之后执行kubectl get nodes验证集群访问是否正常,如果仍然报错需要确认testrole是否已经被添加到EKS集群的aws-auth ConfigMap中,操作如下:

  • 先使用集群创建者权限或者集群管理员权限查询当前aws-auth配置:
    kubectl get configmap aws-auth -n kube-system -o yaml
    
  • 确认mapRoles字段中已经添加了testrole的权限配置,示例如下:
    mapRoles: |
      - groups:
        - system:masters
        rolearn: arn:aws:iam::XXXXXXXXXXXX:role/testrole
        username: testrole
    

4. 可选简化配置方案

如果你的EC2绑定的dev-server-role本身已经有EKS相关的全量权限,不需要额外扮演testrole的话,可以去掉update-kubeconfig命令中的--role-arn参数,直接用dev-server-role访问EKS,只需要把dev-server-role添加到EKS的aws-auth ConfigMap中即可。


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

相关产品推荐
方舟 Agent Plan

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

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