1

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

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

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

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

提前致谢 :)

4

1 回答 1

0

通过编写一个权限边界来防止 IAM 用户实际授予比他们已经拥有的权限更多的权限(这将允许他们绕过这个),确实有这个功能。

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

AWS 实际上已经创建了一个完整的策略,您可以在他们的如何使用权限边界来限制 IAM 用户和角色的范围并防止权限升级?文档页面。

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

于 2020-08-22T15:32:26.570 回答