M 2.129 Zugriffskontrolle einer Datenbank

Verantwortlich für Initiierung: Leiter IT, IT-Sicherheitsmanagement

Verantwortlich für Umsetzung: Administrator

Um einen wirkungsvollen Schutz der Vertraulichkeit und Integrität der Daten einer Datenbank zu erreichen, müssen eine Reihe von Maßnahmen umgesetzt werden. Neben einer Zugangskontrolle der Datenbank, die in M 2.128 Zugangskontrolle einer Datenbank beschrieben wird, sind dies im wesentlichen die folgenden Möglichkeiten der Zugriffskontrolle:

Beispiele:

1. In MS Access können verschiedene Berechtigungen vergeben werden, die sich entweder auf die Datenbank selbst (Öffnen/Ausführen, Exklusiv, Verwalten) oder auf die Tabellen und Abfragen beziehen (Daten lesen, Daten aktualisieren, Daten löschen, Daten einfügen). Diese Berechtigungen können dann unterschiedlichen Benutzern oder Benutzergruppen zugeordnet werden. Standardmäßig sind bei MS Access die Gruppen "Administratoren" und "Benutzer" eingerichtet, wobei die Gruppe "Benutzer" die Berechtigungen "Daten lesen" und "Daten aktualisieren" für Tabellen und Abfragen und die Berechtigung "Öffnen/Ausführen" für Datenbanken enthält. Für eine detailliertere Kontrolle der Zugriffsrechte können eigene Gruppen definiert werden, an die unterschiedliche Berechtigungen vergeben werden können. Dies kann im Menü Extras unter Zugriffsrechte und Benutzer und Gruppenkonten durchgeführt werden.

2. In einer Oracle-Datenbank kann mit dem folgendem Kommando die Gruppe "Abteilung_1" erstellt werden:

CREATE ROLE Abteilung_1 IDENTIFIED BY <Paßwort>;

Im folgenden Beispiel wird der Gruppe "Abteilung_1" die Berechtigung erteilt, eine Verbindung zur Datenbank herzustellen sowie eine Session zu eröffnen:

GRANT CONNECT, CREATE SESSION TO Abteilung_1;

Im folgenden Beispiel würde derselben Gruppe die Berechtigung gegeben, ein SELECT auf die Tabelle "Test" durchzuführen:

GRANT SELECT ON Test TO Abteilung_1;

Im folgenden Beispiel würde dieser Gruppe die Berechtigung erteilt, für die Spalte "Kommentar" der Tabelle "Test" Änderungen durchzuführen:

GRANT UPDATE (Kommentar) ON Test TO Abteilung_1;

3. Ein Beispiel für eine Stored Procedure unter Oracle mit PL/SQL Anweisungen sieht wie folgt aus:

PROCEDURE Example (PArtikelnr IN NUMBER, PPreis OUT NUMBER) IS

BEGIN

BEGIN

SELECT preis INTO PPreis
FROM TabB
WHERE artikelnr=PArtikelnr

END Block;

END;

Die Prozedur "Example" liest aus der Tabelle TabB den Preis eines Artikels nach Angabe der Artikelnummer. Mitarbeiter, die auf die Tabelle TabB ausschließlich mit dieser Methode zugreifen können sollen, erhalten nur das Nutzungsrecht für die Stored Procedure und keinerlei Rechte auf die Tabelle. Damit werden z. B. auch zeitaufwendige Suchoperationen verhindert.

Ergänzende Kontrollfragen:


© Copyright by Bundesamt für Sicherheit in der Informationstechnik 2000.