是否可以创建仅允许创建有限 IAM 权限的 IAM 策略?

Is it possible to create an IAM Policy that allows the the creation of only limited IAM Permissions?

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

使用起来似乎很简单 String Conditions in my Provisioning Policy to require the names of Users and Buckets start with a certain prefix. However, the PutUserPolicy 似乎只是将文本 blob 作为其参数。我更愿意将我的供应策略限制为只能创建授予我在这里需要的特定权限的策略;理想情况下,只能授予名称与模式匹配的用户获取、列出和放入名称与模式匹配的存储桶的能力。 (如果此策略以某种方式被劫持,我宁愿限制他们创建用户并授予其 all 权限的能力。)

有什么方法可以获得这种级别的细粒度控制吗?

没有。 IAM 没有详细介绍。你不能说 "Only allow a user to create a policy with these permissions"。

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

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