0

このデータベース用に作成されたアプリケーションから変更できないように、データベースへの変更を防止したり、データベースの整合性を検証したりする最善の方法は何ですか。

データベースにアクセスするためのユーザー名とパスワードを持っていると仮定すると、読み取りと書き込みが許可されます。

要件:

  • ユーザーには書き込み権限があります
  • (MySQL、Oracle、SQL Server) のような特定のシステムに依存しないでください。

私が探しているソリューションは、データベースに対するユーザーの権限に基づいていません

4

3 に答える 3

0

最近のほとんどのデータベースでは、読み取りと書き込みのアクセス許可を付与できますが、ALTER TABLE などの DDL コマンドは許可されていません。

DB 構造を変更してはならないユーザーに DDL を実行する権限を与えないでください。

「変更」がデータベース構造ではなくデータ行を変更することを意味する場合は、ユーザーに SELECT 権限のみを付与できます。

于 2012-08-15T20:58:12.587 に答える
0

アプリケーションが使用するユーザーまたはアカウントには、データベース サーバーから権限が付与されている必要があります。通常、アクセス許可には次のようなものが含まれます。

  • 選択する
  • 入れる
  • アップデート
  • 消去
  • アルター
  • 落とす

ユーザー アカウントに必要なアクセス許可のみを付与します。つまり、アクセス許可を付与しないAlterと、アプリケーション (または同じログインを使用するユーザー) はテーブルを変更できなくなります。

于 2012-08-15T20:58:52.177 に答える
0

2 つの戦略: 1) SQL Server、Oracle、DB2 などを実行している場合は、ユーザーがデフォルトでリーダー/ライターになるようにアクセス許可を構成できます (つまり、アクセス許可の変更はありません)。2)誰かがデータ構造を変更したかどうかを定期的に確認したり、DBトリガーを設定して変更を検出したり、誰/いつなどを記録したりすることができます(DBプラットフォームによって異なります)

于 2012-08-15T21:00:18.243 に答える