セキュリティで保護された ADO.NET アプリケーションを記述するには、ユーザー入力を検証しないなどの一般的なコーディングの落とし穴を回避する以上の作業が必要です。 データにアクセスするアプリケーションには、攻撃者が機密データを取得、操作、または破棄するために悪用できる潜在的な障害点が多数あります。 そのため、アプリケーションの設計フェーズにおける脅威モデリングのプロセスから、最終的なデプロイと継続的なメンテナンスまで、セキュリティのすべての側面を理解することが重要です。
.NET Framework には、データベース アプリケーションをセキュリティで保護および管理するための便利なクラス、サービス、ツールが多数用意されています。 共通言語ランタイム (CLR) は、コードを実行するためのタイプ セーフな環境を提供し、コード アクセス セキュリティ (CAS) を使用してマネージド コードのアクセス許可をさらに制限します。 セキュリティで保護されたデータ アクセスのコーディングプラクティスに従うと、潜在的な攻撃者が与える可能性のある損害が制限されます。
セキュリティで保護されたコードを記述しても、データベースなどのアンマネージド リソースを操作する際に、セキュリティホールが自ら与える問題を防ぐことはありません。 SQL Server などのほとんどのサーバー データベースには独自のセキュリティ システムがあり、正しく実装するとセキュリティが強化されます。 ただし、堅牢なセキュリティ システムを備えたデータ ソースであっても、適切に構成されていない場合、攻撃の被害を受ける可能性があります。
このセクションでは...
セキュリティの概要
セキュリティで保護された ADO.NET アプリケーションを設計するための推奨事項を提供します。
セキュリティで保護されたデータ アクセス
セキュリティで保護されたデータ ソースのデータを操作する方法について説明します。
クライアント アプリケーションのセキュリティ保護
クライアント アプリケーションのセキュリティに関する考慮事項について説明します。
コード アクセスのセキュリティと ADO.NET
ADO.NET コードの保護において CAS がどのように役立つかを説明します。 部分信頼を扱う方法についても説明します。
プライバシーとデータ セキュリティ
ADO.NET アプリケーションの暗号化オプションについて説明します。
関連セクション
DataSet と DataTable のセキュリティ ガイダンス
DataSetとDataTableのセキュリティ ガイダンスを提供します。
SQL Server のセキュリティ
開発者の観点から SQL Server のセキュリティ機能について説明します。
セキュリティに関する考慮事項
Entity Framework アプリケーションのセキュリティについて説明します。
セキュリティ
.NET のセキュリティのすべての側面を説明する記事へのリンクが含まれています。
セキュリティ ツール
セキュリティ ポリシーをセキュリティで保護および管理するための .NET Framework ツール。
セキュリティで保護されたアプリケーションを作成するためのリソース
セキュリティで保護されたアプリケーションを作成するための記事へのリンクを提供します。
セキュリティ文献目録
オンラインおよび印刷で使用できる外部リソースへのリンクを提供します。