DE102012208751A1 - Datensicherheit für eine Datenbank in einer Mehrknotenumgebung - Google Patents

Datensicherheit für eine Datenbank in einer Mehrknotenumgebung Download PDF

Info

Publication number
DE102012208751A1
DE102012208751A1 DE102012208751A DE102012208751A DE102012208751A1 DE 102012208751 A1 DE102012208751 A1 DE 102012208751A1 DE 102012208751 A DE102012208751 A DE 102012208751A DE 102012208751 A DE102012208751 A DE 102012208751A DE 102012208751 A1 DE102012208751 A1 DE 102012208751A1
Authority
DE
Germany
Prior art keywords
security
query
database
computer
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102012208751A
Other languages
English (en)
Inventor
Michael J. Branson
John M. Santosuosso
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyndryl Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012208751A1 publication Critical patent/DE102012208751A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Ein Sicherheitsmechanismus in einem Datenbankverwaltungssystem setzt als Metadaten gespeicherte Verarbeitungsbeschränkungen durch, um zu steuern, wie unterschiedliche Teile einer Mehrknotenanwendung das Zugreifen auf Daten einer Datenbank ermöglicht wird, um Datensicherheit bereitzustellen. Wenn eine Ausführungseinheit versucht, auf die Daten zuzugreifen, prüft der Sicherheitsmechanismus vorzugsweise die Datensicherheitsbeschränkungen auf Sicherheitsverletzungen hin, um sicherzustellen, dass die Knotenbedingungen für den Zugriff korrekt sind. Wenn der Sicherheitsmechanismus auf der Grundlage der Sicherheitsbeschränkungen feststellt, dass durch eine Abfrage von einer Ausführungseinheit eine Sicherheitsverletzung vorliegt, kann der Sicherheitsmechanismus ein Senden, Verzögern oder einen erneuten Versuch durchführen, um die Datensicherheit aufrechtzuerhalten. Die Knotenbedingungen hierin beinhalten Zeitbeschränkungen und Beziehungen mit anderen Spalten, Zeilen oder Teilen von Daten. Zum Beispiel kann die gemeinsame Ausführung mehrerer Verarbeitungseinheiten erlaubt sein, der Sicherheitsmechanismus jedoch durch die Verwendung von Metadaten in der Datenbank verbieten, dass diese Verarbeitungseinheiten gleichzeitig auf bestimmte Informationen zugreifen.

