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

重要 :重要

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

セキュリティ ポリシーとは、共通言語ランタイムがコードに与えるアクセス許可を決定するときに従う、構成可能な一連の規則のことです。 コードは、アセンブリ ファイルによって識別されます。アセンブリ ファイルは、実行可能ファイル (.exe) またはライブラリ (.dll) です。 ランタイムは、コードの発生元である Web サイトやゾーンなど、アセンブリを識別できる特性を調べて、そのコードがリソースに対して持つことができるアクセス権を判断します。 これらの特性は、アセンブリに関連付けられる System.Security.Policy.Evidence として定義されます。 アセンブリの典型的な Evidence は、UrlZoneStrongName、および Hash です。 実行時に、ランタイムは Evidence を使用して、コードがアクセス許可を付与されているリソースにのみアクセスすることを保証します。

セキュリティ ポリシーは、いくつかのコード グループを定義し、それぞれのコード グループにアクセス許可セットを関連付けます。 セキュリティ システムは、Evidence を使用して、アセンブリが属するコード グループを特定します。 すべての証拠が調べられた後で、アセンブリは 1 つ以上のコード グループと関連付けられ、一致するすべてのコード グループに関連付けられているアクセス許可の合計セットが、そのアセンブリに付与されます。

既定では、実行先のコンピューターに存在するアセンブリは、MyComputer ゾーンに含まれます。 MyComputer ゾーンの証拠は、コードを My_Computer_Zone コード グループに配置し、完全信頼のアクセス許可を与えます。 完全信頼のアクセス許可セットは、セキュリティ チェックをバイパスし、すべての保護されたリソースへのアクセスをコードに付与します。 そのため、完全に信頼するソースからのアプリケーションのみをコンピューターにインストールすることがきわめて重要です。 .NET Framework Version 3.5 Service Pack 1 (SP1) では、コンピューターから実行するアセンブリに加えて、イントラネットから実行するアセンブリにも、完全信頼が拡張されます。 したがって、完全に信頼するイントラネット アプリケーションのみを実行する必要があります。 セキュリティ ポリシーの管理者は、イントラネット アプリケーションのポリシーを、以前に付与されていた部分信頼状態に戻すことを決定できます。

既定のセキュリティ ポリシーはほとんどの状況に適していますが、管理者は、それぞれの組織の要件に応じて、セキュリティ ポリシーを変更したりカスタマイズしたりできます。 共通言語ランタイムは、セキュリティ ポリシーに基づいてアセンブリとアプリケーション ドメインの両方にアクセス許可を与えます。

このセクションの内容

関連項目

  • セキュリティ ポリシーの実施
    管理者がマシンまたはエンタープライズのセキュリティ ポリシーを維持するための技法について説明します。

  • セキュリティの基本概念
    .NET Framework のセキュリティを使用する前に理解しておく必要のある、基本的な概念について説明します。

  • アクセス許可
    アクセス許可オブジェクトについて、およびそれらのオブジェクトをランタイムがどのように使用するかについて説明します。

  • コード アクセス セキュリティ
    .NET Framework のコード アクセス セキュリティの詳細、およびコードで使用する方法について説明します。

  • セキュリティ ツール
    .NET Framework に含まれているセキュリティ ツールの一覧を示し、各ツールについて簡単に説明します。