Bundesamt für Sicherheit in der Informationstechnik

M 2.130 Gewährleistung der Datenbankintegrität

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

Verantwortlich für Umsetzung: Administrator, Verantwortliche der einzelnen Anwendungen

Die Integritätssicherung und -überwachung einer Datenbank soll die Korrektheit der zugehörigen Daten bzw. einen korrekten Zustand der Datenbank gewährleisten. Die folgenden Techniken sind zur Vermeidung inkorrekter Daten bzw. Zustände innerhalb einer Datenbank zu beachten:

  • Zugriffskontrolle
    Damit ist der Schutz der betreffenden Datenbank vor unautorisiertem Zugriff mittels der Vergabe von Zugriffsrechten gemeint, wie in M 2.129 Zugriffskontrolle einer Datenbank beschrieben. Damit wird dem manipulativen Ändern von Daten bzw. Datenbankobjekten (wie z. B. Tabellen) vorgebeugt.
    Verantwortlich für die Umsetzung der Zugriffskontrolle ist der Datenbankadministrator.
    Auf eine detaillierte Ausführung wird an dieser Stelle verzichtet und statt dessen auf die Maßnahme M 2.129 Zugriffskontrolle einer Datenbank verwiesen
  • Synchronisationskontrolle
    Die Synchronisationskontrolle dient der Verhinderung von Inkonsistenzen, die durch einen parallelen Zugriff auf denselben Datenbestand entstehen können. Es gibt dazu verschiedene Techniken, wie z. B. das Sperren von Datenbankobjekten (Locking) oder die Vergabe von Zeitstempeln (Time-stamps).
    Verantwortlich für die Umsetzung sind die Verantwortlichen der IT-Anwendungen, insofern ein zusätzlicher Mechanismus zur Verfügung gestellt werden muss, der über die Möglichkeiten des Datenbankmanagementsystems ( DBMS ) hinausgeht.
    Auf eine detaillierte Ausführung wird verzichtet, da im allgemeinen jedes DBMS eine Synchronisationskontrolle durchführt. Vom Einsatz eines DBMS, welches dies nicht leisten kann, wird dringend abgeraten.
  • Integritätskontrolle
    Hierunter fällt die Vermeidung semantischer Fehler bzw. semantisch unsinniger Zustände der Datenbank durch Einhaltung und Überwachung der geforderten Integritätsbedingungen. Diese können sich auf einzelne Relationen beziehen oder mehrere Relationen miteinander in Beziehung setzen (referentielle Integrität). Beispiele sind die Angabe eines Primärschlüssels für eine Relation, die Definition von Wertebereichen zu den einzelnen Attributen oder die Formulierung spezieller Bedingungen mittels einer assertion-Klausel.
    Dies kann durch das DBMS automatisch mittels eines Monitors überprüft werden, der z. B. durch die Verwendung von Triggern oder Stored
    Procedures realisiert werden kann. Damit sind prinzipiell beliebige Transaktionen möglich, jedoch werden diejenigen vom DBMS zurückgewiesen, die die Datenbank-Konsistenz verletzen würden.
    Verantwortlich für die Umsetzung sind die Verantwortlichen der IT-Anwendungen respektive der fachliche Administrator, falls es sich um eine Umsetzung der Integritätsbedingungen in Form von Relationen, Primärschlüsseln oder allgemeinen Datenbankobjekten handelt.
    Im Rahmen der Konzeption einer IT-Anwendung sind zu erstellen
    • ein Datenmodell, welches neben den Datenbankobjekten auch deren Beziehungen untereinander abbildet, und
    • ein Fachkonzept, welches unter anderem Bedingungen beschreibt, unter denen Daten manipuliert werden dürfen.
    Im Rahmen der Realisierung einer IT-Anwendung sind die folgenden Punkte zu beachten:
    • Die konkrete Umsetzung des in der konzeptionellen Phase definierten Datenmodells muss festgelegt werden. Hierzu gehören die Definition und Anlage von Tabellen, Indizes, Wertebereichen usw.
    • Die Definition von Triggern oder Stored Procedures erfolgt im Rahmen der Realisierung des Fachkonzepts. Trigger und Stored Procedures können dabei sowohl innerhalb der Anwendung (in den Programmen), als auch der Datenbank (für Tabellen) Verwendung finden. Trigger, die auf Datenbankebene eingesetzt werden, wirken unabhängig von darüberliegenden Anwendungen und sind aus diesem Grund zentral zu verwalten.
      Beispiel: Trigger "Update" für eine Tabelle:
      Immer wenn ein Datensatz der Tabelle geändert wird, dann sind die für den Trigger definierten Anweisungen auszuführen. Eine dieser Anweisungen kann der Aufruf einer Stored Procedure sein.

Im Rahmen von Anwendungen kann eine Integritätssicherung durch einen geeigneten Einsatz von Commit bzw. Rollback für das Betätigen bzw. Widerrufen von Transaktionen realisiert werden.

Prüffragen:

  • Werden Techniken der Synchronisationskontrolle zur Vermeidung von Inkonsistenzen eingesetzt?

  • Werden Techniken der Integritätskontrolle zur Vermeidung semantischer Fehler bzw. . semantisch unsinniger Zustände der Datenbank eingesetzt?

  • Wird die Integritätssicherung auch innerhalb von Anwendungen, die die Datenbank verwenden, berücksichtigt?

Stand: 13. EL Stand 2013

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK