Amazon Cognito提供了基于角色的访问控制(RBAC)功能,该功能允许管理员允许或拒绝用户访问各种AWS资源。但是,假设我有一个在AWS Lambda上运行并使用Cognito进行用户管理的无服务器Webapp。我的应用程序具有自己的一组特定于应用程序的操作(例如,添加小部件,删除wombat,更新foo)。我的数据库对象彼此之间具有关系(例如,每个袋熊都拥有多个foo)。我想拥有记录级别的权限(例如,如果该用户拥有该foo所属的wombat,则该用户只能删除该foo)。这些是特定于应用程序的权限。将每个应用程序特定的权限(作为Web应用程序的开发人员,我很容易理解)映射到基础的AWS服务将是一个巨大的痛苦。此外,如果我想切换到其他AWS服务或其他云服务提供商,则必须完全重做所有权限。最好有一种方法让应用程序管理员/设计人员(例如,我)创建我的应用程序特定的语义上有意义的权限集,并提供一种服务,供我查询以查看给定用户是否具有针对该用户的给定权限。请求对此对象执行操作。 AWS是否提供了这样的服务,还是我必须维护自己的特定于应用程序的权限/角色数据库表并滚动我自己的功能来提供此服务?
有什么建议吗?我在后端语言上使用python,在数据库上使用Amazon RDS上的MYSQL。