我计划开发一个基于AWS堆栈的多租户平台。对于每个客户,让我们称他们为customerA和customerB。我想创建单独的资源,并限制他们,让customerA不能看到customerB的所有内容。
为客户设置的第一步是设置一个IAM用户,该用户有权管理该用户的所有权限。因此,我想赋予IAM用户创建IAM角色和策略并将其分配给用户的权限,但仅限于以资源名称customerA__*为前缀的ARN。通过这种方式,可以为用户提供创建权限,例如,按计划为角色名称为customerA_rolename的dyneDB创建表权限的角色,但我想进一步限制所有角色也需要绑定到此范围,否则customerA__deleteTable也可以用于删除customerBs表。
简言之:是否可以创建一个IAM角色,该角色限制拥有名称customerA__xyz的所有权限,并将每个创建的角色的范围限制为名称为customerA__*的资源
如果无法提供任何其他建议,如何为AWS设置多租户权限?我不想为每个客户创建一个单独的AWS账户进行分离,我怀疑这是否可以以合法的方式实现自动化。
提前感谢:(
确实有这样的功能,即编写权限边界,阻止IAM用户实际授予比他们现有权限更多的权限(这将允许他们绕过此权限(。
权限边界将在权限之前进行评估,因此它的优先级将高于用户可以设置的任何权限。
AWS实际上已经创建了一个完整的策略,您可以在他们的"我如何使用权限边界来限制IAM用户和角色的范围并防止权限升级"的用例中使用该策略?文档页面。
如果您将其添加到您的帐户中,您应该能够验证它是否提供了您所期望的功能。