【发布时间】:2013-03-04 06:26:24
【问题描述】:
我可以通过网络/应用程序连接到 Heroku Postgres 数据库而不会有丢失表的风险吗?
我正在为使用 Heroku Postgres 作为后端的第三方构建 Heroku 应用程序。第三方对安全非常敏感,所以我正在考虑在整个应用程序中应用“分层安全”。例如,在 Web/应用程序层检查 SQL 注入攻击。应用“分层安全”方法我还应该保护数据库,以防错过潜在的 SQL 注入攻击,这可能会删除数据库表。
在我构建的其他系统中,数据库中至少有两个用户。首先是创建/删除表、索引、触发器等的数据库管理员,以及运行权限低于只能插入和更新记录的数据库管理员的应用程序用户。
在 Heroku Postgres 设置中,似乎没有一种方法可以创建另一个具有较少权限的用户(没有“删除表”选项)。因此应用程序必须与默认的 Heroku Postgres 用户连接,因此可能存在“删除表”的风险。
我正在运行 Heroku Postgres Crane 插件。
有没有人反对这个或有任何创造性的工作来解决这个场景?
【问题讨论】:
-
有人可能会争辩说,如果“第三方非常安全敏感”,那么您根本不应该使用云提供商。 Heroku 或其上游提供商 AWS 有多少人能够访问数据?
标签: postgresql heroku least-privilege