我有一个完全有权访问连接到Ec2实例的EKS、Ec2、IAM的角色。
我正在尝试从这个Ec2实例访问我的EKS集群。我确实将Ec2实例arn添加到实例所扮演的角色的受信任关系中,如下所示。但是,在尝试使用kubectl从Ec2实例中的cli访问集群时,仍然会遇到如下错误。
下面我尝试获得写入执行这些命令的实例hoe目录的kube。
aws sts get-caller-identity
$ aws eks update-kubeconfig --name eks-cluster-name --region aws-region --role-arn arn:aws:iam::XXXXXXXXXXXX:role/testrole我所犯的错误:
error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:sts::769379794363:assumed-role/dev-server-role/i-016d7738c9cb84b96 is not authorized to perform: sts:AssumeRole on resource xxx发布于 2021-10-04 08:36:45
社区wiki提供了更好的可视性。
这个问题是通过从评论中得到一个好的提示来解决的:
如果希望
使用实例配置文件,请不要指定
role-arn。
执行部分已确认:
感谢@jordanm帮助
发布于 2021-10-01 18:32:01
您需要建立信任关系,转到I角色并单击信任关系并添加以下JSON
用帐户id替换XXXXXXXXXXXX
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::XXXXXXXXXXXX:root",
]
},
"Action": "sts:AssumeRole"
}
]
}https://stackoverflow.com/questions/69410491
复制相似问题