CLR 統合のセキュリティ
更新 : 2005 年 12 月 5 日
Microsoft .NET Framework CLR (共通言語ランタイム) と Microsoft SQL Server を統合したセキュリティ モデルは、SQL Server 内で使用されるさまざまな種類の CLR オブジェクトと CLR 以外のオブジェクトとの間のアクセスを管理し、セキュリティで保護しています。これらのオブジェクトは、Transact-SQL ステートメントやサーバー内で使用される別の CLR オブジェクトから呼び出すことができます。オブジェクト間の呼び出しをリンクと呼びます。このようなオブジェクトに対して実行されるセキュリティ チェックの種類は、関連するリンクの種類によって異なります。
CLR 統合のセキュリティ モデルは、次のことを目標にしています。
- 既定で、SQL Server に対するマネージ ユーザー コードの実行によって、SQL Server の整合性や安定性が損なわれることのないようにする。SQL Server の堅牢性を侵害する可能性のある操作の実行は、レベルの高い適切な権限によって保護されるようにする。
- マネージ ユーザー コードは、データベース内のユーザー データや他のユーザー コードに対して、未承認のアクセスを行わない。ユーザー定義コードは、そのコードを呼び出したユーザー セッションのセキュリティ コンテキストで実行する。実行には、そのセキュリティ コンテキストにおける適切な特権を使用する。
- ユーザー コードからサーバー外部のリソースへのアクセスを禁止するための制御機能を備える。ユーザー コードの使用は、ローカル データのアクセスおよびコンピューティングに限定する。
- SQL Server プロセスで実行することによって、ユーザー定義コードがシステム リソースへの未承認のアクセス手段を獲得してはならない。
SQL Server では、SQL Server のユーザーベースのセキュリティ モデルと CLR のコード アクセスベースのセキュリティ モデルが統合されました。このセクションでは、このようにセキュリティ モデルを組み合わせたアプローチによるメリットの一部を紹介します。
次の表に、このセクションのトピックの一覧を示します。
トピック | 説明 |
---|---|
マネージ コードのコード アクセス セキュリティ (CAS) モデルについて説明します。 |
|
SAFE アセンブリと EXTERNAL_ACCESS アセンブリで許可されていないホスト保護属性 (HPA) の値に関する情報を提供します。 |
|
SQL Server 内のユーザー コードが相互に呼び出すしくみを説明します。 |
|
権限借用を使用してマネージ コードが外部リソースにアクセスするしくみを説明します。 |
|
マネージ メソッドが別のアセンブリに含まれるクラスのメソッドを起動する際に生じる問題について説明します。 |
|
アセンブリがアプリケーション ドメインに読み込まれるしくみを説明します。 |
参照
概念
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 4 月 14 日 |
|
2005 年 12 月 5 日 |
|