EKS无法使用Kubectl向Kubernetes进行身份验证-“用户:无权执行:sts:AssumeRole”

时间:2019-10-17 14:58:09

标签: amazon-web-services kubernetes amazon-eks

我最初运行aws --region eu-west-1 eks update-kubeconfig --name prod-1234 --role-arn arn:aws:iam::1234:user/chris-devops来访问EKS集群。

在执行类似kubectl get ...的操作时,我收到以下错误:

  

调用AssumeRole时发生错误(AccessDenied)   操作:用户:arn:aws:iam :: 1234:user / chris-devops未经授权   执行:对资源的sts:AssumeRole:   arn:aws:iam :: 1234:user / chris-devops

为什么会出现此错误?如何获得访问权限?

我已经向用户添加了以下内容:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "arn:aws:iam::1234:user/chris-devops"
        }
    ]
}

此外,我还具有完全的管理员访问权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

我已阅读:https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_cant-assume-role

我的理解是我符合所有条件。

2 个答案:

答案 0 :(得分:1)

您的政策有误。用户不能假设其他IAM用户。应该是这样的:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "sts:AssumeRole"
        ],
        "Resource": "arn:aws:iam::1234:role/prod-Eks-1234-admins"
    }
]
}

答案 1 :(得分:0)

aws eks --region eu-west-1 update-kubeconfig --name prod-eks-3flXvI2r --role-arn http://arn:aws:iam::1234:role/prod-eks-1234-admins

我必须指定正确的角色...呜呼