Description

  • HINTERGRUND
  • 1. Technisches Gebiet
  • Diese Offenbarung betrifft allgemein Computersysteme und spezifischer die Datensicherheit für eine Datenbank in einer Mehrknoten-Computersystemumgebung.
  • 2. HINTERGRUND
  • Verteilte Computersysteme werden zunehmend verwendet, um die Begrenzungen herkömmlicher in Standard-Computersystemen bereitgestellter Anwendungen zu überwinden. Ein verteiltes Computersystem umfasst mehrere autonome Computer oder Knoten, die über ein Netzwerk miteinander Daten austauschen. Verteiltes Rechnen bezieht sich auf die Verwendung verteilter Systeme zur Lösung von Rechenproblemen. Beim verteilten Rechnen wird ein Problem in viele Aufgaben (tasks) aufgeteilt, von denen jede durch einen oder mehrere Computerknoten gelöst wird. Verteiltes Rechnen in einer Mehrknotenumgebung weist verschiedene Formen auf und kann beispielhaft durch einige der vielversprechendsten aktuellen Computertechnologien dargestellt werden, wie beispielsweise „Blue Gene®” von der IBM® Corporation, Gitter-Rechnen (grid computing), kommerzielle Cluster und „RoadRunner” von der IBM® Corporation. Mit diesen neuen Mehrknotenumgebungen können einzelne Computer-Ausführungseinheiten miteinander über neue Programmiermodelle so verbunden werden, dass eine Arbeitseinheit oder ein typisches Programm analysiert (parsed out) und verteilt verarbeitet wird. Weiterhin wird diese Arbeitsteilung oftmals dem System überlassen, so dass Software-Entwickler wenig oder keine Möglichkeit haben, zu wissen, welche Teile des Puzzles wo ausgeführt werden.
  • In der typischen Anwendungsentwicklungsumgebung ist die Datensicherheit auf Objektebene und Beziehungen des Objektes zu einer Anwendung ausgebildet. Eine Anwendung ist davon abhängig, dass sie Zugang zu bestimmten Objekten auf der Grundlage von Sicherheitsregeln/-funktionen besitzt und die Einrichtung sowohl auf Betriebssystem- als auch Datenbankebene ausgebildet ist. Obwohl eine Sicherheit, die nur auf dem Zugang einer Anwendung zu Objekten beruht, bei herkömmlichen Computersystemen relativ gut funktioniert, werden die Sicherheitsanforderungen zum Schutz von Daten und zur Ermöglichung von Flexibilität beim Zugreifen auf Daten in diesen komplexeren Mehrknotenumgebungen nicht berücksichtigt.
  • KURZZUSAMMENFASSUNG
  • Die Offenbarung und die Ansprüche hierin richten sich auf die Datenbanksicherheit in einer Mehrknotenumgebung. Ein Sicherheitsmechanismus als Teil eines Datenbankverwaltungssystems setzt Verarbeitungsbeschränkungen durch, die als Metadaten in der Datenbank gespeichert sind, um zu steuern, wie zum Bereitstellen von Datensicherheit unterschiedlichen Teller einer Mehrknotenanwendung (Ausführungseinheiten genannt) das Zugreifen auf die Daten der Datenbank erlaubt wird. Wenn eine Ausführungseinheit versucht, auf die Daten zuzugreifen, prüft der Sicherheitsmechanismus vorzugsweise die Datensicherheitsbeschränkungen auf Sicherheitsverletzungen hin, um sicherzustellen, dass die Knotenbedingungen für den Zugriff korrekt sind. Wenn der Sicherheitsmechanismus auf der Grundlage der Sicherheitsbeschränkungen feststellt, dass durch eine Abfrage von einer Ausführungseinheit eine Sicherheitsverletzung vorliegt, kann der Sicherheitsmechanismus ein Senden, Verzögern oder einen erneuten Versuch durchführen, um die Datensicherheit aufrechtzuerhalten. Die Knotenbedingungen hierin beinhalten Zeitbeschränkungen und Beziehungen mit anderen Spalten, Zeilen oder Teilen von Daten. Zum Beispiel kann mehreren Verarbeitungseinheiten die gemeinsame Ausführung erlaubt sein, der Sicherheitsmechanismus jedoch (durch die Verwendung von Metadaten) verbieten, dass diese Verarbeitungseinheiten auf bestimmte Informationen gleichzeitig zugreifen.
  • In einem Aspekt betrifft die Erfindung eine Vorrichtung, die Folgendes umfasst: ein Mehrknoten-Computersystem, das eine Vielzahl von Computerknoten umfasst, von denen jeder einen Prozessor und einen mit dem Prozessor verbundenen Speicher aufweist; eine Vielzahl von Ausführungseinheiten im Speicher der Computerknoten, die durch die Prozessoren der Computerknoten ausgeführt werden; eine mit dem Computersystem verbundene Datenbank; Sicherheitsbeschränkungsmetadaten, die sich in einer Datenbanktabelle befinden und Sicherheitsbeziehungen von Daten in der Datenbank und den Ausführungseinheiten angeben; und einen Sicherheitsmechanismus, der die Sicherheit der Daten in der Datenbank durch Beschränken des Zugriffs auf die Datenbank durch die Vielzahl von Ausführungseinheiten des Computersystems gemäß den Sicherheitsbeschränkungsmetadaten durchsetzt.
  • Nach einer Ausführungsform der Erfindung sind die Sicherheitsbeschränkungsmetadaten in einer Datenbanktabelle gespeichert, die sich in der Datenbank befindet.
  • In einem weiteren Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren für Datensicherheit in einem Mehrknoten-Computersystem, wobei das Verfahren die folgenden Schritte umfasst:
    • (A) Abrufen einer eingehenden Abfrage von einer aus einer Vielzahl von Ausführungseinheiten auf einer Vielzahl von Computerknoten;
    • (B) Bereitstellen von als Datenbankmetadaten gespeicherten Sicherheitsbeschränkungen;
    • (C) Analysieren der Abfrage und Vergleichen der Abfrage mit den Sicherheitsbeschränkungen;
    • (D) Erfragen von Statusinformationen vom Mehrknoten-Computersystem;
    • (E) Feststellen, ob die Abfrage auf der Grundlage der Abfrage, der Sicherheitsbeschränkungsmetadaten und der Statusinformationen ausgeführt werden soll;
    • (F) wenn in Schritt (E) bestimmt wird, die Abfrage auszuführen, Ausführen der Abfrage und Ausgeben von Ergebnissen der Abfrage;
    • (G) wenn in Schritt (E) bestimmt wird, die Abfrage nicht auszuführen, Festlegen, eine Zeitdauer zu warten, und Zurückkehren zum vorstehenden Schritt D;
    • (H) wobei die Schritte des Verfahrens in einem Computer-Software-Programm ausgebildet sind, das in einem Computerspeicher gespeichert ist und durch einen Computerprozessor ausgeführt wird.
  • Nach einer Ausführungsform der Erfindung geben die Sicherheitsbeschränkungsmetadaten an, dass eine Abfrage einer ersten Tabelle beschränkt wird, wenn eine Ausführungseinheit innerhalb einer festgelegten Zeitdauer auf eine zweite Tabelle zugegriffen hat.
  • In einem weiteren Aspekt betrifft die Erfindung einen Herstellungsartikel, der auf einem gegenständlichen computerlesbaren Speichermedium gespeicherte Software umfasst, wobei die Software Folgendes umfasst: einen Sicherheitsmechanismus, der die Sicherheit von Daten in einer mit einem Computersystem verbundenen Datenbank durchsetzt, indem der Zugriff auf die Datenbank durch eine Vielzahl von Ausführungseinheiten des Computersystems abhängig von Sicherheitsbeschränkungsmetadaten in der Datenbank beschränkt wird; wobei sich die Sicherheitsbeschränkungsmetadaten in einer Datenbanktabelle der Datenbank befinden und Sicherheitsbeziehungen von Daten in der Datenbank und den Ausführungseinheiten angeben.
  • Nach einer Ausführungsform der Erfindung handelt es sich bei den Sicherheitsbeschränkungsmetadaten um eine Datenbanktabelle, die sich in der Datenbank befindet.
  • Nach einer Ausführungsform der Erfindung geben die Sicherheitsbeschränkungsmetadaten an, dass eine erste Ausführungseinheit nicht gleichzeitig mit einer zweiten Ausführungseinheit ausgeführt werden darf.
  • Nach einer Ausführungsform der Erfindung geben die Sicherheitsbeschränkungsmetadaten an, dass eine Abfrage von Datenbankdaten beschränkt wird, wenn eine Ausführungseinheit einen bestimmten Wert in der verarbeiteten Abfrage aufweist.
  • Nach einer Ausführungsform der Erfindung geben die Sicherheitsbeschränkungsmetadaten an, dass eine Abfrage von Datenbankdaten beschränkt wird, wenn eine festgelegte Verbindung einer Ausführungseinheit mit einer Ressource geöffnet ist.
  • Die vorstehenden und weitere Merkmale und Vorteile werden aus der folgenden detaillierteren Beschreibung ersichtlich, die in den angehängten Zeichnungen veranschaulicht wird.
  • KURZE BESCHREIBUNG DER MEHREREN ZEICHNUNGSANSICHTEN
  • Die Offenbarung wird in Verbindung mit den angehängten Zeichnungen beschrieben, in denen gleiche Bezeichnungen gleiche Elemente bezeichnen, und:
  • 1 ein Blockschaltbild eines Computersystems mit einem Sicherheitsmechanismus zeigt, der Sicherheitsbeschränkungsmetadaten wie hierin beschrieben verwendet;
  • 2 ein Blockschaltbild zeigt, das drei in einer generischen Mehrknoten-Computerumgebung verbundene Computerknoten darstellt;
  • 3 ein Blockschaltbild zeigt, das Sicherheitsbeschränkungsmetadaten zeigt, welche Datenbeziehungen zwischen Ausführungseinheiten auf zwei Computerknoten festlegen;
  • 4 ein Blockschaltbild zeigt, das ein Beispiel dafür darstellt, wie Sicherheitsbeschränkungsmetadaten den Sicherheitsmechanismus anweisen, die Datensicherheit für eine Datenbanktabelle sicherzustellen;
  • 5 ein Blockschaltbild zeigt, des ein weiteres Beispiel dafür darstellt, wie Sicherheitsbeschränkungsmetadaten den Sicherheitsmechanismus anweisen, die Datensicherheit für eine Datenbanktabelle sicherzustellen;
  • 6 ein Blockschaltbild zeigt, das ein weiteres Beispiel dafür darstellt, wie Sicherheitsbeschränkungsmetadaten den Sicherheitsmechanismus anweisen, die Datensicherheit für eine Datenbanktabelle sicherzustellen; und
  • 7 ein Beispiel eines Ablaufdiagramms eines Verfahrens für einen Sicherheitsmechanismus zum Bereitstellen von Datenbanksicherheit mittels Sicherheitsbeschränkungsmetadaten in einer Datenbanktabelle zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Hierin ist ein Sicherheitsmechanismus in einem Datenbankverwaltungssystem beschrieben, der als Metadaten gespeicherte Verarbeitungsbeschränkungen durchsetzt, um zu steuern, wie zum Bereitstellen von Datensicherheit unterschiedlichen Teilen einer Mehrknotenanwendung das Zugreifen auf Daten einer Datenbank erlaubt wird. Wenn eine Ausführungseinheit versucht, auf die Daten zuzugreifen, prüft der Sicherheitsmechanismus vorzugsweise die Datensicherheitsbeschränkungen auf Sicherheitsverletzungen hin, um sicherzustellen, dass die Knotenbedingungen für den Zugriff korrekt sind. Wenn der Sicherheitsmechanismus auf der Grundlage der Sicherheitsbeschränkungen feststellt, dass durch eine Abfrage von einer Ausführungseinheit eine Sicherheitsverletzung vorliegt, kann der Sicherheitsmechanismus ein Senden, Verzögern oder einen erneuten Versuch durchführen, um die Datensicherheit aufrechtzuerhalten. Die Knotenbedingungen hierin beinhalten Zeiten und Beziehungen mit anderen Spalten, Zeilen oder Teilen von Daten. Zum Beispiel kann mehreren Verarbeitungseinheiten die gemeinsame Ausführung erlaubt sein, der Sicherheitsmechanismus jedoch (durch die Verwendung von Metadaten) verbieten, dass diese Verarbeitungseinheiten auf bestimmte Informationen gleichzeitig zugreifen.
  • Unter Bezugnahme auf 1 handelt es sich bei einem Computersystem 100 um eine geeignete Ausbildung eines Computersystems, das einen Sicherheitsmechanismus beinhaltet, wie er hierin beschrieben ist. Bei dem Computersystem 100 handelt es sich um ein „Power System” der International Business Machines Corporation (IBM®), auf dem mehrere Betriebssysteme einschließlich des Betriebssystems „IBM® i” ausgeführt werden können. Für den Fachmann ist jedoch ersichtlich, dass die Offenbarung hierin sich generell auf jedes beliebige Computersystem bezieht, das in der Lage ist, in eine Mehrknoten-Computerumgebung einbezogen zu werden. Zum Beispiel kann das Computersystem 100 auch für einen einzelnen Knoten eines hochgradig parallelen Computers wie den von IBM® entwickelten „Blue Gene®” der IBM® Corporation oder einen Knoten eines Clusters mit skalierbarer Leistung wie einen „Beowulf Cluster” stehen. Wie in 1 gezeigt, umfasst das Computersystem 100 einen oder mehrere Prozessoren 110, einen Hauptspeicher 120, eine Massenspeicherschnittstelle 130, eine Anzeigeschnittstelle 140 und eine Netzwerkschnittstelle 150. Diese Systemkomponenten sind mittels eines Systembusses 160 miteinander verbunden. Die Massenspeicherschnittstelle 130 wird dazu verwendet, Massenspeichereinheiten mit einem computerlesbaren Datenträger wie beispielsweise Speichereinheiten (DASD-Einheiten) 155 mit direktem Zugriff mit dem Computersystem 100 zu verbinden. Ein spezieller Typ einer Speichereinheit 155 mit direktem Zugriff ist ein Laufwerk für lesbare und beschreibbare CD-RW, das Daten auf eine CD-RW 195 schreiben und von dort lesen kann.
  • Der Hauptspeicher 120 enthält vorzugsweise ein Betriebssystem 121. Bei dem Betriebssystem 121 handelt es sich um ein Betriebssystem, das mehrere Aufgaben gleichzeitig ausführen kann (multitasking operating system), das in der Branche als „IBM® i Betriebssystem” bekannt ist. Für den Fachmann ist jedoch ersichtlich, dass der Gedanke und der Umfang dieser Offenbarung nicht auf ein bestimmtes Betriebssystem beschränkt sind. Der Speicher enthält weiterhin eine Software-Anwendung 122, die eine oder mehrere Ausführungseinheiten 123 umfasst. Die Ausführungseinheit 123 beinhaltet mindestens eine Abfrage 124, die eine Datenbank 125 abfragt. Die Datenbank 125 enthält Sicherheitsbeschränkungsmetadaten 126, die Datenbankmetadaten zugeordnet sind (nicht abgebildet). Ein Datenbankverwaltungssystem 127 verwaltet den Zugriff auf die Datenbank 125. Das Datenbankverwaltungssystem 127 enthält einen Sicherheitsmechanismus 128, der den Zugriff von Abfragen auf die Datenbank durch die Ausführungseinheiten wie hierin beschrieben beschränkt.
  • Das Computersystem 100 verwendet allgemein bekannte virtuelle Adressierungsmechanismen, durch die sich die Programme des Computersystems 100 so verhalten können, als ob sie nur Zugriff auf eine große, einzelne Speichereinheit anstelle eines Zugriffs auf mehrere kleinere Speichereinheiten wie den Hauptspeicher 120 und die DASD-Einheit 155 besitzen. Während das Betriebssystem 121, die Anwendung 122, die Ausführungseinheit 123, die Abfrage 124, die Datenbank 125, die Sicherheitsbeschränkungsmetadaten 126, das Datenbankverwaltungssystem 127 und der Sicherheitsmechanismus 128 so abgebildet sind, dass sie sich im Hauptspeicher 120 befinden, erkennt der Fachmann daher, dass sich diese Elements nicht notwendigerweise alle vollständig und gleichzeitig im Hauptspeicher 120 oder auch im Hauptspeicher desselben Computersystems enthalten sein müssen. Es ist ebenfalls festzuhalten, dass der Begriff „Speicher” hierin allgemein verwendet wird, um den gesamten virtuellen Speicher des Computersystems 100 zu bezeichnen, und den virtuellen Speicher anderer mit dem Computersystem 100 verbundener Computersysteme einschließen kann.
  • Der Prozessor 110 kann aus einem oder mehreren Mikroprozessoren und/oder integrierten Schaltungen aufgebaut sein. Der Prozessor 110 führt Programmanweisungen aus, die im Hauptspeicher 120 gespeichert sind. Der Hauptspeicher 120 speichert Programme und Daten, auf die der Prozessor 110 zugreifen kann. Wenn das Computersystem 100 hochfährt, führt der Prozessor 110 zuerst die Programmanweisungen aus, die das Betriebssystem 121 aufbauen und führt später die Programmanweisungen aus, welche die Anwendung 122 und die Ausführungseinheit(en) 123 aufbauen.
  • Obwohl das Computersystem 100 so abgebildet ist, dass es nur einen einzigen Prozessor und einen einzigen Systembus enthält, ist für den Fachmann ersichtlich, dass ein Sicherheitsmechanismus wie er hierin beschrieben ist mittels eines Computersystems ausgeführt werden kann, das mehrere Prozessoren und/oder mehrere Busse aufweist. Darüber hinaus beinhalten die verwendeten Schnittstellen vorzugsweise jeweils getrennte, voll programmierte Mikroprozessoren, mit denen der Prozessor 110 von rechenintensiven Verarbeitungen entlastet werden kann. Für den Fachmann ist jedoch ersichtlich, dass diese Funktionen auch mittels E/A-Adaptern ausgeführt werden können.
  • Mit der Anzeigeschnittstelle 140 wird eine oder mehrere Anzeigen 165 direkt mit dem Computersystem 100 verbunden. Durch diese Anzeigen 165, bei denen es sich um nicht intelligente Terminals oder voll programmierbare Arbeitsplatzrechner (workstations) handeln kann, werden Systemadministratoren und Benutzer in die Lage versetzt, mit dem Computersystem 100 zu kommunizieren. Obwohl die Anzeigeschnittstelle 140 bereitgestellt wird, um den Datenaustausch mit einer oder mehreren Anzeigen 165 zu unterstützen, ist jedoch zu beachten, dass das Computersystem 100 nicht notwendigerweise eine Anzeige 165 erfordert, da alle notwendigen Interaktionen mit Benutzern und anderen Prozessen über die Netzwerkschnittstelle 150, zum Beispiel über Benutzer auf Internet-Client-Basis, erfolgen können.
  • Mit der Netzwerkschnittstelle 150 wird das Computersystem 100 mit anderen Computersystemen oder Arbeitsplatzrechnern 175 über ein Netzwerk 170 verbunden. Die Netzwerkschnittstelle 150 steht umfassend für jede geeignete Art, elektronische Geräte miteinander zu verbinden, ungeachtet der Tatsache, ob das Netzwerk 170 heutige analoge und/oder digitale Techniken umfasst oder die Verbindung über zukünftige Netzwerkmechanismen erfolgt. Darüber hinaus können viele unterschiedliche Netzwerkprotokolle verwendet werden, um ein Netzwerk auszubilden. Bei diesen Protokollen handelt es sich um spezialisierte Computerprogramme, mit denen Computer über ein Netzwerk Daten austauschen können. TCP/IP (Transmission Control Protocol/Internet Protocol – Übertragungssteuerungsprotokoll/Internetprotokoll) stellt ein Beispiel eines geeigneten Netzwerkprotokolls dar.
  • 2 veranschaulicht ein Blockschaltbild einer generischen Mehrknoten-Computerumgebung 200, die gelegentlich auch als Cluster bezeichnet wird. Die Mehrknoten-Computerumgebung 200 ist mit drei Knoten 210A, 210B, 210C abgebildet, die mit einem Netzwerk 212 verbunden sind. Beim Netzwerk 212 kann es sich um jedes geeignete Netzwerk zum Verbinden der Knoten 210 für verteiltes Rechnen handeln. Jeder Knoten kann für einen Computer 100 mit einiger oder der gesamten Hardware sowie Speicherkomponenten, wie sie in 1 gezeigt sind, stehen.
  • Alternativ dazu kann jeder Knoten des Computersystems 200 auch für einen einzelnen Knoten eines hochgradig parallelen Computers wie den „Blue Gene®” der IBM® Corporation oder einen Knoten eines Clusters mit skalierbarer Leistung wie einen „Beowulf Cluster” stehen. Mindestens ein Knoten beinhaltet ein Datenbankverwaltungssystem mit einem Sicherheitsmechanismus 128 (1), der Sicherheitsbeschränkungsmetadaten 125 (1) verwendet, um die Datenbanksicherheit in einer Mehrknotenumgebung wie hierin beschrieben und beansprucht zu verwalten.
  • Der hierein beschriebene Sicherheitsmechanismus ist in der Lage, Sicherheit von Daten zwischen Ausführungseinheiten auf einem oder mehreren Knoten der verteilten Computersystemumgebung bereitzustellen. Die Sicherheit ist nicht auf die Sicherheit zwischen Ausführungseinheiten auf demselben Knoten beschränkt, sondern kann ebenso zwischen Ausführungseinheiten auf verschiedenen Knoten desselben Typs, Ausführungseinheiten auf demselben Stamm (trunk) (Satz oder Gruppe von Knoten), Ausführungseinheiten auf derselben physischen oder logischen Maschine oder Maschinen am selben physischen Ort usw. bereitgestellt werden. Der Sicherheitsmechanismus kann auch die Sicherheit für Ausführungseinheiten über ein Internetprotokoll (allgemein als TCP/IP bekannt) durchsetzen. Dies ermöglicht Sicherheit über ein Spektrum von IP-Adressen oder einen Satz von Knoten hinweg auf der Grundlage ihrer IP-Adressen. Der Sicherheitsmechanismus hierin ist in der Lage, Sicherheit in einer verteilten Umgebung bereitzustellen, bei der es sich um ein komplettes Mehrknoten-Computersystem oder einen Teil dieses Systems handeln kann. Beim relevanten Teil des Computersystems kann es sich um eine Kombination von Knoten, Stämmen, Aufgliederungen logischer und physischer Maschinen, ortsbezogene Aufgliederungen und IP-Aufgliederungen eines Computers handeln, wobei es sich bei einer Aufgliederung um eine logische oder physische Unterteilung des Systems handelt. Die in 2 gezeigten Knoten 1 210A und Knoten2 210B können somit als Knoten in einer beliebigen dieser verteilten Umgebungen angesehen werden.
  • 3 zeigt eine Tabelle, die eine geeignete Ausbildung von Sicherheitsbeschränkungsmetadaten 126 darstellt, die durch den Sicherheitsmechanismus 128 verwendet werden. Bei den Sicherheitsbeschränkungsmetadaten 126 handelt es sich vorzugsweise um eine Datenbanktabelle, die sich in der Datenbank befindet, wobei sich die Daten jedoch anderenorts befinden können. Die Sicherheitsbeschränkungsmetadaten 126 enthalten eine Anzahl von Datensätzen 310 mit Sicherheitsbeschränkungen für Beziehungen zwischen Ausführungseinheiten und Datenbankdaten. Im gezeigten Beispiel enthalten die Datensätze 310 der Sicherheitsbeschränkungsmetadaten 126 eine Datenbankeinheit 312; der die Datensätze zugeordnet sind, und eine oder mehrere Beschränkungen 314, die eine oder mehrere Ausführungseinheiten (123 1) angeben. Bei den Sicherheitsbeschränkungsmetadaten 126 handelt es sich vorzugsweise um eine Datei von Datensätzen 310, die in einem Speicher oder einer Datenspeichereinheit in oder in Verbindung mit der Datenbank 125 gespeichert sind. Die Datensätze 310 der Sicherheitsbeschränkungsmetadaten 126 können in jedem geeigneten Format ausgebildet sein, um eine logische Bedingung zwischen den relevanten Einheiten in der nachfolgend beschriebenen Weise anzugeben.
  • Es werden nun einige Beispiele für Sicherheitsbeschränkungsmetadaten betrachtet. Die folgenden Beispiele veranschaulichen die gezeigten Sicherheitsbeschränkungsmetadaten 126, die in den Datensätzen 310 von 3 gezeigt sind. Beim ersten Datensatz 316 von Sicherheitsbeschränkungsmetadaten 126 in 3 handelt es sich um eine Datenbankbeschränkung für eine Datenbanktabelle A mit Beschränkungen betreffend AE(X) (Ausführungseinheit X) und AE(Y) (Ausführungseinheit Y). Diese Sicherheitsbeschränkung des Datensatzes 316 wird in 4 weiter veranschaulicht. Die Ausführungseinheit X 410 und die Ausführungseinheit Y 412 stehen jeweils für eine Mehrknotenanwendung oder einen Teil einer Anwendung. Die Ausführungseinheiten in diesem Beispiel befinden sich auf verschiedenen in 2 gezeigten Knoten. Die Ausführungseinheiten 410, 412 versuchen, auf eine Datenbank 416 zuzugreifen, die sich irgendwo im Netzwerkraum (2) befindet, der mit den Knoten verbunden ist, welche die Ausführungseinheiten enthalten. Die Datenbank 416 in diesem Beispiel weist eine Tabelle A 418 und eine Tabelle B 420 auf. Die Sicherheitsbeschränkung im Datensatz 316 weist den Sicherheitsmechanismus 128 (1) an, gleichzeitigen Zugriff auf die Datenbanktabelle A 418 durch AE(X) 410 und AE(Y) 412 zu verhindern.
  • Beim zweiten Datensatz 318 von Sicherheitsbeschränkungsmetadaten 126 in 3 handelt es sich um eine Datenbankbeschränkung ähnlich derjenigen im vorhergehenden Beispiel, die ebenfalls in 4 abgebildet ist. Bei dieser Sicherheitsbeschränkung werden Abfragen der Datenbanktabelle A 418 für alle anderen Ausführungseinheiten beschränkt, wenn AE(X) 410 innerhalb einer festgelegten Zeitdauer „T” auf Tabelle B 420 zugegriffen hat. Eine Variation dieser Sicherheitsbeschränkung könnte den Zugriff auf Tabelle B 420 beschränken, wenn AE(X) 410 innerhalb einer Zeitdauer „T” auf Tabelle B 420 zugegriffen hat.
  • Der Datensatz 320 von Sicherheitsbeschränkungsmetadaten 126 in 3 beschreibt eine weitere in 4 veranschaulichte Sicherheitsbeschränkung. Bei dieser Sicherheitsbeschränkung werden Abfragen auf die Datenbanktabelle A 418 beschränkt, wenn die Anzahl von Ausführungseinheiten, die auf Tabelle A 418 zugreifen, einen Schwellenwert. übersteigt. Beim in 4 gezeigten Beispiel. wird der Zugriff auf Tabelle A beschränkt, wenn mehr als 3 Ausführungseinheiten auf Tabelle A zugreifen. Da 3 Ausführungseinheiten 410, 412 und 414 auf die Tabelle A 418 zugreifen, würde jeder weitere Zugriff auf Tabelle A durch den Sicherheitsmechanismus 128 (1) beschränkt.
  • Der Datensatz 322 von Sicherheitsbeschränkungsmetadaten 126 in 3 beschreibt eine weitere, in 5 näher veranschaulichte Sicherheitsbeschränkung. Bei dieser Sicherheitsbeschränkung werden Abfragen einer bestimmten Zeile (Zeile A1 512) der Datenbanktabelle A 418 beschränkt, wenn AE(X) 510 einen Wert „W1” in einem zu verarbeitenden Tupel aufweist. Es wird zum Beispiel angenommen, dass eine Ausführungseinheit AE(X) 510 ein Tupel mit einigen Attributen eingibt. Diese Attribute werden in die Zeichenketten der Ausführungseinheit gesandt. Diese Attributzeichenketten könnten die Zeichenketten mit den folgenden Bezeichnungen enthalten: MitarbeiterNummer, MitarbeiterFunktion und MitarbeiterDaten. Wenn innerhalb der Zeichenkette „MitarbeiterDaten” der Wert „betroffen” gefunden wird, erlaubt der Sicherheitsmechanismus der Ausführungseinheit AE(X) nicht, bestimmte Datenbankoperationen wie beispielsweise den Zugriff auf Tabelle A, Zeile A1 durchzuführen. In diesem Beispiel werden die Beschränkungen bezüglich einer einzigen Ausführungseinheit beschrieben, die Beschränkung könnte sich jedoch auch allgemeiner auf mehrere Ausführungseinheiten beziehen. Dies bedeutet, dass eine Beschränkung verwendet werden kann, die nicht an eine bestimmte Ausführungseinheit gebunden ist. Bei einer anderen Variation dieses Beispiels kann ein Wert der Abfrage durch die Ausführungseinheit einen bestimmten Benutzer auf einem Knoten angeben. Die Sicherheitsbeschränkungsmetadaten könnten dann angeben, dass bestimmten Benutzern nicht erlaubt wird, auf bestimmte Daten in der Datenbank zuzugreifen.
  • Der Datensatz 324 von Sicherheitsbeschränkungsmetadaten 126 in 3 beschreibt eine weitere, in 6 näher veranschaulichte Sicherheitsbeschränkung. Bei dieser Sicherheitsbeschränkung werden Abfragen einer bestimmten Zeile (Zeile A1 512) der Datenbanktabelle A 418 abhängig vom Status der äußeren Verbindungen mit einer Ressource beschränkt. Wenn in diesem Beispiel eine offene Verbindung über das Dateiübertragungsprotokoll (file transfer protocol (FTP)) 610 von AE(X) 410 mit der Ressource Knoten 2 210B vorliegt, geben die Beschränkungsmetadaten an, den Zugriff auf Datenbanktabelle A, Zeile A1 512 zu beschränken. Bei dem hierin verwendeten Begriff „äußere Verbindung” kann es sich um jedes beliebige Datenübertragungsprotokoll oder jede beliebige Schnittstelle zwischen Knoten und Ausführungseinheiten auf den Knoten handeln. Beim Beispiel des File Transfer Protocol (FTP) handelt es sich um ein verbreitetes Standardnetzwerkprotokoll, mit dem Daten von einem Host zu einem anderen über ein Netzwerk wie das Internet kopiert werden können.
  • Die hierin betrachteten Beziehungen sind nicht auf Beziehungen zwischen zwei Ausführungseinheiten beschränkt, sondern können sich auch auf Beziehungen erstrecken, die eine Vielzahl von Ausführungseinheiten betreffen. Gleichfalls kann sich die Beziehung auf eine Vielzahl von Knoten oder jeden beliebigen logischen oder physischen Teil von Hardware erstrecken. Die Offenbarung und die Ansprüche hierin erstrecken sich ausdrücklich auf weitere Zeitbeziehungen und relevante Teile des vorstehend beschriebenen Systems.
  • Wenn in den vorstehend beschriebenen Beispielen die Ausführungseinheit versuchen würde, eine in den Sicherheitsbeschränkungsmetadaten beschriebene Sicherheitsbeziehung zu verletzen, würde der Sicherheitsmechanismus die versuchte Verletzung entdecken und dann feststellen, wie die Sicherheitsverletzung vermieden werden kann. In den vorstehenden Beispielen verhindert der Sicherheitsmechanismus die Sicherheitsverletzung, indem der Zugriff auf die Daten verzögert oder Werte von Null zurückgegeben werden. Der Sicherheitsmechanismus könnte die Sicherheitsverletzung auch durch Verschieben oder Beseitigen der Ausführungseinheit verhindern. Wenn es sich bei der Sicherheitsverletzung zum Beispiel um eine Datenverletzung handelt, könnte der Sicherheitsmechanismus die Ausführungseinheit möglicherweise mit allen Daten, die der Ausführungseinheit zugeordnet sind, auf einen anderen Knoten verschieben, der die Sicherheitsbeziehung nicht verletzt, oder das System anweisen, dies zu tun. Wenn die Ausführungseinheit nicht verzögert oder verschoben werden kann, um die Sicherheitsverletzung zu überwinden, könnte der Sicherheitsmechanismus die Ausführungseinheit auch beseitigen und eine Sicherheitsverletzung innerhalb des Sicherheitsmechanismus und/oder einem anderen geeigneten Ort innerhalb des Systems protokollieren.
  • 7 zeigt ein Verfahren 700 für einen Sicherheitsmechanismus, wie er hierin beansprucht wird. Die Schritte im Verfahren 700 werden vorzugsweise durch den Sicherheitsmechanismus 128 (1) durchgeführt; Teile des Verfahrens können jedoch auch durch andere dem Computersystem zugehörige Software durchgeführt werden. Zuerst wird eine von einer Ausführungseinheit eingehende Abfrage in das System abgerufen (Schritt 710). Als nächstes wird die Abfrage auf Aktionen hin analysiert (parse), die durch die Sicherheitsbeziehungsmetadaten betroffen sind. Es wird festgestellt, ob in den Metadaten Sicherheitsbeschränkungen vorhanden sind, welche die Ausführungseinheit betreffen (Schritt 720). Falls in den Metadaten keine Sicherheitsbeschränkungen vorhanden sind, welche die Ausführungseinheit betreffen (Schritt 730 = nein), wird die Abfrage normal ausgeführt (Schritt 735), die Ergebnisse der Abfrage werden ausgegeben (Schritt 740), und das Verfahren ist beendet. Falls in den Metadaten Sicherheitsbeschränkungen vorhanden sind, welche die Ausführungseinheit betreffen (Schritt 730 = ja), werden beim Cluster Statusinformationen erfragt (Schritt 550), um sie mit den Beschränkungen in den Metadaten zu vergleichen. Falls bestimmt wird, die Abfrage auszuführen, wenn die Statusinformationen die Beschränkungen in den Metadaten nicht verletzen (Schritt 755 = ja), wird die Abfrage ausgeführt (Schritt 760). Als optionaler Schritt wird beim Cluster erneut nach Statusinformationen gefragt und diese mit den Beschränkungen in den Metadaten verglichen, um sicherzustellen, dass die Sicherheitsbeschränkung noch gültig ist (Schritt 765). Wenn der Status noch in Ordnung ist (Schritt 770 = ja), werden die Abfrageergebnisse ausgegeben (Schritt 740), und das Verfahren ist beendet. Ist der Status nicht in Ordnung (Schritt 770 = nein), werden die Ergebnisse auf Null gesetzt (Schritt 775), bevor die Ergebnisse ausgegeben werden (Schritt 740). Falls bestimmt wird, die Abfrage nicht auszuführen (Schritt 755 = nein), wird festgestellt, ob für eine Zeitdauer gewartet oder die Abfrage abgebrochen werden soll (Schritt 780). Wird bestimmt, zu warten (Schritt 780 = ja), wird eine Zeitdauer gewartet 785 und zu Schritt 750 zurückgekehrt. Wird bestimmt, die Abfrage abzubrechen (Schritt 780 = nein), werden die Ergebnisse auf Null gesetzt (Schritt 775) und die Abfrageergebnisse ausgegeben (Schritt 740), und das Verfahren ist beendet.
  • Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß vielfältigen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block im Ablaufplan oder den Blockschaltbildern für ein Modul, ein Segment oder einen Codebereich stehen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Ausführung der angegebenen logischen Funktion oder Funktionen umfasst. Es soll zudem angemerkt werden, dass bei einigen alternativen Ausführungen die im Block angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinander folgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockschaltbilder und/oder Abbildungen von Ablaufplänen und Kombinationen von Blöcken in den Blockschaltbildern und/oder Abbildungen von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen ausgeführt werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.
  • Wie für den Fachmann ersichtlich ist, können Aspekte der vorliegenden Erfindung als System, Verfahren, oder Computerprogrammprodukt ausgebildet sein. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (einschließlich Firmware, residente Software, Mikrocode usw.) oder in einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte kombiniert, was hierin sämtlich allgemein als „Schaltkreis”, „Modul” oder „System” bezeichnet sein kann. Weiterhin können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Datenträgern mit darauf befindlichem computerlesbaren Programmcode enthalten sein kann.
  • Jede Kombination aus einem oder mehreren computerlesbaren Datenträgern kann verwendet werden. Bei dem computerlesbaren Datenträger kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein System, eine Vorrichtung oder eine Einheit elektronischer, magnetischer, optischer, elektromagnetischer, Infrarot verwendender oder Halbleiter verwendender Art sowie eine beliebige geeignete Kombination des zuvor Genannten handeln. Zu spezielleren Beispielen für das computerlesbare Speichermedium kann Folgendes gehören (nicht erschöpfende Liste): eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (random access memory (RAM)), ein Nur-Lese-Speicher (read-only memory (ROM)), ein löschbarer programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler Nur-Lese-Compact-Disk-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des zuvor Genannten. Im Kontext dieses Dokuments kann es sich bei einem computerlesbaren Speichermedium um jedes physisch greifbare Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen beinhalten oder speichern kann. Ein computerlesbares Signalmedium kann ein Ausbreitungsdatensignal beinhalten, das den computerlesbaren Programmcode zum Beispiel in einem Basisband (baseband) oder als Teil eines Trägersignals (carrier wave) enthält. Solch ein Ausbreitungssignal kann in jeder beliebigen einer Vielzahl von Formen vorliegen, wie beispielsweise, jedoch nicht beschränkt auf, elektromagnetische, optische oder jede geeignete Kombination davon. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen übertragen, verbreiten oder transportieren kann. Der in einem computerlesbaren Datenträger enthaltene Programmcode kann mittels eines beliebigen geeigneten Mediums übertragen werden, wie beispielsweise, jedoch nicht beschränkt auf, kabellose, kabelgebundene, Lichtwellenleiterkabel, Hochfrequenz (HF) usw., oder einer beliebigen geeigneten Kombination des zuvor Genannten.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen wie beispielsweise einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder Ähnliches und herkömmlicher verfahrensorientierter Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten (remote) Computer oder vollständig auf einem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk wie beispielsweise ein Nahbereichsnetzwerk (local area network (LAN)) oder ein Weitbereichsnetzwerk (wide area network (WAN)) verbunden sein, oder es kann eine Verbindung zu einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters über das Internet) hergestellt werden. Aspekte der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf Abbildungen von Ablaufplänen und/oder Blockschaltbildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Abbildungen der Ablaufpläne und/oder Blockschaltbilder sowie Kombinationen von Blöcken in den Abbildungen der Ablaufpläne und/oder den Blockschaltbildern durch Computerprogrammanweisungen ausgeführt werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Ausführung der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaltbildes angegebenen Funktionen/Handlungen erzeugen. Diese Computerprogrammanweisungen können auch in einem computerlesbaren Datenträger gespeichert sein, der einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Datenträger gespeicherten Anweisungen einen Herstellungsartikel einschließlich Anweisungen erzeugen, welche die im Block oder in den Blöcken des Ablaufplans und/oder des Blockschaltbilds angegebenen Funktionen/Handlungen ausführen. Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Operationsschritten hervorzurufen, um einen auf dem Computer ausgeführten Prozess so zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zur Ausführung der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebenen Funktionen/Handlungen bereitstellen.
  • Wie oben beschrieben, setzt ein Mehrknoten-Sicherheitsmechanismus Sicherheitseinschränkungen durch, die als Sicherheitsbeziehungen in einer Datenbank gespeichert sind, und steuern, wie unterschiedlichen Teilen einer Mehrknotenanwendung (Ausführungseinheiten genannt) die Ausführung erlaubt wird, um Datensicherheit sicherzustellen. Die Offenbarung beschreibt einen Sicherheitsmechanismus, der eine Sicherheitsarchitektur für eine Datenbank in einer verteilten Umgebung bereitstellt.
  • Für den Fachmann ist ersichtlich, dass viele Variationen innerhalb des Umfangs der Ansprüche möglich sind. Obwohl die Beispiele hierin im Hinblick auf die Zeit beschrieben sind, sind diese anderen Arten von Schwellenwerten ausdrücklich als im Umfang der Ansprüche liegend beabsichtigt. Während somit die Offenbarung vorstehend besonders gezeigt und beschrieben ist, ist es für den Fachmann ersichtlich, dass diese und weitere Änderungen an Form und Einzelheiten daran vorgenommen werden können, ohne vom Gedanken und Umfang der Ansprüche abzuweichen.

