セキュリティの考慮事項 (EntityDataSource)

更新 : 2007 年 11 月

EntityDataSource コントロールでは、Entity Framework アプリケーションの開発、配置、および実行に関するセキュリティ上の考慮事項に加えて、コントロールに固有の配慮も必要となります。このトピックの情報だけでなく、安全な .NET Framework アプリケーションを作成するための推奨事項にも従うようにしてください。詳細については、「セキュリティに関する注意事項 (Entity Framework)」を参照してください。

セキュリティについての全般的な考慮事項

セキュリティに関する EntityDataSource コントロール固有の考慮事項を次に示します。

  • 特権レベル
    このコンポーネントは、指定された接続文字列を使用して接続を開きます。接続の特権レベルは、その接続とサーバーの構成に依存します。

  • アクセス制御
    きわめて高いコストのクエリが生成される可能性のあるページは、アクセス制御下に置いて保護する必要があります。

  • 検証されない入力
    クエリの一部分またはクエリ全体に対する入力が検証されない場合、その入力はクライアント側に公開しないでください。アプリケーションでは、クエリの入力として常にパラメータを使用する必要があります。

  • スレッド セーフ
    このコンポーネントはスレッド セーフではありません。ASP.NET では、スレッド セーフであることは要求されません。

  • 例外メッセージ
    Entity Framework では、メタデータ情報の一部が例外メッセージで公開されます。EntityDataSource コントロールには、このような形でのメタデータの公開を防ぐ機構はありません。

  • ポストバック呼び出しの検証
    既定では、ポストバック呼び出しの引数が、サーバー側で ASP.NET によって検証されます。この機能をオフにすると、Web アプリケーションのセキュリティが著しく損なわれる可能性があります。

  • スタック トレース
    既定では、ASP.NET は例外のスタック トレースをエラー ページに表示しません。例外メッセージによってはメタデータの一部を含んでいることがあるため、この機能をオンにすると、特定のメタデータ情報が漏洩する可能性があります。

参照

その他の技術情報

ADO.NET アプリケーションのセキュリティ保護

EntityDataSource Web サーバー コントロールの概要

EntityDataSource を使用したデータ選択

ADO.NET Entity Framework

セキュリティに関する注意事項 (Entity Framework)