ADO.NET データ サービスを保護する最善の方法は何ですか? 本番環境でこれを使用した人はいますか? はいの場合、どのセキュリティ オプションを使用しましたか?
3 に答える
ADO .NET Data Service をセキュリティで保護する方法を詳しく説明しているブログ エントリを次に示します。
@tbreffni が優れたブログ エントリを投稿しています。ado.net データ サービス内に加えて、エンティティ アクセス ルールを設定して、基になるエンティティ データ モデル内のさまざまなエンティティにアクセスを提供する方法を制御します。
次のようなコードがあるとします。
public class Northwind : DataService<NorthwindEntities>
{
public static void InitializeService(IDataServiceConfiguration
config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.All);
}
}
SetEntitySetAccessRule メソッドを使用すると、エンティティ モデル全体または特定のエンティティ セットのみを参照し、EntitySetRights 列挙に基づいてアクセス許可を定義できます。次の値が列挙されます。
なし データにアクセスするすべての権利を拒否します。
ReadSingle 単一のデータ項目を読み取る権限。
データのセットを読み取るためのReadMultiple承認。
WriteAppendデータセットに新しいデータ項目を作成する権限。
WriteReplace データを置き換える権限。
WriteDeleteデータセットからデータ項目を削除する権限。
WriteMerge データをマージする権限。
AllReadデータを読み取る権限。
AllWrite データを書き込む権限。
データを作成、読み取り、更新、および削除するすべての権限。
Microsoft ADO.NET サービスを使用するためのチュートリアルでは、このプロセスをここで説明します。EntitySetRights 列挙は、ここに記載されています。
安全な個々のクエリタイプまたはサービス全体を意味しますか?サービス全体の場合は、Windows認証などの標準のIISセキュリティ保護方法を使用できます。Webサービスがサービスを消費している制御されたWindows環境では、ボックス間で許可されたユーザーとなる単一のドメインIDを設定できます。もちろんSSLを使用して、データの暗号化を保護します。