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

如何为IAM Identity Center用户配置EKS aws-auth ConfigMap访问权限?

问题排查要点

首先你贴的aws-auth配置里有个明显语法问题:YAML不支持//格式的注释,你写的// this is role which seems to be assumed by user configured in Identity Center会导致ConfigMap解析失败,先把这个注释改成#或者直接删除,重新应用ConfigMap。

除此之外,还有几个常见遗漏点需要检查:

  • 确认目标角色的信任关系配置
    账户B中的SSO角色(你配置的ARN)需要同时支持两种信任规则:

    1. 保留原有的IAM Identity Center信任规则,确保用户能通过Identity Center扮演该角色;
    2. 添加EKS集群OIDC提供商的信任规则,让EKS能验证该角色的身份。示例信任策略如下:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Federated": "arn:aws:iam::<账户BID>:oidc-provider/oidc.eks.<区域>.amazonaws.com/id/<EKS集群OIDC ID>"
          },
          "Action": "sts:AssumeRoleWithWebIdentity"
        },
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::<账户AID>:root"
          },
          "Action": "sts:AssumeRole",
          "Condition": {
            "StringEquals": {
              "sts:ExternalId": "<你的ExternalId>"
            }
          }
        }
      ]
    }
    
  • 给角色添加EKS控制台访问的IAM权限
    即使映射了system:masters组,IAM角色仍需具备访问EKS控制台的基础权限,比如eks:DescribeCluster、eks:ListClusters,如果集群用SSM存储kubeconfig,还需要ssm:GetParameter。可以直接给角色附加AmazonEKSClusterPolicy托管策略快速满足需求。

  • 验证aws-auth ConfigMap是否生效
    更新ConfigMap后,执行kubectl get configmap aws-auth -n kube-system -o yaml确认配置条目无语法错误,然后等待1-2分钟让kube-apiserver重新加载配置,或者用kubectl get nodes测试集群API访问是否正常。

  • 检查kubeconfig的有效性
    完成SSO认证后,重新生成kubeconfig:

    aws eks update-kubeconfig --name <你的集群名称> --role-arn <账户B的SSO角色ARN>
    

    确保kubeconfig使用的是正确的角色ARN,且凭证处于有效期内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:20:33