Freigeben über


Verwaltung mit Codegruppenattributen

Wichtiger HinweisWichtig

In .NET Framework, Version 4 ist es nicht mehr die Aufgabe der CLR (Common Language Runtime), Sicherheitsrichtlinien für Computer bereitzustellen.Microsoft empfiehlt die Verwendung von Windows-Richtlinien für die Softwareeinschränkung anstelle der CLR-Sicherheitsrichtlinie.Die Informationen in diesem Thema gelten für .NET Framework, Version 3.5 oder früher, nicht für Version 4 oder höher.Weitere Informationen über diese und andere Änderungen finden Sie unter Änderungen der Sicherheit in .NET Framework 4.

Angenommen, Sie sind Administrator einer Organisation und für die Verwaltung der Sicherheitsrichtlinien für eine Reihe von Arbeitsstationen verantwortlich. In typischen Organisationsdomänen verfügt der Administrator über Administratorrechte für alle Server und Clients. Es ist jedoch nicht ungewöhnlich, dass einzelne Benutzer über Administratorrechte für eine einzelne Arbeitsstation verfügen. Dadurch verfügt der Netzwerkadministrator über Administratorrechte für die Ebene der Unternehmensrichtlinien und der Administrator der Arbeitsstation über Administratorrechte auf Ebene der Computerrichtlinien. In dieser Situation scheint der Netzwerkadministrator über eine umfangreichere Kontrolle über die Richtlinien zu verfügen, da die Unternehmensrichtlinien zuerst ausgewertet werden und Entscheidungen des Administrators für die Organisationsebene durch Computerrichtlinien nicht gelockert werden dürfen. Der Administrator der Computerebene kann dennoch die Sicherheitsrichtlinien einschränken und somit die problemlose Ausführung vertrauenswürdiger Anwendungen verhindern, die andernfalls hätten ausgeführt werden können. Aus diesem Grunde kann auf höheren Richtlinienebenen festgelegt werden, dass Richtlinienentscheidungen auf niedrigeren Ebenen von der Auswertung ausgenommen werden.

Dies ist durch Anwenden des LevelFinal-Attributs oder des Exclusive-Attributs auf eine Codegruppe mithilfe eines der Richtlinientools für die Sicherheit möglich.

LevelFinal-Attribut

Mit dem LevelFinal-Attribut wird bei Anwendung auf eine Codegruppe jede Richtlinienebene unterhalb der aktuellen Ebene von der Auswertung ausgeschlossen. Wenn Sie z. B. das LevelFinal-Attribut auf Organisationsebene auf die Codegruppe für das lokale Intranet anwenden, werden selbst dann keine Codegruppen auf Computerebene ausgewertet, wenn der Administrator der Computerebene Änderungen vorgenommen hat. Durch Anwenden des LevelFinal-Attributs wird sichergestellt, dass eine einer Codegruppe zugeordnete und mit diesem Attribut markierte Assembly in keinem Fall durch Entscheidungen eines Administrators auf niedrigerer Richtlinienebene geringere Berechtigungen erhält. Informationen zum Festlegen des LevelFinal-Attributs für eine benutzerdefinierte oder Standardcodegruppe finden Sie unter .NET Framework-Konfigurationstool (Mscorcfg.msc) oder Code Access Security Policy-Tool (Caspol.exe).

Exclusive-Attribut

Das Exclusive-Attribut verhindert bei Anwendung auf eine Codegruppe, dass andere Codegruppen auf derselben Richtlinienebene berücksichtigt werden, wenn die Laufzeit Berechtigungen für Assemblys berechnet, die sich in der exklusiven Codegruppe befinden. Richtlinienebenen oberhalb und unterhalb der aktuellen Ebene werden dennoch ausgewertet. Dieses Attribut ermöglicht es einer bestimmten Codegruppe, die alleinige Entscheidung für die aktuelle Richtlinienebene zu treffen, welche Berechtigungen Assemblys gewährt werden, die mit dieser Gruppe übereinstimmen. Dies ist sinnvoll, wenn Sie bestimmten Assemblys einen bestimmten Berechtigungssatz gewähren möchten, ohne Berechtigungen aus anderen Codegruppenübereinstimmungen auf derselben Richtlinienebene zuzulassen.

Beachten Sie, dass eine Assembly nicht ausgeführt werden kann, wenn sie mehr als einer als exklusiv markierten Codegruppe angehört. Verwenden Sie daher das Exclusive-Attribut bei der Verwaltung benutzerdefinierter Sicherheitsrichtlinien möglichst selten. Informationen zum Festlegen des Exclusive-Attributs für eine benutzerdefinierte oder Standardcodegruppe finden Sie unter .NET Framework-Konfigurationstool (Mscorcfg.msc) oder Code Access Security Policy-Tool (Caspol.exe).

Siehe auch

Konzepte

Codegruppenattribute

Codegruppen

Weitere Ressourcen

Allgemeine Verwaltung der Sicherheitsrichtlinien

Sicherheitsrichtlinien: Empfohlene Vorgehensweise