我在同一个aws帐户中有两个IAM角色
IAM_ROLE_1 :具有ec2启动权限和s3读取权限的
IAM_ROLE_2 :它只能通过IAM_ROLE_1的信任来访问lamda
我能够从一个附加了IAM_ROLE_2的实例中假设IAM_ROLE_1。
现在,我想在假设s3之后读取一个IAM_ROLE_1可以访问的IAM_ROLE_2位置。我的理解是,我可以用"iam:passrole“来做到这一点。
这是否正确的理解?
当我将下面的内容添加到IAM_ROLE_1中时,假设IAM_ROLE_2 &访问s3桶,它仍然会抛出访问拒绝错误。
{
"Sid": "allowpassrole",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": [
"arn:aws:iam::00000001:role/IAM_ROLE_2"
]
}发布于 2020-03-24 07:19:07
一组凭据仅在任何时候与一个 IAM用户或IAM角色相关联。因此,要使用与IAM角色1关联的权限进行调用,需要使用与该角色关联的凭据(而不是IAM角色2)。
要使用IAM角色1,只需创建一个Amazon客户端对象,而不指定凭据。然后,它将使用与实例相关联的IAM角色1。
iam:PassRole用于允许服务代表您承担角色。例如,当启动将角色设置为example 1的Amazon实例时,您将需要使用EC2角色1的PassRole权限,如果没有该权限,您将无法使用该角色启动EC2实例。
PassRole不用于在角色之间传递权限。
https://stackoverflow.com/questions/60824346
复制相似问题