SQL Server セキュリティの概要 (ADO.NET)
更新 : November 2007
セキュリティを幾重にも重ねて講じる多層防御は、セキュリティ上の脅威に対抗する最も有効な手段です。SQL Server のセキュリティ アーキテクチャは、データベースの管理者および開発者が安全なデータベース アプリケーションを作成して脅威に対応できるように設計されています。SQL Server は、前のバージョンに新しい機能を導入することによって絶えず進化してきました。しかし、セキュリティを箱詰めして出荷することはできません。アプリケーションには、それぞれ固有のセキュリティ要件があります。開発者は、既知の脅威に対してどのような機能を組み合わせるのが最も効果的かを理解し、将来発生する可能性のある脅威を予測する必要があります。
SQL Server 2005 では、SQL Server 2000 のセキュリティ フレームワークにさまざまな機能強化が施されていますが、基本的なセキュリティ アーキテクチャは変わっていません。SQL Server のインスタンスは、サーバーを頂点とする階層形式のエンティティのコレクションを持ちます。各サーバーには複数のデータベースが存在し、各データベースには、セキュリティ保護可能なオブジェクトのコレクションが存在します。SQL Server へのアクセスが許可されたユーザー、グループ、またはプロセスをプリンシパルと呼び、SQL Server のセキュリティ保護可能なリソースにはすべて、プリンシパルに対して付与することのできる権限が関連付けられています。SQL Server のセキュリティ フレームワークでは、セキュリティ保護可能なリソース エンティティへのアクセスが、認証および承認によって管理されます。
認証は SQL Server にログオンするプロセスです。プリンシパルは、サーバーによって評価される資格情報を送信することによってアクセスを要求します。認証対象となるユーザーまたはプロセスの ID は、認証によって確立されます。
承認は、プリンシパルがアクセスできる、セキュリティ保護可能なリソースと、これらのリソースに対して許可された操作を特定するプロセスです。
このセクションの各トピックでは、SQL Server のセキュリティの基礎を取り上げています。より詳細な情報を確認できるように、該当するバージョンの SQL Server オンライン ブックへのリンクも用意されています。
このセクションの内容
SQL Server での認証 (ADO.NET)
SQL Server のログインと認証の説明のほか、各種リソースへのリンクが記載されています。SQL Server のサーバー ロールとデータベース ロール (ADO.NET)
固定サーバー ロールと固定データベース ロール、カスタム データベース ロール、組み込みアカウントの説明のほか、各種リソースへのリンクが記載されています。SQL Server における所有権とユーザーとスキーマの分離 (ADO.NET)
オブジェクトの所有権とユーザーとスキーマの分離の説明のほか、各種リソースへのリンクが記載されています。SQL Server の承認とアクセス許可 (ADO.NET)
最小特権の原則に基づく権限の付与について説明しているほか、各種リソースへのリンクが記載されています。SQL Server でのデータの暗号化 (ADO.NET)
SQL Server におけるデータの暗号化オプションの説明のほか、各種リソースへのリンクが記載されています。SQL Server の CLR 統合セキュリティ (ADO.NET)
CLR 統合セキュリティ関連リソースへのリンクが記載されています。
参照
概念
SQL Server におけるアプリケーション セキュリティのシナリオ (ADO.NET)