Die Zugriffsrechte – oder auch Ausführungsrechte – bezeichnen in der EDV die Regeln der administrativen Zugriffskontrolle, nach denen entschieden wird, ob und wie Benutzer, Programme oder Programmteile, Operationen auf Objekten (z. B. Netzwerke, Drucker, Dateisysteme) ausführen dürfen. Am geläufigsten ist dieses Konzept bei Dateisystemberechtigungen, durch die festgelegt wird, welche Benutzer welche Dateien und Verzeichnisse lesen, schreiben, ändern oder eben auch ausführen dürfen.
Beispiel
Die Grafik zeigt beispielhaft, was über Zugriffsrechte festgelegt werden kann. Dies ist im einfachsten Fall, WER WAS tun darf. Unter „WER“ wird häufig nicht eine spezifizierte Person, sondern eine Gruppe/Rolle festgelegt, der einzelne Benutzer zugeordnet sind. Zu „WAS“ können ebenfalls elementare Funktionen oder Gruppierungen davon benannt, sowie erforderlichenfalls spezielle Datenaktionen (Create, Read, Update, Delete) auf bestimmte Datenarten und -Mengen erlaubt werden. Je nach Bedarf können Zusatzfestlegungen wie 4AP etc. geregelt sein.
Form und Datenformat der Festlegungen sind vom verwendeten Zugriffskontrollsystem abhängig. So können die beispielhaft genannten Sachverhalte ggf. durch einen Ausdruck wie „Rechtegruppe A510“ festgelegt werden; die konkrete Bedeutung und die dazu erforderlichen Prüfungen sind dem Zugriffskontrollsystem bekannt und werden dort vorgenommen. Voraussetzung für die Zugriffskontrolle ist, dass der Benutzer eindeutig identifiziert wurde.
Methoden der Zugriffskontrolle durch Rechteverwaltung
Eine Möglichkeit, Zugriffsrechte sehr flexibel zu gestalten, sind Zugriffskontrolllisten: Für jedes zu schützende Objekt gibt es eine Liste, die für jeden Benutzer (Benutzerrolle) oder jede Gruppe angibt, welche Zugriffe erlaubt sind und welche nicht. In der Vergangenheit waren die Möglichkeiten der Zugriffsbeschränkung aber wesentlich eingeschränkter, um die Implementation simpel zu halten, wie zum Beispiel bei den traditionellen Dateizugriffsrechten auf Unix-Systemen.
Manche Programmiersprachen haben auch ein eigenes, vom Betriebssystem unabhängiges Sicherheitssystem, das in die Laufzeitumgebung integriert ist. Beispiele hierfür sind die Sicherheitskonzepte von Java und des .Net-Frameworks. Dabei sind die Zugriffsrechte zumeist nicht vom Benutzer abhängig, sondern davon, inwieweit eine bestimmte Programmbibliothek als vertrauenswürdig angesehen wird (siehe Sandbox).
Zugriffsklassen
Für die Beurteilung der Sicherheit von Computersystemen werden die Sicherheitssysteme zur Verwaltung von Zugriffsrechten in verschiedene Klassen eingeteilt:
Discretionary Access Control (DAC): Zugriff wird anhand der Identität des Akteurs (Benutzers) und Objektes gewährt oder verweigert. In diese Klasse fällt zum Beispiel der Zugriffsschutz für Dateien in den gängigen Dateisystemen.
Mandatory Access Control (MAC) bzw. Multilaterale Sicherheitsmodelle: Hier werden neben der Identität von Benutzer und Objekt außerdem Regeln und Eigenschaften überprüft, um zu entscheiden, ob der Zugriff auf ein Objekt gewährt oder verweigert wird. Dies ist ein wichtiger Bestandteil von Hochsicherheitssystemen und geht oft mit der Forderung einher, dass die Zugriffskontrolle durch einen Referenzmonitor implementiert wird.
Role Based Access Control (RBAC): Der Zugriff wird anhand der Rolle des Benutzers überprüft. Ein Benutzer kann dabei mehreren Rollen zugeordnet sein. Je nachdem ob ein Benutzer die entsprechende Rolle besitzt, wird der Zugriff auf ein Objekt gewährt oder verweigert.
Modell und Verwaltung der Zugriffsrechte ist ein wichtiger Bestandteil sicherer Computersysteme und daher Kriterium der Zertifizierung gemäß gängiger Sicherheitsstandards wie TCSEC, ITSEC und deren internationaler Nachfolger, den Common Criteria.