AWS 有限多租户 IAM 角色

AWS limited multi tenant IAM roles

我打算开发一个基于 AWS 堆栈的多租户平台。对于每个客户,我们称他们为 customerA 和 customerB 我想创建单独的资源并限制它们,使客户 A 无法看到客户 B 的所有内容。

为客户设置的第一步是设置一个具有权限的IAM用户来管理该用户的所有权限。因此,我想授予 IAM 用户创建 IAM 角色和策略并将其分配给用户的权利,但仅限于以资源名称 customerA__* 作为前缀的 ARN。通过这种方式,可以授予用户创建角色的权限,例如按计划授予 dynamoDB 创建 table 角色名称 customerA__rolename 的权限,但我想进一步限制所有角色也需要绑定到此范围,否则 customerA__deleteTable 也可用于删除 customerBs tables.

简而言之:是否可以创建一个 IAM 角色,将所有权限限制为名称 customerA__xyz,并将每个创建的角色的范围限制为名称为 [=20= 的资源]*

如果没有其他建议如何为 AWS 设置多租户权限?我不想为每个客户创建一个单独的 AWS 账户以进行分离,我怀疑这能否以合法的方式实现自动化。

提前致谢:)

确实可以通过编写 permission boundary 来防止 IAM 用户实际授予比他们已经拥有的权限更多的权限(这将允许他们绕过这个)。

权限边界将在权限之前进行评估,因此它的优先级高于用户可以设置的任何权限。

A​​WS 实际上已经在其 How can I use permissions boundaries to limit the scope of IAM users and roles and prevent privilege escalation? 文档页面上创建了一个可用于此用例的全面策略。

如果您将此添加到您的帐户中,您应该能够验证它是否提供了您期望的功能。