テーブルをドロップするリスクなしに、Web/アプリケーション経由で Heroku Postgres データベースに接続できますか?
バックエンドに Heroku Postgres を使用するサードパーティ向けの Heroku アプリケーションを構築しています。サードパーティはセキュリティに非常に敏感であるため、アプリケーション全体に「レイヤード セキュリティ」を適用することを検討しています。たとえば、Web/アプリケーション層で SQL インジェクション攻撃をチェックします。「階層化されたセキュリティ」アプローチを適用して、データベース テーブルを削除する可能性のある潜在的な SQL インジェクション攻撃を見逃す場合に備えて、データベースを保護する必要もあります。
私が構築した他のシステムでは、データベースに最低 2 人のユーザーが存在します。まず、テーブル、インデックス、トリガーなどを作成/削除するデータベース管理者と、たとえばレコードの挿入と更新しかできないデータベース管理者よりも低い権限で実行するアプリケーション ユーザーです。
Heroku Postgres セットアップ内では、(「ドロップ テーブル」オプションなしで) 権限の低い別のユーザーを作成する方法はないようです。そのため、アプリケーションはデフォルトの Heroku Postgres ユーザーに接続する必要があるため、「ドロップ テーブル」のリスクが存在する可能性があります。
Heroku Postgres Crane アドオンを実行しています。
誰かがこれに反対したり、このシナリオに対して創造的な回避策を講じたりしましたか?