Claims (15)

  1. Vorrichtung, die Folgendes umfasst: ein Mehrknoten-Computersystem, das eine Vielzahl von Computerknoten umfasst, von denen jeder einen Prozessor und einen mit dem Prozessor verbundenen Speicher aufweist; eine Vielzahl von Ausführungseinheiten im Speicher der Computerknoten, die durch die Prozessoren der Computerknoten ausgeführt werden; eine mit dem Computersystem verbundene Datenbank; Sicherheitsbeschränkungsmetadaten, die sich in einer Datenbanktabelle befinden und Sicherheitsbeziehungen von Daten in der Datenbank und den Ausführungseinheiten angeben; und einen Sicherheitsmechanismus, der die Sicherheit der Daten in der Datenbank durch Beschränken des Zugriffs auf die Datenbank durch die Vielzahl von Ausführungseinheiten des Computersystems gemäß den Sicherheitsbeschränkungsmetadaten durchsetzt.
  2. Vorrichtung nach Anspruch 1, wobei die Sicherheitsbeschränkungsmetadaten festlegen, dass eine erste Ausführungseinheit nicht gleichzeitig mit einer zweiten Ausführungseinheit ausgeführt werden darf.
  3. Vorrichtung nach Anspruch 1, wobei die Sicherheitsbeschränkungsmetadaten festlegen, dass eine Abfrage einer ersten Tabelle beschränkt wird, wenn eine Ausführungseinheit innerhalb einer festgelegten Zeitdauer auf eine zweite Tabelle zugegriffen hat.
  4. Vorrichtung nach Anspruch 1, wobei die Sicherheitsbeschränkungsmetadaten festlegen, dass eine Abfrage von Datenbankdaten beschränkt wird, wenn eine festgelegte Anzahl von Ausführungseinheiten, die auf die erste Datenbanktabelle zugreifen, eine festgelegte Schwellenwertanzahl von Ausführungseinheiten übersteigt.
  5. Vorrichtung nach Anspruch 1, wobei die Sicherheitsbeschränkungsmetadaten festlegen, dass eine Abfrage von Datenbankdaten beschränkt wird, wenn eine Ausführungseinheit einen bestimmten Wert in der verarbeiteten Abfrage aufweist.
  6. Vorrichtung nach Anspruch 1, wobei die Sicherheitsbeschränkungsmetadaten festlegen, dass eine Abfrage von Datenbankdaten beschränkt wird, wenn eine festgelegte Verbindung einer Ausführungseinheit mit einer Ressource geöffnet ist.
  7. Computerimplementiertes Verfahren für Datensicherheit in einem Mehrknoten-Computersystem, wobei das Verfahren die folgenden Schritte umfasst: (A) Abrufen einer eingehenden Abfrage von einer aus einer Vielzahl von Ausführungseinheiten auf einer Vielzahl von Computerknoten; (B) Bereitstellen von als Datenbankmetadaten gespeicherten Sicherheitsbeschränkungen; (C) Analysieren der Abfrage und Vergleichen der Abfrage mit den Sicherheitsbeschränkungen; (D) Erfragen von Statusinformationen vom Mehrknoten-Computersystem; (E) Feststellen, ob die Abfrage auf der Grundlage der Abfrage, der Sicherheitsbeschränkungsmetadaten und der Statusinformationen ausgeführt werden soll; (F) wenn in Schritt (E) bestimmt wird, die Abfrage auszuführen, Ausführen der Abfrage und Ausgeben von Ergebnissen der Abfrage; (G) wenn in Schritt (E) bestimmt wird, die Abfrage nicht auszuführen, Festlegen, eine Zeitdauer zu warten, und Zurückkehren zum vorstehenden Schritt D; (H) wobei die Schritte des Verfahrens in einem Computer-Software-Programm ausgebildet sind, das in einem Computerspeicher gespeichert ist und durch einen Computerprozessor ausgeführt wird.
  8. Verfahren nach Anspruch 7, das weiterhin die folgenden Schritte umfasst: wenn in Schritt (E) bestimmt wird, die Abfrage nicht auszuführen, Festlegen, keine Zeitdauer zu warten, Setzen eines Ergebnisses auf Null und Ausgeben der Abfrageergebnisse.
  9. Verfahren nach Anspruch 7, das weiterhin die folgenden Schritte umfasst: Nach Ausführen der vorstehenden Abfrage, erneutes Erfragen von Statusinformationen von dem Mehrknoten-Computersystem, und, wenn der Status angibt, dass immer noch keine Sicherheitsbeschränkung vorliegt, Ausgeben der Abfrageergebnisse in Schritt F.
  10. Verfahren nach Anspruch 7, wobei die Sicherheitsbeschränkungsmetadaten angeben, dass eine Abfrage von Datenbankdaten beschränkt wird, wenn eine festgelegte Anzahl von Ausführungseinheiten, die auf die erste Datenbanktabelle zugreifen, eine festgelegte Schwellenwertanzahl von Ausführungseinheiten übersteigt.
  11. Computerimplementiertes Verfahren für Datensicherheit in einem Mehrknoten-Computersystem, wobei das Verfahren die folgenden Schritte umfasst: (A) Abrufen einer eingehenden Abfrage von einer aus einer Vielzahl von Ausführungseinheiten auf einer Vielzahl von Computerknoten; (B) Bereitstellen von als Datenbankmetadaten gespeicherten Sicherheitsbeschränkungen; (C) Analysieren der Abfrage und Vergleichen der Abfrage mit den Sicherheitsbeschränkungen; (D) Erfragen von Statusinformationen vom Mehrknoten-Computersystem; (E) Feststellen, ob die Abfrage auf der Grundlage der Abfrage, der Sicherheitsbeschränkungsmetadaten und der Statusinformationen ausgeführt werden soll; (F) wenn in Schritt (E) bestimmt wird, die Abfrage auszuführen, Ausführen der Abfrage und Ausgeben von Ergebnissen der Abfrage; (G) wenn in Schritt (E) bestimmt wird, die Abfrage nicht auszuführen, Festlegen, eine Zeitdauer zu warten, und Zurückkehren zum vorstehenden Schritt D; (H) wenn in Schritt (E) bestimmt wird, die Abfrage nicht auszuführen, Festlegen, keine Zeitdauer zu warten, Setzen von Abfrageergebnissen auf Null und Ausgeben der Abfrageergebnisse; (I) nach Ausführen der Abfrage in Schritt (F), Erfragen von Statusinformationen von dem Mehrknoten-Computersystem, und, wenn die Statusinformationen angeben, dass immer noch keine Sicherheitsbeschränkung vorliegt, Ausgeben der Abfrageergebnisse in Schritt (F); und (J) wobei die Sicherheitsbeschränkungsmetadaten angeben, dass eine Abfrage einer ersten Tabelle beschränkt wird, wenn eine Ausführungseinheit innerhalb einer festgelegten Zeitdauer auf eine zweite Tabelle zugegriffen hat; und (K) wobei die Schritte des Verfahrens in einem Computer-Software-Programm ausgebildet sind, das in einem Computerspeicher gespeichert ist und durch einen Computerprozessor ausgeführt wird.
  12. Herstellungsartikel, der auf einem gegenständlichen computerlesbaren Speichermedium gespeicherte Software umfasst, wobei die Software Folgendes umfasst: einen Sicherheitsmechanismus, der die Sicherheit von Daten in einer mit einem Computersystem verbundenen Datenbank durchsetzt, indem der Zugriff auf die Datenbank durch eine Vielzahl von Ausführungseinheiten des Computersystems abhängig von Sicherheitsbeschränkungsmetadaten in der Datenbank beschränkt wird; wobei sich die Sicherheitsbeschränkungsmetadaten in einer Datenbanktabelle der Datenbank befinden und Sicherheitsbeziehungen von Daten in der Datenbank und den Ausführungseinheiten angeben.
  13. Herstellungsartikel nach Anspruch 12, wobei der Sicherheitsmechanismus auf einem aus einer Vielzahl von Computerknoten ausgeführt wird, die zusammen ein Mehrknoten-Computersystem umfassen, und wobei jeder Computerknoten einen Prozessor und einen mit dem Prozessor verbundenen Speicher aufweist.
  14. Herstellungsartikel nach Anspruch 12, wobei die Sicherheitsbeschränkungsmetadaten angeben, dass eine Abfrage einer ersten Tabelle beschränkt wird, wenn eine Ausführungseinheit innerhalb einer festgelegten Zeitdauer auf eine zweite Tabelle zugegriffen hat.
  15. Herstellungsartikel nach Anspruch 12, wobei die Sicherheitsbeschränkungsmetadaten angeben, dass eine Abfrage von Datenbankdaten beschränkt wird, wenn eine festgelegte Anzahl von Ausführungseinheiten, die auf die erste Datenbanktabelle zugreifen, eine festgelegte Schwellenwertanzahl von Ausführungseinheiten übersteigt.
