基于AWS Feature的许可

时间:2018-08-24 14:28:49

标签: amazon-web-services multi-tenant saas rbac

我正在设计一种将部署到AWS的产品。它将使用Cognito进行用户身份验证。这将是一个多租户应用程序。

该应用程序具有许多模块/功能。定价取决于客户选择的功能。

请提供有关如何实施该功能是否已获得许可的指南。我不想将逻辑放在每个Web api端点内。

1 个答案:

答案 0 :(得分:0)

您应该创建一个应用程序微服务(可通过API调用,但访问权限仅限于您自己的应用程序),以接收以下信息:

  • 经过身份验证的用户ID
  • 想要访问的服务
  • 如果您想要细粒度的访问控制,则为资源级信息

身份验证微服务将查询数据库,应用适当的业务逻辑并返回成功指示符。

最好:

  • 每个请求都应记录在审核记录
  • 如果访问被拒绝,则返回一条错误消息,该错误消息可以提示原因(例如,“此功能需要订阅XYZ模块”)
  • 使用某种形式的缓存使查询超快(例如DAX for DynamoDB或ElastiCache)

许可系统通常比实际应用更复杂!