2

さまざまな機能に対して個別のデータソースを用意すると思います。私のほとんどすべての cfquery は select ステートメントであるため、私のデフォルトのデータソースは管理者ですべてオフになっています (select を除く)。

しかし、「挿入/更新/削除」データソースについては、その権限も最小限にできるかどうかを確認したいと思います。

ColdFusion データソース用に Microsoft SQL Server でユーザーを設定するときは常に、[セキュリティ]、[ユーザー]、[新しいユーザー] の下に移動します。「Owned Schemas」の下で db_owner をチェックする習慣を身につけ、「Role Members」の下で db_owner をチェックします。

私はそれをそのように機能させ、振り返っていません。振り返ってみると、ColdFusion データソースに必要以上の権限が与えられているのではないかと考えています。「所有スキーマ」および/または「ロールメンバー」の下に、露出を最小限に抑えることができる別のオプションはありますか?

一体、どの機能をオフにするかがわかっている限り、機能の数を減らしても問題ありません。たとえば、ColdFusion からテーブルを変更することはありません。

ストアド プロシージャのみを許可し、アプリケーションから直接テーブルを更新することは決して許可しないようにアドバイスする人もいますが、私はそのアドバイスには従いません。

4

1 に答える 1

3

あなたがやろうとしているのは、データソース/接続にSQL Serverへのアクセスを最小限に抑えることです。

ColdFusion データソースが実行できるステートメントの種類を制限できるのは事実ですが、実際には SQL 接続で制限を行う必要があります。呼び出されたデータソースEmployee_Infoがあり、実際にはデータの読み取りのみを行うべき ColdFusion アプリに使用されているとしEmployee_Infoます。

あなたがすべきことは、SQL Serverで読み取り専用ログインを作成することです。あなたはそれを呼びたいと思うかもしれませんEmployee_InfoRO

こちらもご覧ください

SQLServer データベースで C# プログラムのアクセス許可を読み取り専用に制限するにはどうすればよいですか?

これは、その質問に対する回答の1つからの画像です

ここに画像の説明を入力

このリンクも役立つ場合があります

SQL Server で新しいログインを作成すると、デフォルトで db_owner が選択されます

ColdFusion を Select に制限しないのはなぜですか?

ColdFusion は、ネイティブの SQL Server エンジンではありません。SQL ステートメントの意味を実際には認識していません。これは、SQL Server エンジンの仕事です。ColdFusion は、選択、挿入、更新、および削除が何であるかについて最善の推測のみを行います。これは文字列の比較によるものであり、非常に重いです。SQL Server エンジンは、ColdFusion よりも DB セキュリティについて詳しく知っています。

于 2013-12-03T06:07:43.130 に答える