【发布时间】:2019-03-16 12:39:45
【问题描述】:
我想问一下,在 terraform 中创建 aws_iam_policy_document 时,是否有人知道“资源”和“主体”之间的区别。
terraform documentation 有以下信息:
resource:此语句适用的资源 ARN 列表。如果用于 IAM 策略,这是 AWS 要求的。
principals:一个嵌套配置块(如下所述),指定了此语句适用的资源(或资源模式)。
从上面两句话看,它们的作用似乎是一样的,甚至认为它们可能会做不同的事情。
在进一步的研究中,我遇到了this article,它解释了基于身份的和基于资源的策略之间的区别。
我觉得这可能是我问题的答案。如果是这样,据我了解,资源是“基于资源”的策略,而主体是“基于身份”的策略。那是对的吗?
如果是这种情况,我的后续问题是:我可以同时使用两种类型的策略来进一步限制访问吗?
例如,如果我在 S3 存储桶上设置了一项资源策略来授予完全公共访问权限,但我为单个用户添加了基于身份的策略,那么该用户是否会成为唯一可以访问该存储桶的用户?
感谢您的帮助,并会尽力澄清任何可能不清楚的地方。
【问题讨论】:
标签: terraform amazon-iam