1

在问了这个问题之后,我做了一些挖掘,发现了一些政策:

{
  "Effect":"Allow",
  "Action":"*",
  "Resource":"*"
}

在他们中。

再次通读政策评估逻辑页面,第二步对我来说很重要:

  1. 评估所有适用的政策。

我的问题的第一部分是:AWS 如何确定适用哪些政策? 据我了解,这是通过查看Principle和/或Resource键来完成的。

但是:在 IAM 中,这些政策附加了我理解的与原则相同的实体。这就涉及到问题的第二部分: 附加实体对策略做了什么? 据我了解,这只是告诉 AWS 该策略适用于某个角色,但我不明白这如何与"Resource":"*"策略中的 a 一起使用。

所以:

  1. AWS 如何确定适用的政策?
  2. 附加实体对策略做了什么?
  3. 使"Resource":"*"政策始终适用?
4

1 回答 1

2

1> 在发出请求时(使用访问密钥或控制台),您正在传递用户名/角色名称。因此,假设您正在使用 IAM 用户访问 API。因此,AWS 将检查附加到用户的策略、附加到 IAM 组的策略(如果有)。此外,它还会检查是否有任何基于资源的策略,例如 S3 存储桶策略、由请求中的资源确定的 SNS 主题策略。

2> 如果您不将策略附加到 IAM 实体或任何资源(对于基于资源的策略),则该策略不会执行任何操作。附加的实体(我认为您指的是 IAM 实体)用于决定委托人,然后它告诉在哪里检查权限(是否是 IAM 用户,然后检查 IAM 组成员资格等)。

3> Resource:* 表示此策略授予任何 AWS 资源的权限。因此,您提到的策略将翻译为:允许(“Effect”:“Allow”)每个资源(“Resource”:“”)上的每个操作(“Action”: “ ”)。

希望这可以帮助..

于 2017-08-15T18:50:39.193 回答