Gewusst wie: Analysieren von Problemen mit Assemblyberechtigungen mithilfe von "Caspol.exe"

Aktualisiert: November 2007

Mit dem Sicherheitsrichtlinientool für den Codezugriff (Caspol.exe) können Sie Probleme behandeln, die möglicherweise dazu führen, dass eine Assembly nicht ausgeführt wird, auf geschützte Ressourcen zugreift oder zum falschen Zeitpunkt ausgeführt wird.

So analysieren Sie Probleme mit einer Assembly, die nicht ausgeführt wird

  1. Verwenden Sie die Optionen –all und –resolveperm, um die Berechtigungen zu bestimmen, welche die Richtlinie der Assembly gewährt:

    caspol –all –resolvepermassembly-file

    Bestimmen Sie, ob die Assembly zur Ausführung berechtigt ist. Überprüfen Sie hierzu, ob das Ausführungsflag in der SecurityPermission-Klasse festgelegt ist. Wenn die Assembly über Ausführungsrechte verfügt, ist der Sicherheitsberechtigungssatz nicht beschränkt, oder das Flagattribut enthält das Ausführungsflag.

    Wenn die Assembly auf eine geschützte Ressource zugreifen muss (z. B. für den Zugriff auf einen Datenträger, zum Erstellen von Fenstern, zum Schreiben in die Registrierung usw.), überprüfen Sie, ob die entsprechenden Berechtigungen eingestellt sind.

  2. Da sich die Berechtigungssätze der Unternehmens-, Computer- und Benutzerrichtlinienebenen überschneiden, kann eine Berechtigung nur dann von einer Assembly empfangen werden, wenn sie für alle Ebenen festgelegt ist. Wenn für die Assembly nicht ausreichend Berechtigungen festgelegt sind, überprüfen Sie die der Assembly innerhalb der einzelnen Richtlinienebenen gewährten Berechtigungen:

    caspol –enterprise –resolvepermassembly-file

    caspol –machine –resolvepermassembly-file

    caspol –user –resolvepermassembly-file

  3. Wenn die Assembly Teil einer Codegruppe ist, deren Mitgliedschaftsbedingung zu restriktiv ist oder deren Berechtigungssatz nicht die zum Ausführen der Assembly erforderlichen Berechtigungen enthält, kann die Assembly nicht richtig ausgeführt werden. Wenn die dem Code gewährten Berechtigungen nicht ausreichend sind, können Sie eine neue Codegruppe erstellen, die der Assembly die erforderlichen Berechtigungen gewährt.

    Um der Assembly die entsprechenden Berechtigungen zu gewähren, können Sie stattdessen auch den zugehörigen Berechtigungssatz oder die Mitgliedschaftsbedingung einer der vorhandenen Codegruppen ändern. Weitere Informationen zur entsprechenden Vorgehensweise finden Sie unter Gewusst wie: Ändern von Codegruppen mit "Caspol.exe".

So analysieren Sie eine Assembly, die auf geschützte Ressourcen zugreift oder zum falschen Zeitpunkt ausgeführt wird

  • Wenn eine Assembly zum falschen Zeitpunkt ausgeführt wird oder auf die falschen Ressourcen zugreift (z. B. auf Ressourcen, die zum Erstellen von Dialogfeldern erforderlich sind), wurden der Assembly vermutlich zu viele Berechtigungen gewährt. Ermitteln Sie mithilfe der Option –resolveperm, welche Berechtigungen der Assembly gewährt wurden. Stellen Sie anschließend mit der Option –resolvegroups fest, zu welcher Codegruppe die Assembly gehört. Ändern Sie dann entweder die Mitgliedschaftsbedingungen oder die zugeordneten Berechtigungssätze der entsprechenden Codegruppen, um die der Assembly gewährten Berechtigungen einzuschränken.

Siehe auch

Konzepte

Sicherheitsrichtlinienmodell

Referenz

Sicherheitsrichtlinientool für den Codezugriff (Caspol.exe)

Weitere Ressourcen

Konfigurieren der Sicherheitsrichtlinien mit dem Sicherheitsrichtlinientool für den Codezugriff (Caspol.exe)

Lösen von Sicherheitsrichtlinienproblemen unter Verwendung von Caspol.exe