【问题标题】:Is it possible to create an IAM Policy that allows the the creation of only limited IAM Permissions?是否可以创建仅允许创建有限 IAM 权限的 IAM 策略?
【发布时间】:2015-12-17 02:40:35
【问题描述】:

作为新客户入职流程的一部分,我需要创建一个 S3 存储桶,创建一个新用户,并授予该用户获取、列出和放入该存储桶的权限。我想自动化这个过程,这意味着我需要创建一个“配置”策略,仅授予服务执行这些操作所需的权限。

在我的配置策略中使用String Conditions 来要求用户和存储桶的名称以特定前缀开头似乎非常简单。但是,PutUserPolicy 似乎只是将文本块作为其参数。我更愿意将我的供应策略限制为只能创建授予我在此处需要的特定权限的策略;理想情况下,只能授予名称与模式匹配的用户获取、列出和放入名称与模式匹配的存储桶的能力。 (如果此政策以某种方式被劫持,我更愿意限制他们创建用户并授予其所有权限的能力。)

有没有办法获得这种级别的细粒度控制?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-iam


    【解决方案1】:

    没有。 IAM 没有详细说明。您不能说“仅允许用户创建具有这些权限的策略”。

    您需要设计您的系统,使该政策不会被劫持。创建模板策略并确保新用户无法向输入中注入任何内容。

    另外,在单独的说明中,使用一个存储桶并在该存储桶中为每个用户提供一个文件夹会被认为是更好的做法。您仍然可以控制对存储桶中密钥的权限。有关更多信息,请参阅blog

    【讨论】:

    • 我同意存储桶;但是,我还需要为每个用户创建一个 SQS 队列,然后将用户凭据交给它来写入,所以我不能完全避免创建一个用户。你是什​​么意思“模板政策”?这是 AWS 中的官方事物,还是您只是指以编程方式创建模板?
    • 我从来没有提到过避免创建用户,也许你误解了我的意思?我的意思是以编程方式创建模板。
    • 我说错了,我的意思是“避免授予用户权限”。我同意以这种方式从模板创建策略是最安全的;我只是对拥有“授予任何权限”权限的角色感到紧张。如果运行此服务器的服务器以某种方式受到威胁(可能性低),它可能允许攻击者快速控制我的 AWS 帐户(风险非常高)。
    • 正如我在回答中所说,这是不可能的。您可以让策略的创建仅仅是一个管理员的事情,或者创建一些 API 或接口来防止“任何东西”被添加到策略中。您可以让一个单独的用户连接此 API/接口,并且它有权创建策略。但是您客户的用户没有此权限。他们将有权访问 API/接口 - 如果安全构建,它将解决您的问题。我认为没有其他选择。
    猜你喜欢
    • 2021-03-10
    • 2020-06-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    相关资源
    最近更新 更多