Berechtigungsanforderungen

Aktualisiert: November 2007

Sicherheitsfunktionen für Code werden hauptsächlich über Berechtigungsanforderungen umgesetzt. Es empfiehlt sich, Berechtigungsanforderungen in Anwendungen einzubinden, die auf geschützte Ressourcen zugreifen. Weitere Informationen dazu finden Sie unter Grundlagen der Codezugriffssicherheit. Anforderungen gewährleisten Folgendes:

  • Es werden die Mindestberechtigungen für die Ausführung des Codes angefordert.

  • Der Code erhält nur die tatsächlich erforderlichen Berechtigungen.

Das folgende Codebeispiel veranschaulicht die Anforderung einer grundlegenden Berechtigung.

<assembly: FileIOPermissionAttribute(SecurityAction.RequestMinimum, Write := "C:\test.tmp"), _
assembly: PermissionSet(SecurityAction.RequestOptional, Unrestricted := False)>  
[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, Write="C:\\test.tmp")]
[assembly:PermissionSet(SecurityAction.RequestOptional,Unrestricted=false)]

In diesem Beispiel wird dem .NET Framework-Sicherheitssystem mitgeteilt, dass der Code nur ausgeführt werden darf, wenn er die Berechtigung zum Schreiben in C:\test.tmp erhält. Wenn der Code auf eine Sicherheitsrichtlinie trifft, die diese Berechtigung nicht erteilt, wird eine PolicyException ausgelöst, und der Code wird nicht ausgeführt. Die Verwendung der Anforderung gewährleistet, dass der Code nur bei Erteilung dieser Berechtigung ausgeführt wird. Außerdem treten keine Fehler aufgrund ungenügender Berechtigungen auf.

In diesem Beispiel wird dem System außerdem mitgeteilt, dass keine weiteren Berechtigungen gewährt werden sollen. Wenn diese Anweisung nicht vorhanden ist, werden dem Code alle in der Richtlinie festgelegten Berechtigungen erteilt. Diese zusätzlichen Berechtigungen richten zwar keinen Schaden an, eine Begrenzung der Berechtigungen kann jedoch helfen, unvorhergesehene Sicherheitsprobleme zu vermeiden. Das Beibehalten von Berechtigungen, die für den Code nicht erforderlich sind, kann zu Sicherheitsproblemen führen.

Eine weitere Möglichkeit, die dem Code erteilten Berechtigungen auf ein Minimum zu begrenzen, besteht in der Auflistung der zu verweigernden Berechtigungen. Berechtigungen werden normalerweise verweigert, wenn alle Berechtigungen als optional festgelegt und bestimmte Berechtigungen von der Anforderung ausgeschlossen werden. Weitere Informationen hierzu finden Sie unter Verweigern von Berechtigungen.

Siehe auch

Weitere Ressourcen

Richtlinien für das Schreiben von sicherem Code