更新 : 2007 年 11 月
カスタム アクセス許可を実装するアセンブリ、または .NET Framework に含まれていないカスタム セキュリティ オブジェクトを実装するアセンブリは、完全信頼アセンブリ一覧に追加する必要があります。追加するには、コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用できます。一覧はポリシー レベルごとに作成されます。完全信頼アセンブリ一覧のメンバには、関連するポリシー レベルにおいて完全信頼が与えられます。これは、ランタイムによるポリシー解決が循環的に実行されるのを防止するために必要です。
カスタム セキュリティ オブジェクトが実装されたアセンブリを完全信頼アセンブリ一覧に追加するには
アセンブリをセキュリティ ポリシーに追加する前に、このアセンブリに厳密な名前を付け、アセンブリをグローバル アセンブリ キャッシュに格納する必要があります。アセンブリとグローバル アセンブリ キャッシュを操作する詳細については、「厳密な名前付きアセンブリの作成と使用」を参照してください。
コマンド プロンプトに次のコマンドを入力します。
caspol [-enterprise|-machine|-user] –addfulltrust AssemblyFile
ポリシー レベル オプションは –addfulltrust オプションの前に指定します。ポリシー レベル オプションを省略すると、Caspol.exe は、既定のポリシー レベルのアクセス許可セットを一覧表示します。コンピュータ管理者に対する既定のレベルはコンピュータ ポリシー レベルです。その他のユーザーに対する既定のレベルはユーザー ポリシー レベルです。
ユーザー ポリシー レベルの完全信頼アセンブリ一覧に MyCustomPermissionSet.exe を追加するコマンドを次に示します。
caspol –user –addfulltrust MyCustomPermissionSet.exe追加するアセンブリがほかのアセンブリに依存している場合 (つまり、ほかのアセンブリに実装されている型を使用している場合) は、依存するアセンブリも一覧に追加する必要があります。
完全信頼アセンブリ一覧にアセンブリを追加しても、ポリシー システム全体でこのアセンブリに完全信頼が与えられるとは限りません。ただし、その一覧が含まれるポリシー レベルでは、確実に完全信頼が与えられます。たとえば、ユーザー ポリシー レベルの完全信頼アセンブリ一覧に MyCustomPermission.exe アセンブリを追加しても、MyCustomPermission.exe がコンピュータ ポリシーから受け取るのは実行権限だけであるため、最終的に MyCustomPermission.exe には実行権限だけが与えられることになります。したがって、完全信頼アセンブリ一覧にアセンブリを追加しても、その一覧が含まれるポリシー レベルで循環ポリシー解決を防止できるに過ぎないという点を覚えておくことが重要です。カスタム アクセス許可を実装するアセンブリに、実際に完全信頼が与えられるという保証はありません。
参照
概念
参照
コード アクセス セキュリティ ポリシー ツール (Caspol.exe)