DE102012208751A 2011-06-01 2012-05-24 Datensicherheit für eine Datenbank in einer Mehrknotenumgebung Pending DE102012208751A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/150,651 US20120310984A1 (en) 2011-06-01 2011-06-01 Data security for a database in a multi-nodal environment
US13/150,651 2011-06-01

Publications (1)

Publication Number Publication Date
DE102012208751A1 true DE102012208751A1 (de) 2012-12-06

Family

ID=47173554

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012208751A Pending DE102012208751A1 (de) 2011-06-01 2012-05-24 Datensicherheit für eine Datenbank in einer Mehrknotenumgebung

Country Status (4)

Country Link
US (2) US20120310984A1 (de)
CN (1) CN102880835B (de)
CA (1) CA2776127C (de)
DE (1) DE102012208751A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732031B2 (en) 2012-06-12 2014-05-20 Sensity Systems, Inc. Lighting infrastructure and revenue model
US9374870B2 (en) 2012-09-12 2016-06-21 Sensity Systems Inc. Networked lighting infrastructure for sensing applications
US9582671B2 (en) 2014-03-06 2017-02-28 Sensity Systems Inc. Security and data privacy for lighting sensory networks
US9933297B2 (en) 2013-03-26 2018-04-03 Sensity Systems Inc. System and method for planning and monitoring a light sensory network
EP2976856B1 (de) 2013-03-26 2019-08-14 Sensity Systems Inc. Sensorknoten mit multicast-übertragungen in einem sensorischen beleuchtungsnetzwerk
US9746370B2 (en) 2014-02-26 2017-08-29 Sensity Systems Inc. Method and apparatus for measuring illumination characteristics of a luminaire
US10362112B2 (en) 2014-03-06 2019-07-23 Verizon Patent And Licensing Inc. Application environment for lighting sensory networks
US10417570B2 (en) 2014-03-06 2019-09-17 Verizon Patent And Licensing Inc. Systems and methods for probabilistic semantic sensing in a sensory network
US9900386B2 (en) * 2015-04-09 2018-02-20 International Business Machines Corporation Provisioning data to distributed computing systems
JP6571202B2 (ja) * 2015-05-27 2019-09-04 グーグル エルエルシー モバイルデバイス上の自動的なクラウドベースの全データバックアップおよびリストアのためのシステムおよび方法
CN105809059B (zh) * 2016-03-11 2019-02-01 广东正全科技股份有限公司 一种对象属性伪装转化的方法及其系统
US10552642B2 (en) * 2017-07-14 2020-02-04 Sap Se Dynamic data-use restrictions
US10915418B1 (en) * 2019-08-29 2021-02-09 Snowflake Inc. Automated query retry in a database environment

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920861A (en) * 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6195694B1 (en) 1997-03-13 2001-02-27 International Business Machines Corporation Server for reconfiguring control of a subset of devices on one or more kiosks
US6226745B1 (en) * 1997-03-21 2001-05-01 Gio Wiederhold Information sharing system and method with requester dependent sharing and security rules
US5978940A (en) * 1997-08-20 1999-11-02 Mci Communications Corporation System method and article of manufacture for test operations
US6038563A (en) * 1997-10-31 2000-03-14 Sun Microsystems, Inc. System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects
US6112181A (en) * 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6389543B1 (en) 1998-08-31 2002-05-14 International Business Machines Corporation System and method for command routing and execution in a multiprocessing system
US6578037B1 (en) * 1998-10-05 2003-06-10 Oracle Corporation Partitioned access control to a database
US6158010A (en) * 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US6820082B1 (en) * 2000-04-03 2004-11-16 Allegis Corporation Rule based database security system and method
US7904454B2 (en) * 2001-07-16 2011-03-08 International Business Machines Corporation Database access security
US7065588B2 (en) * 2001-08-10 2006-06-20 Chaavi, Inc. Method and system for data transformation in a heterogeneous computer system
US8316051B1 (en) * 2001-11-30 2012-11-20 Oralce International Corporation Techniques for adding multiple security policies to a database system
US7478402B2 (en) * 2004-02-12 2009-01-13 Microsoft Corporation Configurable message pipelines
US7917495B1 (en) * 2004-06-11 2011-03-29 Seisint, Inc. System and method for processing query requests in a database system
WO2006044798A2 (en) 2004-10-15 2006-04-27 Protegrity Corporation Cooperative processing and escalation in a multi-node application-layer security system and method
FR2881854B1 (fr) * 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application
JP4717464B2 (ja) 2005-02-18 2011-07-06 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN100587688C (zh) * 2005-02-28 2010-02-03 微软公司 提供对数据存储器内数据的访问控制的方法和系统
US9407662B2 (en) * 2005-12-29 2016-08-02 Nextlabs, Inc. Analyzing activity data of an information management system
US20070239471A1 (en) * 2006-04-07 2007-10-11 Patton Richard D Systems and methods for specifying security for business objects using a domain specific language
US20070271234A1 (en) 2006-05-22 2007-11-22 Ravikiran Chickmangalore N Information Exchange Among Members of a Group of Communication Device Users
WO2008093320A1 (en) 2007-01-31 2008-08-07 Tufin Software Technologies Ltd. System and method for auditing a security policy
US8544065B2 (en) 2008-01-23 2013-09-24 International Business Machines Corporation Dataspace protection utilizing virtual private networks on a multi-node computer system
US8719256B2 (en) * 2008-05-01 2014-05-06 Chacha Search, Inc Method and system for improvement of request processing
CN101782942A (zh) * 2010-01-21 2010-07-21 武汉大学 多节点多防护能力的防护效能评估系统

