在定义IAM用户角色信任策略的主体时的困惑

时间:2020-06-22 20:04:50

标签: amazon-web-services amazon-iam

我正在研究“用户的IAM角色”,但是我陷于该角色的“信任策略”中。

我想要什么?我希望用户扮演允许访问S3的角色: AmazonS3FullAccess

上下文: 我创建了一个用户user1并为其分配了以下策略:

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::my-aws-account:role/user1Role"
  }
}

然后,我想使用aws iam create-role创建角色user1Role,但是我陷入了--assume-role-policy-document(也就是信任关系策略文档,该策略授予实体假设承担角色)

对于EC2信任策略,我会使用

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Principal": {"Service": "ec2.amazonaws.com"},
    "Action": "sts:AssumeRole"
  }
}

但是对于IAM用户,我不知道如何执行此操作(或应该怎么做)?

1 个答案:

答案 0 :(得分:3)

您可以指定一个IAM用户(或用户数组)作为主体,如以下示例所示:

"Principal": { "AWS": "arn:aws:iam::AWS-account-ID:user/user-name" }

在策略中使用AWS账户标识符作为主体时,您将授权委派给该账户。在该帐户内,可以将策略声明中的权限授予所有身份。这包括该帐户中的IAM用户和角色:

"Principal": { "AWS": "arn:aws:iam::AWS-Account-ID:root" }

有关AWS IAM信任策略中Principal元素的更多详细信息,请参阅documentation