【问题标题】:Terraform iam_policy_document - diff. of resource vs. principalTerraform iam_policy_document - 差异。资源与本金
【发布时间】:2019-03-16 12:39:45
【问题描述】:

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

terraform documentation 有以下信息:

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

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

从上面两句话看,它们的作用似乎是一样的,甚至认为它们可能会做不同的事情。

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

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

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

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

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

【问题讨论】:

    标签: terraform amazon-iam


    【解决方案1】:

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

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

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

    HTH!

    【讨论】:

      猜你喜欢
      • 2021-02-23
      • 1970-01-01
      • 2021-12-05
      • 2021-01-03
      • 1970-01-01
      • 2019-11-17
      • 2018-01-21
      • 2021-10-10
      • 2019-12-08
      相关资源
      最近更新 更多