我可以通过 Web/应用程序连接到 Heroku Postgres 数据库而不会有丢失表的风险吗?
我正在为使用 Heroku Postgres 作为后端的第三方构建 Heroku 应用程序。第三方对安全非常敏感,所以我正在考虑在整个应用程序中应用“分层安全”。例如,在 Web/应用程序层检查 SQL 注入攻击。应用“分层安全”方法我还应该保护数据库,以防错过潜在的 SQL 注入攻击,这可能会删除数据库表。
在我构建的其他系统中,数据库中至少有两个用户。首先是创建/删除表、索引、触发器等的数据库管理员,以及运行权限低于只能插入和更新记录的数据库管理员的应用程序用户。
在 Heroku Postgres 设置中,似乎没有一种方法可以创建另一个具有较少权限的用户(没有“drop table”选项)。因此应用程序必须与默认的 Heroku Postgres 用户连接,因此可能存在“删除表”的风险。
我正在运行 Heroku Postgres Crane 插件。
有没有人反对这个或有任何创造性的工作来解决这个问题?