Also Published As

Publication number Publication date
CA2776127A1 (en) 2012-12-01
US20130074146A1 (en) 2013-03-21
CA2776127C (en) 2020-04-14
CN102880835A (zh) 2013-01-16
US9916471B2 (en) 2018-03-13
CN102880835B (zh) 2015-12-02
US20120310984A1 (en) 2012-12-06

Similar Documents

Publication Publication Date Title
DE102012208751A1 (de) Datensicherheit für eine Datenbank in einer Mehrknotenumgebung
DE112016003120B4 (de) Umleiten einer Kopie beim Schreiben
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112011100819B4 (de) Speicherplatzreservierung in einem Deduplizierungssystem
DE102014103488A1 (de) Ausgeglichenes Scheduling mit gemischten Abfrage-Lasten
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE102010044531B4 (de) Autonome Speicherarchitektur
DE102012223167B4 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE112010004931T5 (de) Mehrphasige Wiederherstellung von Dateisystemen mit SelektiverBedarfsweiser Verfügbarkeit von Daten(
DE112012005639T5 (de) Auslösen von Fensterbedingungen bei Anwendungen des Stream-Computing
DE112011106066T5 (de) System und Verfahren zur Bereitstellung von differenziertem Speicherservice in der Datenbank
DE112012004247T5 (de) Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE102012224492A1 (de) Auslösen von Fensterbedingungen unter Verwendung einer Ausnahmebehandlung
DE202014010885U1 (de) Beschleunigung basierend auf zwischengespeicherte Flüsse
DE202013012478U1 (de) Kompression der datenkarte
DE202023101653U1 (de) Organisations- und cloudübergreifende automatisierte Datenpipelines
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
DE112012000274B4 (de) Schutz der Unversehrtheit von Daten auf Speicherdatenträgern
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112020004353T5 (de) Globale tabellenverwaltungsoperationen für replizierte tabellen mit mehreren regionen
DE102013100054A1 (de) Verlagern von zusammengehörigen Ressourcenpartitionen
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE112017007865T5 (de) Netzgebundener shuffle-datenspeicher
DE112018005359T5 (de) Verhindern eines Beibehaltens von Datensatzsperren durch Transaktionen mit langer Laufzeit

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021200000

Ipc: G06F0021300000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021200000

Ipc: G06F0021300000

Effective date: 20121207

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: KYNDRYL, INC., NEW YORK, US

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US