0

我们使用 AWS Timestream 数据库计划一个多租户应用程序。不幸的是,数据库不支持任何基于资源的策略。为了获得隔离,我们需要以某种方式通过 Lambda 函数代理查询,我们可以在其中控制查询(见下文)。我们把它放在 Appsync API 后面。最终,我们希望与某个租户关联的用户从用户前端运行查询。

用户 -> Webapp -> Appsync -> Lambda -> 时间流

查询将需要具有一定的条件,例如:

SELECT * FROM <database>.<table> WHERE tenantId = <tenantId>

理想情况下,我们可以在 Webapp 上对查询进行建模并将其发送到后端。但是由于我们需要防止 sql 注入攻击,所以我想知道是否有任何可能性(如全局 sql 范围或适当的验证等)以安全(隔离)的方式调用数据库?

否则,我们将不得不在后端对每个查询进行建模,或者将查询的某些参数指定为后端固定查询的输入。这是可行的,但不像我想要的那样灵活。

4

0 回答 0