2

我是 AWS 新手,但据我了解,角色包含权限策略和信任策略。权限政策似乎很简单——你能做什么。IE:

                "iam:CreatePolicy",
                "iam:GetRole",
                "iam:GetPolicy",
                "iam:DeletePolicy",
                "iam:CreateRole",
                "iam:DeleteRole",
                 ...

另一方面,信任策略是“允许谁做”IE:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::000000000000:role/My-Role"
      },
      **"Action": "sts:AssumeRole"**
    }
  ]
}

AssumeRole 听起来像是“你能做什么”,那么为什么它总是属于信任策略而不是权限策略。继续下去,我了解到 sts:TagSession 也属于信任策略而不是权限策略。我是否遗漏了什么,或者只是 sts 类型的操作属于信任策略?

4

1 回答 1

5

角色的信任策略描述了允许谁或哪个服务担任该角色。通过调用 sts:AssumeRole 来承担角色。

明确说明该操作的原因是 AWS IAM 策略的工作方式。信任策略是一种资源策略,即附加到资源(在本例中为 IAM 角色),它定义了可以使用该资源做什么。

假设一个角色总是需要两个策略一起发挥作用:

委托人(例如 IAM 用户)需要为该角色调用 sts:AssumeRole 的权限,并且该角色必须具有信任策略,允许来自委托人的 sts:AssumeRole。只有当这两个条件都具备时,校长才能担任该角色。必须明确允许委托人,并且角色必须明确信任委托人。

于 2020-05-14T21:40:06.450 回答