地形iam_policy_document-差异资源与委托人的关系

时间:2018-10-11 12:19:12

标签: terraform amazon-iam

我想问的是,在以Terraform创建aws_iam_policy_document时,是否有人知道“资源”和“主要”之间的区别。

terraform documentation具有以下信息:

  • 资源:此语句适用的资源ARN列表。如果用于IAM策略,则AWS要求这样做。

  • 原理:一个嵌套的配置块(如下所述),指定此语句适用的资源(或资源模式)。

通过阅读以上两个句子,看起来他们具有相同的效果,甚至认为他们可能会做不同的事情。

在进一步研究中,我遇到了this article,它解释了基于身份的政策和基于资源的政策之间的区别。

对我来说,这可能是我的问题的答案。如果是这样,据我了解,资源是“基于资源”的策略,而主体是“基于身份”的策略。那是对的吗?

如果是这种情况,我的后续问题是:我可以同时使用两种类型的策略来进一步限制访问吗?

例如,如果我在S3存储桶上有一个资源策略可以授予完全的公共访问权,但是我没有为单个用户添加基于身份的策略,那么该用户是否成为唯一可以访问存储桶的用户? >

感谢您的帮助,我们会尽力澄清可能不清楚的地方。

1 个答案:

答案 0 :(得分:1)

关于此的Terraform文档有点混乱。在这种情况下,请首选AWS文档。但是,当TF引用 Principal 时,它们的含义相同,即获得许可。谁可以成为用户,组,角色和服务。

但是,当您将策略附加到IAM用户,组或角色时,则不需要主体,因为用户,组或角色是隐含的主体。

那么,为什么或何时需要主要部分?当策略附加到本质上不是用户,组或角色的内容时。例如,S3存储桶策略。

HTH!