セキュリティ ポリシー レベル

重要 :重要

.NET Framework Version 4 では、共通言語ランタイム (CLR: Common Language Runtime) がコンピューターにセキュリティ ポリシーを提供しなくなります。Microsoft では、CLR のセキュリティ ポリシーの代替として、Windows のソフトウェアの制限のポリシーを使用することをお勧めしています。このトピックの情報は、.NET Framework Version 3.5 以前に適用され、Version 4 以降には適用されません。この変更およびその他の変更の詳細については、「.NET Framework 4 におけるセキュリティの変更点」を参照してください。

.NET Framework には、アセンブリまたはアプリケーション ドメインに与えるアクセス許可を計算するために、4 つのセキュリティ ポリシー レベルがあります。 各ポリシー レベルには、それぞれ独自のコード グループ階層構造とアクセス許可セットがあります。 ランタイムは、許可されるアクセス許可セットを計算するときに、それぞれのポリシー レベルからアセンブリに与えられたアクセス許可の積集合を求めます。 結果として与えられるアクセス許可は、関係するすべてのポリシー レベルによって許可されたアクセス許可の合計になります。

.NET Framework セキュリティによって提供される 4 つのセキュリティ ポリシー レベルの説明を次の表に示します。

ポリシーの種類

設定者

対象

エンタープライズ ポリシー

管理者

エンタープライズ構成ファイルが配布されているエンタープライズ設定に含まれるすべてのマネージ コード。

コンピューター ポリシー

Administrator

コンピューター上のすべてのマネージ コード。

ユーザー ポリシー

管理者またはユーザー

共通言語ランタイムの起動時に現在のオペレーティング システムのユーザーに関連付けられている全プロセスに含まれるコード。

アプリケーション ドメイン ポリシー

アプリケーション ドメイン ホスト コード

ホストのアプリケーション ドメインに含まれるマネージ コード。

ポリシー レベルは階層構造になっており、上のレベルから順にエンタープライズ ポリシー、コンピューター ポリシー、ユーザー ポリシー、アプリケーション ドメイン ポリシーとなっています。 ランタイムは、アセンブリに与えるアクセス許可を計算するときに、この階層構造の最上位から順に下のレベルを調べていきます。 下位のポリシー レベルは、上位のレベルによって与えられたアクセス許可を増やすことはできませんが、減らすことはできます。 既定では、ユーザー ポリシーとアプリケーション ドメイン ポリシーの方が、コンピューター ポリシーとエンタープライズ ポリシーよりも制限が緩和されています。 既定のポリシーの大部分は、マシン レベルで設定されます。 既定のセキュリティ設定の詳細については、「既定のセキュリティ ポリシー」を参照してください。

ランタイムがアセンブリにアクセス許可を与えるときには、アセンブリによって要求されたアクセス許可に加えて、既存のすべてのポリシー (エンタープライズ、マシン、ユーザー、およびアプリケーション ドメイン) の要件が考慮されます。

アプリケーション ドメインにアクセス許可を与えるときには、エンタープライズ、マシン、ユーザーの各ポリシーが使用されます。

参照

概念

アクセス許可の付与

既定のセキュリティ ポリシー

その他の技術情報

セキュリティ ポリシーの管理