问题描述
我们使用 AWS Timestream 数据库规划多租户应用程序。不幸的是数据库does not support any resource-based policy。为了获得隔离,我们需要通过 Lambda 函数以某种方式代理查询,我们可以在其中控制查询(见下文)。我们把它放在 Appsync API 后面。最终,我们希望由与某个租户关联的用户从用户前端运行查询。
用户 -> Webapp -> Appsync -> Lambda -> 时间流
查询将需要具有特定条件,例如:
SELECT * FROM <database>.<table> WHERE tenantId = <tenantId>
理想情况下,我们可以在 Web 应用程序上对查询进行建模并将其发送到后端。但是由于我们需要防止 sql 注入攻击,所以我想知道是否有任何可能性(例如全局 sql 范围或适当的验证等)以安全(隔离)的方式调用数据库?
否则,我们将不得不在后端对每个查询进行建模,或者将查询的某些参数指定为后端固定查询的输入。这是可行的,但没有我想要的那么灵活。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)