AWS IAM 适用政策和附加实体

AWS IAM applicable policies and attached entities

在询问 问题后,我进行了一些挖掘,发现了一些政策:

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

其中。

再次阅读 policies evaluation logic 页面,第二步对我来说很突出:

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

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

但是:在 IAM 中,这些政策附加了实体,据我所知,这些实体与原则相同。这就到了问题的第二部分: 附加实体对策略有何作用? 据我所知,这一切只是告诉 AWS 该政策适用于某个角色,但我不明白这是如何与政策中的 "Resource":"*" 一起工作的。

所以:

  1. AWS 如何确定哪些政策适用?
  2. 附加实体对策略有何作用?
  3. 使 "Resource":"*" 政策始终适用?

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

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

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

希望这对您有所帮助..