Terraform iam_政策_文件-资源与主体的差异

Terraform iam_政策_文件-资源与主体的差异,terraform,amazon-iam,Terraform,Amazon Iam,我想问一下,在terraform中创建aws_iam_policy_文档时,是否有人知道“资源”和“主体”之间的区别 政府有以下资料: 资源:此语句适用的资源ARN列表。如果用于IAM策略,AWS需要此项 主体:一个嵌套配置块(如下所述),用于指定此语句所应用的资源(或资源模式) 从上面的两句话来看,它们似乎具有相同的效果,甚至认为它们可能会做不同的事情 在进一步的研究中,我加入了accross,这解释了基于身份的政策和基于资源的政策之间的差异 对我来说,这可能是我问题的答案。如果是这样,根

我想问一下,在terraform中创建aws_iam_policy_文档时,是否有人知道“资源”和“主体”之间的区别

政府有以下资料:

  • 资源:此语句适用的资源ARN列表。如果用于IAM策略,AWS需要此项

  • 主体:一个嵌套配置块(如下所述),用于指定此语句所应用的资源(或资源模式)

从上面的两句话来看,它们似乎具有相同的效果,甚至认为它们可能会做不同的事情

在进一步的研究中,我加入了accross,这解释了基于身份的政策和基于资源的政策之间的差异

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

如果是这样,我的后续问题是:我是否可以同时使用这两种策略来进一步限制访问

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


感谢您的帮助,我将尽力澄清任何可能不清楚的地方。

关于这方面的Terraform文档有点混乱。在这种情况下更喜欢AWS文档。然而,当TF指的是主体时,它们的意思是相同的,即谁获得权限。谁可以是用户、组、角色和服务

但是,如果将策略附加到IAM用户、组或角色,则不需要主体,因为用户、组或角色是隐含主体

那么为什么或者什么时候你需要一个主要部门呢?当策略附加到本质上不是用户、组或角色的内容时。例如,S3存储桶策略