我最初运行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": "*"
}
]
}
我的理解是我符合所有条件。
答案 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
我必须指定正确的角色...呜呼