次の方法で共有


方法 : Caspol.exe を使用してアセンブリのアクセス許可の問題を分析する

更新 : 2007 年 11 月

コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用すると、アセンブリが実行できない、保護されているリソースにアセンブリがアクセスする、動作してはいけないときに動作してしまうなどの症状の原因となる可能性のある問題をトラブルシューティングできます。

アセンブリが実行されない問題を分析するには

  1. –all オプションと –resolveperm オプションを使用して、ポリシーによってアセンブリに与えられたアクセス許可を確認します。

    caspol –all –resolveperm assembly-file

    SecurityPermission クラスに実行フラグが設定されているかどうかをチェックして、アセンブリに実行権限があるかどうかを確認します。セキュリティ アクセス許可セットが制限されていないか、またはフラグ属性に実行フラグが含まれていれば、アセンブリには実行権限があります。

    ディスクへのアクセス、ウィンドウの作成、レジストリへの書き込みなどを行うために、アセンブリから、保護されたリソースにアクセスする必要がある場合は、適切なアクセス許可が設定されているかどうかを確認します。

  2. アクセス許可は、エンタープライズ ポリシー レベル、マシン ポリシー レベル、およびユーザー ポリシー レベルの積集合から与えられるため、アセンブリがアクセス許可を受け取るためには、すべてのレベルにそのアクセス許可が設定されている必要があります。アセンブリに十分なアクセス許可がない場合は、各ポリシー レベルでアセンブリに与えられるアクセス許可を確認します。

    caspol –enterprise –resolveperm assembly-file

    caspol –machine –resolveperm assembly-file

    caspol –user –resolveperm assembly-file

  3. アセンブリが属しているコード グループのメンバシップ条件がきわめて限定的だったり、コード グループに関連付けられているアクセス許可セットに、アセンブリの実行に必要なアクセス許可が含まれていなかったりすると、アセンブリを正しく実行できなくなります。コードに十分なアクセス許可が与えられない場合は、必要なアクセス許可をアセンブリに与える新しいコード グループを作成できます。

    別の方法として、アセンブリが適切なアクセス許可を受け取るように、関連付けられているアクセス許可セットを変更するか、既存のコード グループのメンバシップ条件を変更することもできます。この方法を実行する詳細については、「方法 : Caspol.exe を使用してコード グループを変更する」を参照してください。

保護されているリソースにアセンブリがアクセスしたり、動作してはいけないときに動作したりする問題を分析するには

  • 動作してはいけないときにアセンブリが動作したり、アクセスしてはいけないリソース (ダイアログ ボックスの作成に必要なリソースなど) にアクセスしたりする場合は、アセンブリに与えられているアクセス許可が多すぎる可能性があります。–resolveperm オプションを使用して、アセンブリに与えられているアクセス許可を確認します。次に –resolvegroups オプションを使用して、アセンブリが属するコード グループを特定します。アセンブリに与えられるアクセス許可を制限するには、メンバシップ条件を変更するか、そのアセンブリが属するコード グループに関連付けられているアクセス許可セットを変更します。

参照

概念

セキュリティ ポリシー モデル

参照

コード アクセス セキュリティ ポリシー ツール (Caspol.exe)

その他の技術情報

コード アクセス セキュリティ ポリシー ツール (Caspol.exe) によるセキュリティ ポリシーの構成

Caspol.exe によるセキュリティ ポリシーの問題の解決