Erweitern von Berechtigungen
Aktualisiert: November 2007
Verwaltete Anwendungen, die für die Ausführung umfangreichere Berechtigungen erfordern als in der aktuellen Richtlinie vorgesehen, lösen je nach Art ihrer Erstellung eine Ausnahme aus, können nicht ausgeführt werden oder sind nicht vollständig funktionsfähig. Mithilfe des Permissions View-Tools (Permview.exe) können Sie die erforderlichen Mindestberechtigungen, optionalen Berechtigungen sowie die je nach Assembly verweigerten Berechtigungen anzeigen lassen, um die von der Assembly angeforderten mit den tatsächlich erteilten Berechtigungen zu vergleichen. Beachten Sie, dass dieses Tool nur Berechtigungen anzeigt, die von der Anwendung ausdrücklich unter Verwendung der deklarativen Syntax angefordert werden. Mit diesen Informationen können Sie die von der Assembly empfangenen Berechtigungen erweitern, indem Sie eine neue benutzerdefinierte Codegruppe erstellen und diese einem neuen benutzerdefinierten Berechtigungssatz zuordnen, der sämtliche Berechtigungen enthält, die von der Anwendung für eine fehlerfreie Ausführung benötigt werden. Sie sollten die Berechtigungen jedoch nur erweitern, wenn Sie der Quelle der Anwendung vertrauen. Vertrauenswürdigkeit sollten Sie nur bei ausreichend zuverlässigen Beweisen erklären. (In den meisten Fällen verfügen Administratoren über mehrere benutzerdefinierte Codegruppen, mit denen verschiedene Anwendungen, die ähnliche Berechtigungen erfordern, in Kategorien zusammengefasst werden können.)
Angenommen, es ist eine Anwendung vorhanden, auf die mehrere Benutzer häufig über eine Netzwerkfreigabe zugreifen. In einem nicht verwalteten Kontext führt diese Situation i. d. R. nicht zu Ausführungsproblemen. In einem verwalteten Kontext kann dieser Anwendung jedoch ein begrenzter Satz von Berechtigungen erteilt werden, da sie ihren Ursprung in einer lokalen Intranetzone hat. Der Anwendung werden z. B. keine vollständigen Druckberechtigungen gewährt, wodurch die Zweckmäßigkeit der Anwendung möglicherweise eingeschränkt wird. Anstelle einer Lockerung der Einstellungen für die gesamte Zone des lokalen Intranets sollten Sie die folgenden Schritte durchführen:
Lassen Sie mithilfe des Permissions View-Tools (Permview.exe) die Mindestberechtigungen anzeigen, die von der Assembly angefordert werden, deren Berechtigungen Sie erweitern möchten. Dies sind die Berechtigungen, die von der Anwendung für die Ausführung mindestens benötigt werden.
Bestimmen Sie ein eindeutiges Merkmal der Assembly. Dieses Merkmal kann aus dem starken Namen der Assembly, ihrem öffentlichen Schlüssel, ihrem Hash oder einem eindeutigen benutzerdefinierten Attribut bestehen. Wenn die Anwendung ihren Ursprung auf einem vertrauenswürdigen Server hat, kann sie auch durch den Speicherort gekennzeichnet werden. Beachten Sie, dass sämtlicher Code, der dieses Merkmal aufweist, als vertrauenswürdig gelten wird.
Erstellen Sie eine neue Codegruppe, die den eindeutigen Bezeichner für die Mitgliedschaft verlangt. Verwenden Sie das .NET Framework-Konfigurationstool (Mscorcfg.msc) oder das Sicherheitsrichtlinientool für den Codezugriff (Caspol.exe) zum Erstellen der Codegruppe.
Erstellen Sie den neuen Berechtigungssatz, der sämtliche Berechtigungen enthält, die von der Assembly für die Ausführung mindestens benötigt werden, indem Sie das .NET Framework-Konfigurationstool oder das Sicherheitsrichtlinientool für den Codezugriff verwenden.
Ordnen Sie der neuen Codegruppe den neuen Berechtigungssatz zu, indem Sie das .NET Framework-Konfigurationstool oder das Sicherheitsrichtlinientool für den Codezugriff verwenden.
Nach Durchführung dieser Schritte kann die Anwendung mit den für die Funktionsfähigkeit ausreichenden Berechtigungen ausgeführt werden. Andere, eingeschränkt vertrauenswürdige Anwendungen erhalten die zusätzlichen Berechtigungen nicht. So wird das System vor bösartigem Code geschützt. Informationen zur Durchführung bestimmter Aufgaben mithilfe der Sicherheitstools finden Sie unter Konfigurieren der Sicherheitsrichtlinien.