SQL Server のセキュリティ (ADO.NET)
更新 : November 2007
SQL Server は、安全なデータベース アプリケーションの作成を支援するさまざまな機能を備えています。SQL Server のセキュリティ機能はバージョンアップを重ねるごとに進化し、強化されてきました。SQL Server 2005 および 2008 にも、SQL Server 2000 には存在しない強化されたセキュリティ機能が存在します。
データの盗難や破壊など、セキュリティに関する基本的な考慮事項は、使用している SQL Server のバージョンに関係なく当てはまります。また、データの整合性もセキュリティの問題として考慮する必要があります。データの保護を怠り、その場しのぎでデータの操作を許可すると、不注意でまたは意図的に不正確な値に置き換えられたり、完全に削除されてしまうことによってデータの価値が失われてしまうこともあります。加えて、機密情報の適切な保管方法など、遵守すべき法的要件が存在します。特定の司法管轄域の法令によっては、一部の種類の個人データについて、保管すること自体が完全に禁止されている場合もあります。
SQL Server の各バージョンにはそれぞれ異なるセキュリティ機能があり、Windows と同様、新しいバージョンほど機能が強化されています。ただし、セキュリティ機能だけでは、データベース アプリケーションの安全性は保証されません。この点を理解することが重要です。データベース アプリケーションの要件、実行環境、配置モデル、物理的な場所、およびユーザー数は、アプリケーションごとに異なります。使用範囲がローカルに限定されている一部のアプリケーションでは最小限のセキュリティで済む場合もありますが、インターネット経由で配置されたアプリケーションには、きわめて強固なセキュリティ対策と継続的な監視および評価が要求されます。
SQL Server データベース アプリケーションのセキュリティ要件は、事後的対策としてではなくデザイン時に考慮することが大切です。開発サイクルの初期段階で脅威を評価すれば、どこで脆弱性が見つかろうと潜在的な損害を緩和する機会は得ることができます。
アプリケーションの初期設計に問題がなくても、システムの進化に伴って新しい脅威が出現する可能性があります。データベースを多層的に防御することにより、セキュリティ侵害によって受ける損害を最小限に抑えることができます。防御の第 1 段階は、本当に必要な権限以外は決して付与しないという方針の下、攻撃者に与える隙を減らすことです。
このセクションの各トピックでは、開発者に関係のある SQL Server のセキュリティ機能を簡単に説明します。SQL Server オンライン ブックの関連項目へのリンクのほか、より掘り下げて解説したリソースへのリンクも示しています。
このセクションの内容
SQL Server セキュリティの概要 (ADO.NET)
SQL Server のアーキテクチャおよびセキュリティ機能について説明します。SQL Server におけるアプリケーション セキュリティのシナリオ (ADO.NET)
ADO.NET および SQL Server アプリケーションに該当するさまざまなセキュリティ シナリオを取り上げます。SQL Server Express のセキュリティ (ADO.NET)
SQL Server 2005 Express のセキュリティ上の考慮事項を説明します。
関連するセクション
セキュリティと保護 (データベース エンジン)
SQL Server 2008 オンライン ブックのセキュリティ トピックです。SQL Server のセキュリティに関する注意点
SQL Server 2005 オンライン ブックのセキュリティ トピックです。セキュリティの管理
SQL Server 2000 オンライン ブックのセキュリティ トピックです。SQL Server 2000 SP3 のセキュリティ機能とベスト プラクティス : SQL Server 2000 セキュリティ モデル
Microsoft TechNet の解説記事です。セキュリティに関する推奨事項が、ソース コード例やセキュリティのベスト プラクティスをまとめたチェック リストと共に詳しく説明されています。SQL Server セキュリティ センター
SQL Server データベースのセキュリティを保護するためのガイダンスおよび手順を提供する TechNet Web サイトです。