DE69934894T2 - Verfahren und vorrichtung zur wahlweisen einstellung des zugangs zu anwendungsmerkmalen - Google Patents

Verfahren und vorrichtung zur wahlweisen einstellung des zugangs zu anwendungsmerkmalen Download PDF

Info

Publication number
DE69934894T2
DE69934894T2 DE69934894T DE69934894T DE69934894T2 DE 69934894 T2 DE69934894 T2 DE 69934894T2 DE 69934894 T DE69934894 T DE 69934894T DE 69934894 T DE69934894 T DE 69934894T DE 69934894 T2 DE69934894 T2 DE 69934894T2
Authority
DE
Germany
Prior art keywords
attribute
attributes
value
user
group
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.)
Expired - Lifetime
Application number
DE69934894T
Other languages
English (en)
Other versions
DE69934894D1 (de
Inventor
N. James Oradell GERSHFIELD
G. Shawn Lake Haiwatha BARGER
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.)
Hewlett Packard Development Co LP
Original Assignee
Electronic Data Systems LLC
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 Electronic Data Systems LLC filed Critical Electronic Data Systems LLC
Application granted granted Critical
Publication of DE69934894D1 publication Critical patent/DE69934894D1/de
Publication of DE69934894T2 publication Critical patent/DE69934894T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf das Festlegen des Zugriffs eines Benutzers auf Computersysteme und insbesondere auf die Möglichkeit, die Grenzen für den Zugriff jedes von mehreren Benutzern auf die Merkmale einer oder mehrerer Anwendungen, die auf einem Computersystem ausgeführt werden können, selektiv und flexibel festzulegen.
  • HINTERGRUND DER ERFINDUNG
  • In einer Umgebung wie zum Beispiel einem Servicebüro mit gemeinsam genutzten Ressourcen, in der viele Mitarbeiter und/oder Kunden Zugriff auf ein Computersystem haben, auf dem zahlreiche Anwendungen laufen können, ist es oft wünschenswert, die Möglichkeit zu haben, den Zugriff durch bestimmte Benutzer oder Klassen von Benutzern auf eines oder mehrere Merkmale dieser Anwendungen zu beschränken. Hierbei umfasst der Begriff „Merkmale" alle der nahezu unendlichen möglichen Anwendungsfunktionen wie beispielsweise das Zugreifen auf Daten in Datenbanktabellen, das Erzeugen, Ansehen und Drucken von Berichten und das Senden und/oder Empfangen von E-Mail-Nachrichten.
  • Derzeit ist diese Flexibilität bei der Beschränkung des Benutzerzugriffs nicht gegeben. Im Hinblick auf die Beschränkung des Zugriffs auf Daten besteht ein derzeit von der Oracle® Corporation in ihren Datenbankprogrammen verwendetes Verfahren darin, die Möglichkeit eines Benutzers, auf bestimmte Datentabellen zuzugreifen, auf der Datenbankebene zu begrenzen. Die Oracle® Corporation erreicht dies durch Ermöglichung des Zuweisens von „Aufgaben" zu Benutzern, die den Zugriff nicht speziell auf die Daten selbst einschränken, sondern auf die Tabellen, die die Daten enthalten.
  • Die Notwendigkeit für mehr Flexibilität bei der Beschränkung des Zugriffs auf Anwendungsmerkmale, einschließlich des durch die Oracle®-Aufgaben eingeschränkten Merkmals des Datenzugriffs, kann mit einem einfachen Beispiel gezeigt werden. Nachstehend ist eine hypothetische Datentabelle mit vertraulichen Finanztransaktionen der Kunden A, B und C am Morgen des 15. Juni 1998 gezeigt, wobei WDRWL eine Abhebung angibt, DPST eine Einzahlung und PYMNT eine Zahlung.
  • Tabelle 1
    Figure 00020001
  • Um einen Bericht über die vertraulichen Transaktionen nur des Kunden A für den Monat Juni zu schreiben, ist ein Zugriff auf die Daten in den Zeilen 1, 4 und 6 nötig, nicht aber auf die Zeilen 2, 3, 5 und 7. Weil diese Daten hoch sensibel sind, ist eine Beschränkung des Zugriffs nur auf die für den jeweiligen Auftrag relevanten Daten (das heißt den Bericht über die Transaktionen des Kunden A) in hohem Maße wünschenswert.
  • Zusätzlich kann die zum Erstellen eines Berichts über die vergangenen Transaktionen des Kunden A verwendete Anwendung die Möglichkeit aufweisen, mehrere verschiedene Arten von Berichten zu erzeugen, einschließlich Berichte zur Vorhersage des künftigen Verhaltens zusätzlich zum Aufzeigen des vergangenen Verhaltens. Je nachdem, wer mit dieser Aufgabe beauftragt wird, kann es nicht wünschenswert sein, den Zugriff auf beide Arten von Berichtsfunktionen zu gestatten. Auch kann es unerwünscht sein, das Ausdrucken der erzeugten Berichte zu gestatten.
  • WO 95/22792 beschreibt ein Verfahren und eine Vorrichtung zur Steuerung des Zugriffs auf eine Datenbank. Nach WO 95/22792 wird der Zugriff auf Daten in einer Datenbank gesteuert, indem ein Teil der Datenbank so konfiguriert wird, dass nur einige der Daten in der Datenbank mit einem Sicherheits-Tag versehen sind. Eine Speicherstruktur mit Benutzerkennungen und zugehörigen Benutzer-Tags ist vorgesehen, die eine Zuordnung zwischen Benutzernamen und Benutzer-Tags darstellt. Der Zugriff auf die gespeicherten Daten wird dabei erreicht, indem bestimmt wird, ob die zu den Daten gehörenden Sicherheits-Tags über die Speicherstruktur und die Zuordnung zu dem Be nutzernamen des Benutzers verbunden sind, der versucht, auf die Daten zuzugreifen. Durch Vorsehen dieser indirekten Zuordnung von Benutzernamen zu Sicherheits-Tags ist es möglich, die Sicherheitspolitik durch Modifizieren der Zwischendaten in der Speicherstruktur zu ändern, ohne die Daten in der Datenbank selbst zu ändern.
  • Nach einem Aspekt der vorliegenden Erfindung wird nach Anspruch 1 ein Verfahren zum Festlegen des Zugriffs eines Benutzers auf mindestens ein Merkmal in einem Computersystem, das mindestens eine Anwendung ausführen und eine Datenbank unterhalten kann, bereitgestellt, wobei eine Anwendung jeweils mindestens ein Merkmal aufweist.
  • Nach einem weiteren Aspekt der vorliegenden Erfindung wird ein Computersystem nach Anspruch 10 bereitgestellt.
  • Ausführungsformen der vorliegenden Erfindung bieten die Möglichkeit, den Zugriff auf Anwendungsmerkmale, die einem bestimmten Benutzer oder einer Gruppe von Benutzern eines Computersystems zur Verfügung stehen, gezielt festzulegen.
  • Ausführungsformen der vorliegenden Erfindung bieten mehr Flexibilität, als sie derzeit gegeben ist, hinsichtlich der Möglichkeit, den Zugriff eines Benutzers auf Daten in tabellenorientierten Datenbanken zu beschränken.
  • Für ein besseres Verständnis der vorliegenden Erfindung, zusammen mit anderen und weiteren Zielen, wird auf die nachstehende Beschreibung in Verbindung mit den anliegenden Zeichnungen verwiesen, und ihr Umfang ist in den anliegenden Ansprüchen festgelegt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockdiagramm eines beispielhaften Systems nach der vorliegenden Erfindung.
  • 2 zeigt ein Blockdiagramm des Benutzerattributesystem-Gruppierungsverfahrens nach der vorliegenden Erfindung.
  • 3 zeigt ein Ablaufdiagramm für eine Ausführungsform des Verfahrens nach der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Benutzerattribute
  • 1 zeigt ein Blockdiagramm eines beispielhaften Systems nach der vorliegenden Erfindung. Auf einem Computer 5 läuft Datenbank-Software 8, die Datentabellen unterhält, die durch die Tabellen 11, 13 und 15 repräsentiert sind. Zahlreiche Anwendungen, repräsentiert durch die Anwendungen ABC, DEF und GHI, laufen ebenfalls auf dem Computer 5 und stellen zum Teil Einrichtungen zum Abrufen und Bearbeiten der Daten in den Tabellen 11, 13 und 15 bereit. Jeder der Benutzer X, Y und Z des Systems hat über Terminals, repräsentiert durch die Computer 18, 21 bzw. 24, Zugriff auf den Computer 5. Nach der vorliegenden Erfindung sind den Benutzern X, Y und Z ein oder mehrere „Attribute" zugeordnet. Die Attribute weisen jeweils einen Namen, der ein Anwendungsmerkmal bezeichnet, auf das der Zugriff festgelegt wird (zum Beispiel die Fähigkeit, auf Daten in der Datenbank zuzugreifen), und einen Wert auf, der die Zugriffsbeschränkungen festlegt, wie weiter unten ausführlich beschrieben. Sofern im Kontext nicht anders angegeben, wird der Begriff „Attribute" hier so verwendet, dass er sich auf ein Namen-Werte-Paar bezieht.
  • Attribute werden in einer Tabelle von der Datenbank-Software 8 verwalltet und definieren die jeweiligen Fähigkeiten der Benutzer, die Anwendungen ABC, DEF und GHI auszuführen. Zwei nützliche Attribute sind zum Beispiel DATA_SCOPE und USER_LEVEL. DATA_SCOPE definiert die Daten, auf die der Benutzer zugreifen darf, und hat, bei Verwendung der vorstehenden Tabelle 1 als Beispiel, die möglichen Werte A, B, C oder ALL, was den mit den Kunden A, B, C bzw. allen drei Kunden verbundenen Daten entspricht. USER_LEVEL ist ein weit gefasstes Attribut, das allgemein die Zugriffsstufe auf die betreffenden Merkmale einer bestimmten Anwendung definiert, die von einem Benutzer zur Ausführung gewählt wird. USER_LEVEL hat vorzugsweise die Werte ADMIN, REGULAR und RESTRICTED, wobei ADMIN die geringste Beschränkung darstellt und den Zugriff auf alle verfügbaren Merkmale einer bestimmten Anwendung ermöglicht, zum Beispiel das Abrufen von Berichten, E-Mail und Drucken. RESTRICTED beschränkt die Benutzer auf die einfachsten Anwendungsmerkmale, zum Beispiel das Erzeugen von Berichten. Benutzer mit der Berechtigung REGULAR dürfen auf weniger Merkmale zugreifen als Benutzer mit der Berechtigung ADMIN, jedoch auf mehr als Benutzer mit der Berechtigung RESTTRICTED. Jede Anwendung kann das Attribut USER_LEVEL auf der Grundlage der von ihr be reitgestellten unterschiedlichen Merkmale interpretieren. Es ist zu erkennen, dass mehrere eng gefasste Attribute, zum Beispiel im Hinblick auf das Erzeugen oder Drucken von Berichten, anstelle des Attributs USER_LEVEL verwendet werden können.
  • Die beiden Attribute DATA_SCOPE und USER_LEVEL und deren jeweilige Werte sind natürlich nur Beispiele. Der Fachmann wird das unbegrenzte Potenzial zur Festlegung von Attributen erkennen, die den Zugriff auf Anwendungsmerkmale einschränken.
  • Gruppierung
  • Attribute können einzelnen Benutzern zugeordnet werden oder es kann, in einer bevorzugten Ausführungsform, ein Gruppierungsschema implementiert werden, das als Beispiel in 2 gezeigt ist. Attribute wie zum Beispiel DATA_SCOPE und USER_LEVEL sind durch Quadrate angegeben, „Attributgruppen" sind durch Dreiecke angegeben und „Zuordnungsgruppen" sind durch Kreise angegeben. Attributgruppen bestehen nur aus Attributen und ihren Werten, während Zuordnungsgruppen aus Attributgruppen und/oder anderen Zuordnungsgruppen bestehen, aber nicht aus einzelnen Attributen. Bei einer bevorzugten Ausführungsform des Gruppierungsschemas ist eine Attributgruppe jeweils auf Attribute für eine einzelne Anwendung beschränkt, wodurch die Möglichkeit gegeben ist, unterschiedliche Attribute und Werte für unterschiedliche Anwendungen zuzuordnen. Bei einer alternativen Ausführungsform können Attributgruppen unabhängig von bestimmten Anwendungen eingerichtet werden, so dass eine Gruppe Attribute für alle Anwendungen enthalten kann. Auch wenn dies weniger Flexibilität bei der Festlegung des Zugriffs auf Merkmale einzelner Anwendungen bietet, wäre ein solches System einfacher zu implementieren.
  • Bei der bevorzugten Ausführungsform definiert eine Tabelle APPS, die mindestens eine Spalte APP_CODE enthält, die Liste der gültigen Anwendungen, die damit verbundene Attribute aufweisen können. In 1 lauten die gültigen APP_CODE-Werte in diesem Beispiel ABC, DEF und GHI. Andere Spalten in der Tabelle APPS würden die jeweiligen Informationen enthalten, die von jeder der Anwendungen benötigt werden. In einem Menüsystem, das Symbole bereitstellt, aus denen der Benutzer eine Anwendung zur Ausführung auswählen kann, würde zum Beispiel eine Spalte APP_NAME die Zeichenfolge enthalten, die als sichtbares Label des Symbols verwendet wird, das mit der Anwendung in der Spalte APP_CODE verbunden ist.
  • Eine Attributgruppe definiert jeweils eine Gruppe von null oder mehr Attributen für eine bestimmte Anwendung, die durch einen APP_CODE identifiziert ist. Eine Attributgruppe von null Attributen könnte verwendet werden, um anzugeben, dass für die betreffende Anwendung Standardwerte für die Attribute zugeordnet werden sollten. Typischerweise sind die Standardwerte die mit den stärksten Beschränkungen. Alternativ könnte eine Attributgruppe von null Attributen verwendet werden, um anzugeben, dass es keine Merkmale für die durch APP_CODE identifizierte Anwendung gibt, auf die der Zugriff festgelegt werden soll, mit Ausnahme der Möglichkeit, die Anwendung auszuführen.
  • Das Gruppierungsbeispiel in 2 zeigt eine komplexere Benutzerstruktur als das zuvor in Zusammenhang mit 1 und Tabelle 1 beschriebene Beispiel. Die Attributgruppen 106, 115, 130, 145 und 148 in 2 weisen die folgenden zugeordneten Attribute auf:
  • Tabelle 2
    Figure 00060001
  • Bei dieser bevorzugten Ausführungsform wird die Anwendung, auf die sich die jeweilige Attributgruppe bezieht, zu dem Zeitpunkt festgelegt, an dem die Gruppe eingerichtet wird, und in dem diskutierten Beispiel ist sie in der vorstehenden Tabelle 2 in der zweiten Spalte angegeben.
  • In 2 weist eine einem Benutzer zugeordnete Attributgruppe 106 die Attribute DATA_SCOPE 107 und USER_LEVEL 108 mit den Werten ALL bzw. ADMIN auf, wie in Tabelle 2 gezeigt. Entsprechend den Attributen sollte der Benutzer ADMIN-Zugriff auf die Anwendung GHI erhalten und erhält bei der Ausführung der betreffenden Anwendung Zugriff auf die jeweiligen Daten der Kunden A, B und C. Eine einem Benutzer zugeordnete Attributgruppe 130 weist drei Attribute DATA_SCOPE 133, DATA_SCOPE 136 und USER_LEVEL 139 mit den Werten A, B bzw. REGULAR auf. Entsprechend den Attributen kann dieser Benutzer auf Daten zugreifen, die die Kunden A oder B betreffen, und kann auf die Merkmale der Anwendung ABC zugreifen, die für einen Benutzer mit dem Status REGULAR festgelegt sind. Eine einem Benutzer zugeordnete Attributgruppe 145 hat eingeschränkten Zugriff – RESTRICTED – auf die Anwendung ABC und erhält Zugriff auf die Daten, die die Kunden A und B betreffen. Eine einem Benutzer zugeordnete Attributgruppe 148 hat eingeschränkten Zugriff – RESTRICTED – auf die Anwendung DEF und erhält Zugriff auf die Daten, die die Kunden B und C betreffen.
  • Eine oder mehrere Attributgruppen können Zuordnungsgruppen zugewiesen werden. In 2 kann die Zuordnungsgruppe 142 zum Beispiel aus den Attributgruppen 145 und 148 bestehen und alle Paare aus Attributname und Attributwert enthalten, die in den letzten beiden Spalten der nachstehenden Tabelle 3 aufgeführt sind:
  • Tabelle 3
    Figure 00070001
  • Zuordnungsgruppen können auch anderen Zuordnungsgruppen zugeordnet werden. Dies ist in 2 durch die Zuordnungsgruppe 103 gezeigt, die alle Attribute in der Zuordnungsgruppe 142 sowie alle Attribute in den Attributgruppen 130 und 115 enthält. Die Zuordnungsgruppe 100 ganz oben in der Abbildung besteht aus der Zuordnungs gruppe 103 und der Attributgruppe 106. Die Zuordnungsgruppe 100 enthält daher alle Attribute in jeder der fünf Attributgruppen 130, 145, 148, 115 und 106.
  • Das Attributgruppierungssystem ist besonders geeignet, um Mitarbeitern Attribute für unterschiedliche Verantwortungsbereiche zuzuordnen. Die Attributgruppen 115, 130, 145 und 148 können zum Beispiel Mitarbeitern auf unterer oder mittlerer Ebene zugeordnet werden, während die Zuordnungsgruppen 100, 103 und 142 und die Attributgruppe 106 Führungskräften zugeordnet werden können, deren Aufgabe es ist, die Arbeit von Mitarbeitern auf unterer Ebene zu beaufsichtigen und, im Hinblick auf die Attributgruppe 106, ihre eigenen Anwendungen auszuführen.
  • Bei diesem bevorzugten Gruppierungssystem werden die Zuordnungen von Attributen zu Attributgruppen, Zuordnungsgruppen und Benutzern in einer Tabelle ATTRIBUTES verwaltet. Die Tabelle ATTRIBUTES hat drei Spalten: ASSIGNEE (Zuordnungsempfänger), ATTRIBUTE_NAME (Attributname) und ATTRIBUTE_VALUE (Attributwert). ASSIGNEE kann der Name einer Attributgruppe, der Name einer Zuordnungsgruppe oder ein Benutzer sein. ATTRIBUTE_NAME ist der Name des Attributs (zum Beispiel DATA_SCOPE). ATTRIBUTE_VALUE ist ein bestimmter Wert für das angegebene Attribut (zum Beispiel ALL [Alle]).
  • Die Tabelle ATTRIBUTES wird mit sieben einfachen Befehlen verwaltet. Diese beispielhaften Befehle sind nachstehend als die Oracle®-Prozeduren zur Verwendung in einer Oracle®-Datenbankumgebung angegeben. Für den Fachmann ist ersichtlich, dass analoge Befehle für andere Umgebungen abgeleitet werden können. In den nachstehenden Beschreibungen sind die Parameter in einfachen Anführungszeichen und Literalzeichenfolgen in doppelten Anführungszeichen angegeben.
  • Befehl Nr. 1
    • attr_utils.create_group ('group_name', 'group_type', 'app_code')
    • 'group_name': Name der Gruppe
    • 'group_type': „ATTRIBUTE" oder „ASSIGNEE"
    • 'app_code': Lautet der 'group_type' „ATTRIBUTE", ist dieses Feld erforder lich; anderenfalls wird es ignoriert.
  • Diese Prozedur legt eine Gruppe des angegebenen Typs an. Sie wird mit einem Fehler beendet, wenn der Parameter 'group_name' bereits als eine Gruppe oder ein Oracle®-Benutzer existiert.
  • Entsprechend der Prozedur werden die Werte für 'group_name' und 'group_type' in Großbuchstaben umgesetzt. Danach wird ein Datensatz mit den folgenden Spaltenwerten in die Tabelle ATTRIBUTES eingefügt:
    Set ASSIGNEE = 'group_name'
    Set ATTRIBUTE_NAME = „ASSIGNEE_TYPE"
    Set ATTRIBUTE_VALUE _ „ATTRIBUTE_GROUP" oder
    „ASSIGNEE_GROUP" basierend auf dem Wert von 'group_type'.
  • Außerdem wird, wenn der Parameter 'group_type' „ATTRIBUTE" lautet, ein weiterer Datensatz mit den folgenden Spaltenwerten in die Tabelle ATTRIBUTES eingefügt:
    Set ASSIGNEE = 'group_name'
    Set ATTRIBUTE_NAME = „APP_CODE"
    Set ATTRIBUTE_VALUE = 'app_code'.
  • Befehl Nr. 2
    • attr_utils.assign_group ('assignee', 'group_name')
    • 'assignee': Benutzer oder Zuordnungsgruppe, dem bzw. der 'group_name' zugeordnet wird.
    • 'group_name': Gruppe, die dem Zuordnungsempfänger zugeordnet wird.
  • Diese Prozedur weist eine Gruppe einer anderen Gruppe oder einem Benutzer zu. Ein Fehler wird angezeigt, wenn der 'assignee' nicht als eine Zuordnungsgruppe oder ein Benutzer vorhanden ist. Ein Fehler wird auch angezeigt, wenn der 'group_name' nicht existiert.
  • Diese Prozedur setzt zuerst die Werte für 'assignee' und 'group_name' in Großbuchstaben um. Danach wird ein Datensatz mit den folgenden Spaltenwerten in die Tabelle ATTRIBUTES eingefügt:
    Set ASSIGNEE = 'assignee'
    Set ATTRIBUTE_NAME = „ASSIGNED_GROUP"
    Set ATTRIBUTE_VALUE = 'group_name'.
  • Befehl Nr. 3
    • attr_utils.assign_attribute ('assignee', 'attribute_name', 'attribute_value')
    • 'assignee': Name der Attributgruppe. Dies muss eine Attributgruppe sein.
    • 'attribute_name': Der Name des Attributs.
    • 'attribute value': Der Wert des angegebenen Attributs.
  • Diese Prozedur weist dem 'assignee' ein Attribut mit dem angegebenen Wert zu. Ein Fehler wird angezeigt, wenn der Zuordnungsempfänger nicht als eine Attributgruppe existiert oder wenn der Parameter 'attribute_name' reserviert ist.
  • Diese Prozedur setzt zuerst die Werte für 'assignee' und 'attribute_name' in Großbuchstaben um. Danach wird ein Datensatz mit den folgenden Spaltenwerten in die Tabelle ATTRIBUTES eingefügt:
    Set ASSIGNEE = 'assignee'
    Set ATTRIBUTE_NAME = 'attribute_name'
    Set ATTRIBUTE_VALUE = 'attribute_value'.
  • Befehl Nr. 4
    • attr_utils.drop_group ('group_name')
    • 'group_name': Der Name der Gruppe oder des Benutzers, der zusammen mit allen Verweisen auf diese Gruppe oder diesen Benutzer gelöscht wird.
  • Diese Prozedur entfernt eine Gruppe oder einen Benutzer zusammen mit allen Verweisen auf die Gruppe oder den Benutzer. Ein Fehler wird angezeigt, wenn der Parameter 'group_name' nicht existiert.
  • Diese Prozedur setzt zuerst den Wert für 'group_name' in Großbuchstaben um und löscht dann alle Datensätze in der Tabelle ATTRIBUTES, in denen der Wert in der Spalte ASSIGNEE mit dem 'group_name' übereinstimmt. Darüber hinaus werden alle Datensätze in der Tabelle ATTRIBUTES gelöscht, die die folgenden beiden Kriterien erfüllen:
    • a. Der Wert in der Spalte ATTRIBUTE_NAME lautet „ASSIGNED_GROUP".
    • b. Der Wert in der Spalte ATTRIBUTE_VALUE stimmt mit dem 'group_name' überein.
  • Befehl Nr. 5
    • attr_utils.rescind_group ('assignee', 'group_name')
    • 'assignee': Der Benutzer oder die Zuordnungsgruppe, deren 'group_name' widerrufen wird.
    • 'group_name': Die Gruppe, die von dem Zuordnungsempfänger widerrufen wird.
  • Diese Prozedur widerruft den angegebenen 'group_name' von dem 'assignee'. Ein Fehler wird angezeigt, wenn der 'group_name' oder der 'assignee' nicht existieren.
  • Diese Prozedur setzt zuerst 'assignee' und 'group_name' in Großbuchstaben um und löscht dann alle Datensätze in der Tabelle ATTRIBUTES, die die folgenden drei Kriterien erfüllen:
    • a. Der Wert in der Spalte ATTRIBUTE_NAME lautet „ASSIGNED_GROUP".
    • b. Der Wert in der Spalte ATTRIBUTE_VALUE stimmt mit dem 'group_name' überein.
    • c. Der Wert in der Spalte ASSIGNEE stimmt mit dem 'assignee' überein.
  • Befehl Nr. 6
    • attr_utils.rescind_attribute ('assignee', 'attribute_name')
    • 'assignee': Name der Attributgruppe. Dies muss eine Attributgruppe sein.
    • 'attribute_name': Der Name des Attributs.
  • Diese Prozedur widerruft den angegebenen 'attribute_name' von dem 'assignee'. Ein Fehler wird angezeigt, wenn der Attributname oder der Zuordnungsempfänger nicht existieren oder wenn der Parameter 'attribute name' reserviert ist.
  • Diese Prozedur setzt zuerst 'assignee' und 'attribute_name' in Großbuchstaben um und löscht dann alle Datensätze in der Tabelle ATTRIBUTES, die die folgenden beiden Kriterien erfüllen:
    • a. Der Wert in der Spalte ASSIGNEE stimmt mit dem 'assignee' überein.
    • b. Der Wert in der Spalte ATTRIBUTE_NAME stimmt mit dem 'attribute_name' überein.
  • Befehl Nr. 7
    • attr_utils.update_attribute ('assignee', 'attribute_name', 'attribute_value')
    • 'assignee': Name der Attributgruppe. Dies muss eine Attributgruppe sein.
    • 'attribute_name': Der Name des Attributs.
    • 'attribute_value': Der neue Wert des angegebenen Attributs.
  • Diese Prozedur aktualisiert den angegebenen 'attribute_value' für den angegebenen 'assignee' und 'attribute_name'. Ein Fehler wird angezeigt, wenn der Attributname oder der Zuordnungsempfänger nicht existieren oder wenn der Parameter 'attribute_name' reserviert ist.
  • Diese Prozedur setzt zuerst 'assignee' und 'attribute_name' in Großbuchstaben um und aktualisiert dann die Tabelle ATTRIBUTES, indem sie die Spalte ATTRIBUTE_VALUE für alle Datensätze, die die folgenden Kriterien erfüllen, auf den 'attribute_value' setzt:
    • a. Der Wert in der Spalte ASSIGNEE stimmt mit dem 'assignee' überein.
    • b. Der Wert in der Spalte ATTRIBUTE_NAME stimmt mit dem 'attribute_name' überein.
  • Mit den vorstehenden Befehlen wird eine Tabelle ATTRIBUTES verwaltet. Wie in den Befehlen 1 und 2 gezeigt, werden bei der bevorzugten Ausführungsform mehrere reservierte Attributnamen in der Tabelle ATTRIBUTES verwendet, um bestimmte Informationen zu bezeichnen, die in dem System verwendet werden. Ein Attributname „APP_CODE" wird automatisch einer Attributgruppe zugewiesen, um die Anwendung zu identifizieren, die mit der betreffenden Gruppe verbunden ist. Ein Attributname „ASSIGNED_GROUP" wird verwendet, um Attribute zu Attributgruppen zuzuweisen, um Attributgruppen und Zuordnungsgruppen zu Zuordnungsgruppen zuzuweisen und um Attributgruppen und Zuordnungsgruppen zu Benutzern zuzuweisen. Ein Attributname „ASSIGNEE_TYPE" wird verwendet, um anzugeben, ob eine Gruppe eine Attributgruppe oder eine Zuordnungsgruppe ist. Die Prozeduren validieren alle Parameter 'ATTRIBUTE_NAME', um zu prüfen, dass sie nicht reserviert sind, und liefern eine Fehleranzeige, wenn versucht wird, einen reservierten Attributnamen zu verwenden.
  • Als Beispiel ist der zu der Zuordnungsgruppe 142 in 2 gehörende Teil der Tabelle ATTRIBUTES in der nachstehenden Tabelle 4 gezeigt:
  • Tabelle 4
    Figure 00120001
  • Figure 00130001
  • Bei der vorstehend diskutierten alternativen Ausführungsform der Erfindung, bei der die Attributgruppen nicht auf bestimmte Anwendungen beschränkt sind, erfordert die Prozedur create_group keine Eingabe eines Parameters 'app_code', und in der Tabelle ATTRIBUTES werden keine APP_CODE-Attribute verwaltet. Der generelle Zugriff auf Anwendungen könnte jedoch mit einer zusätzlichen Tabelle zum direkten Zuordnen der APP_CODES zu den Benutzern trotzdem kontrolliert werden. Ist einem Benutzer ein bestimmter APP_CODE nicht zugeordnet, stünde die entsprechende Anwendung dem Benutzer nicht zur Verfügung
  • Stamm-Abkömmling-Hierarchie
  • Die Möglichkeit, einer einzelnen Zuordnungsgruppe mehrere Attributgruppen und/oder Zuordnungsgruppen zuzuordnen, führt oft dazu, dass einer Gruppe oder einem Benutzer überlappende, sich wiederholende und auch widersprüchliche Werte für dasselbe Attribut zugeordnet werden. So enthält zum Beispiel die Zuordnungsgruppe 100, die oben in 2 gezeigt ist, alle Attribute in der Abbildung und umfasst daher, wie in der vorstehenden Tabelle 4 gezeigt, für dieselbe Anwendung DEF unterschiedliche Werte B, C und ALL für das Attribut DATA_SCOPE sowie unterschiedliche Werte REGULAR und RESTRICTED für das Attribut USER_LEVEL. Aus diesem Grund werden bei einer bevorzugten Ausführungsform Attributhierarchieregeln festgelegt, in denen für jeden Attributwert ein „Stammwert" zugeordnet ist, so dass zum Beispiel der Wert B für das Attribut DATA_SCOPE dem Stammwert ALL zugeordnet ist. In der Praxis wird, wenn die zugeordneten Attribute eines Benutzers aufgerufen werden und sowohl ein Stammwert als auch ein Abkömmlingwert für dasselbe Attribut und dieselbe Anwendung vorhanden sind, der Stamm übernommen und der Abkömmling verworfen. Außerdem werden sich wiederholende Werte verworfen.
  • Die Stamm-Abkömmling-Zuordnungen werden in einer Tabelle ATTRIBUTE LEVELS verwaltet, die drei Spalten aufweist: ATTRIBUTE_NAME (Attributname), CHILD_VALUE (Abkömmlingwert) und PARENT_VALUE (Stammwert). ATTRIBUTE_NAME ist der Name eines Attributs (zum Beispiel DATA_SCOPE). CHILD_VALUE ist ein tatsächlicher Wert des Attributs (zum Beispiel C). PARENT_VALUE ist der Wert, von dem der tatsächliche Wert eine Untermenge darstellt (zum Beispiel ALL). Für den Fall, dass der tatsächliche Attributwert der höchste in der Hierarchie ist, zum Beispiel ALL, ist der zugeordnete Stammwert NULL.
  • Die Tabelle ATTRIBUTE_LEVELS wird mit vier einfachen Befehlen verwaltet. Diese beispielhaften Befehle sind nachstehend als die Oracle®-Prozeduren zur Verwendung in einer Oracle®-Datenbankumgebung angegeben. Für den Fachmann ist ersichtlich, dass analoge Befehle für andere Datenbankumgebungen abgeleitet werden können. In den nachstehenden Beschreibungen sind die Parameter in einfachen Anführungszeichen und Literalzeichenfolgen in doppelten Anführungszeichen angegeben.
  • Befehl Nr. 1
    • attr_utils.add_attr_level ('attribute_name', 'child_value', 'parent_value')
    • 'attribute_name': Der Name des Attributs.
    • 'child_value': Der Abkömmlingwert für den angegebenen 'attribute_name'.
    • parent_value': Der Stammwert des angegebenen 'child_value' für den angegebenen 'attribute_name'.
  • Diese Prozedur fügt eine neue Attributebene für die angegebenen Parameter hinzu. Der 'parent_value' kann „NULL" sein, wenn der 'child_value' die höchste Berechtigungsstufe für den angegebenen 'attribute_name' aufweist. Ein Fehler wird angezeigt, wenn der Stammwert nicht null ist oder nicht existiert.
  • Diese Prozedur setzt zuerst den 'attribute_name' in Großbuchstaben um und fügt dann einen Datensatz mit den folgenden Spaltenwerten in die Tabelle ATTRIBUTE LEVELS ein:
    Set ATTRIBUTE_NAME = 'attribute_name'
    Set CHILD_VALUE = 'child_value'
    Set PARENT_VALUE = 'parent_value'.
  • Befehl Nr. 2
    • attr_utils.update_attr_level ('attribute_name', 'child_value', 'parent_value')
    • 'attribute_name': Der Name des Attributs.
    • 'child_value': Der Abkömmlingwert für den angegebenen 'attribute_name'.
    • 'parent_value': Der Stammwert des angegebenen Abkömmlingwerts für den angegebenen Attributnamen.
  • Diese Prozedur aktualisiert den Stammwert für die angegebenen Parameter. Der 'parent_value' kann „NULL" sein, wenn der 'child_value' die höchste Berechtigungsstufe für den angegebenen 'attribute_name' aufweist. Ein Fehler wird angezeigt, wenn der Stammwert nicht null ist oder nicht existiert und wenn die Kombination aus Attributname und Abkömmlingwert nicht existiert.
  • Diese Prozedur setzt zuerst den 'attribute_name' in Großbuchstaben um und aktualisiert dann die Tabelle ATTRIBUTE_LEVELS, indem sie den Wert in der Spalte PARENT_VALUE für alle Datensätze, die die folgenden beiden Kriterien erfüllen, auf den 'parent_value' setzt:
    • a. Der Wert in der Spalte ATTRIBUTE_NAME stimmt mit dem 'attribute_name' überein.
    • b. Der Wert in der Spalte CHILD_VALUE stimmt mit dem 'child_value' überein.
  • Befehl Nr. 3
    • attr_utils.delete_attr_levels ('attribute_name', 'child_value')
    • 'attribute_name': Der Name des Attributs.
    • 'child_value': Der Abkömmlingwert für den angegebenen 'attribute_name'.
  • Diese Prozedur löscht die Attributebene und alle Abkömmlung-Attributebenen für die angegebenen Parameter. Ein Fehler wird angezeigt, wenn die Kombination nicht existiert.
  • Diese Prozedur setzt zuerst den 'attribute_name' in Großbuchstaben um und löscht dann alle Datensätze in der Tabelle ATTRIBUTE_LEVELS, die „Abkömmlinge" des angegebenen Paars aus 'attribute_name' und 'child_value' sind. Die folgende SQL-Anweisung könnte zum Beispiel verwendet werden, um diese beiden ersten Schritte auszuführen:
    DELETE ATTRIBUTE LEVELS
    WHERE (ATTRIBUTE_NAME, CHILD_VALUE) IN
    (SELECT ATTRIBUTE_NAME, CHILD_VALUE
    FROM ATTRIBUTE_LEVELS
    START WITH PARENT_VALUE=P CHILD_VALUE
    AND ATTRIBUTE_NAME=UPPER(P ATTRIBUTE_NAME)
    CONNECT BY PARENT_VALUE=PRIOR CHILD VALUE
    AND ATTRIBUTE_NAME=PRIOR ATTRIBUTE_NAME).
  • Diese Prozedur löscht alle Datensätze in der Tabelle ATTRIBUTE_LEVELS, die die folgenden beiden Kriterien erfüllen:
    • a. Der Wert in der Spalte ATTRIBUTE_NAME stimmt mit dem 'attribute_name' überein.
    • b. Der Wert in der Spalte CHILD_VALUE stimmt mit dem 'child_value' überein.
  • Befehl Nr. 4
    • attr_utils.delete_all_levels ('attribute_name')
    • 'attribute_name': Der Name des Attributs.
  • Diese Prozedur löscht alle Attributebenen für den angegebenen 'attribute_name'. Ein Fehler wird angezeigt, wenn der' attribute_name' nicht existiert.
  • Diese Prozedur setzt zuerst den attribute_name' in Großbuchstaben um und löscht dann alle Datensätze in der Tabelle ATTRIBUTE_LEVELS, bei denen der Wert in der Spalte ATTRIBUTE_NAME mit dem 'attribute_name' übereinstimmt.
  • Mit den vorstehenden Befehlen wird eine Tabelle ATTRIBUTE_LEVELS verwaltet. Als Beispiel ist eine Tabelle ATTRIBUTE_LEVELS für die vorstehend diskutierten Beispielattribute in der nachstehenden Tabelle 5 gezeigt:
  • Tabelle 5
    Figure 00160001
  • Nach Tabelle 5 werden alle Zuordnungen des DATA_SCOPE-Attributs mit den Werten A, B oder C verworfen, wenn ein DATA_SCOPE von ALL demselben Benutzer für dieselbe Anwendung zugeordnet ist. In gleicher Weise werden Zuordnungen niedrigerer USER_LEVEL-Werte zugunsten des höchsten zugeordneten Wertes verworfen.
  • Wenn ein Attributwert in der Tabelle ATTRIBUTES zugewiesen, in der Tabelle ATTRIBUTE_LEVELS aber nicht definiert ist, wird er vorzugsweise so behandelt, als sei er in der Tabelle ATTRIBUTE_LEVELS mit einem Stammwert von NULL definiert und als weise kein anderer Wert den zugeordneten Wert als seinen Stammwert auf.
  • Eine weitere Minimierung kann erreicht werden, indem berücksichtigt wird, dass ein kompletter Satz von zugeordneten Werten auf niedrigerer Ebene durch den Wert der höheren Ebene ersetzt werden kann. Wenn zum Beispiel die DATA_SCOPE-Werte A, B und C zugeordnet sind, könnte das System mit dem Wert ALL antworten. Diese Minimierung sollte nur vorgenommen werden, wenn der komplette Satz von Werten auf niedrigerer Ebene tatsächlich dasselbe repräsentiert wie der Wert der höheren Ebene, denn es ist möglich, dass der Wert der höheren Ebene mehr repräsentiert als die Summe der Werte auf niedrigerer Ebene.
  • Funktionsweise des Benutzerattributesystems
  • In Zusammenhang mit der nachstehenden Beschreibung der beispielhaften Benutzung des Benutzerattributesystems nach der vorliegenden Erfindung wird auf 3 verwiesen. Nach einer bevorzugten Ausführungsform der Erfindung wird der Zugriff auf die Anwendungen, die in einer Datenbankumgebung ausgeführt werden, durch eine grafische Benutzeroberfläche (IGUI – initial graphical user interface) gesteuert. Beispiele für IGUIs sind etwa Internet-Homepages und Startseiten von lokalen Netzwerken.
  • Bevor er Zugriff auf die Anwendungen erhält, meldet sich ein Benutzer jedoch im Allgemeinen in einem Computersystem an, was in Kasten 201 gezeigt ist, wobei das Computersystem den Benutzer erkennt, wenn die Anmeldung richtig durchgeführt wird. In Kasten 204 ruft die IGUI die Anwendungen auf, die dem Benutzer verfügbar sind. Bei der bevorzugten Ausführungsform tut die IGUI dies, indem sie auf die Tabelle ATTRIBUTES zugreift (siehe Pfeil 205), die die Gruppenzuordnungen für den Benutzer enthält. Wie vorstehend beschrieben, enthalten bei der bevorzugten Ausführungsform die Gruppenzuordnungen Attributgruppenzuordnungen, die wiederum die Spezifikation der verfügbaren Anwendungen enthalten. Anstatt die gesamte Tabelle ATTRIBUTES zu durchsuchen, die recht umfangreich sein kann, können in einem Oracle®-Datenbanksystem „Ansichten" mit den Ergebnissen von häufig verwendeten Suchen (zum Beispiel die Attribute für einen bestimmten Benutzer), die vermutlich immer wieder verwendet werden, erstellt werden. Bei der alternativen Ausführungsform, bei der die Attribute nicht auf bestimmte Anwendungen beschränkt sind, können die Anwendungen, die einem bestimmten Benutzer zur Verfügung stehen, in einer getrennten Tabelle gespeichert und daraus abgerufen werden.
  • Bei Pfeil 205 greift die IGUI auch auf die Tabelle APPS der gültigen Anwendungen zu, die eine Spalte APP_CODE enthält, um der IGUI mitzuteilen, welche Zeichenfolge dem Benutzer in Kasten 207 angezeigt werden soll, wenn die IGUI dem Benutzer die verfügbaren Anwendungen anzeigt. In Kasten 210 wählt der Benutzer eine der verfügbaren Anwendungen aus. In Kasten 213 greift die IGUI auf die Tabelle ATTRIBUTES zu (siehe Pfeil 214) und ruft die Benutzerattribute für die gewählte Anwendung ab. In einem Oracle®-Datenbanksystem kann wiederum eine Oracle®-Ansicht verwendet werden, um die Attribute abzurufen. Darüber hinaus kann die IGUI auf die Tabelle ATTRIBUTE_LEVELS zugreifen, um die Anzahl der Attribute zu verringern.
  • Bei Pfeil 215 übergibt die IGUI die relevanten Attribute an die Anwendung, und in Kasten 216 wird die Anwendung mit der die Attribute durchsetzenden Anwendung ausgeführt. Wenn der Benutzer versucht, die durch die Attribute definierten Zugriffsgrenzen zu überschreiten, kann eine Fehler- oder Warnmeldung angezeigt werden.
  • Für den Fachmann ist ersichtlich, dass bei einer alternativen Ausführungsform eine Anwendung die Attribute direkt abrufen kann, ohne Unterstützung durch eine IGUI, und die Attribute durchsetzen kann.
  • Ansichten
  • Wie bereits erwähnt, können bei der vorliegenden Erfindung Oracle®-Ansichten verwendet werden, um Datensätze aus Tabellen abzurufen und zu organisieren. Nachstehend folgt eine Liste von zwölf Ansichten, die sich bei der Implementierung der Erfindung als nützlich erwiesen haben. Dabei werden jeweils eine Erläuterung der Ansicht und ein SQL-Beispiel angegeben.
  • Ansicht Nr. 1
  • V_ATTRIBUTE_APP_CODES
  • Diese Ansicht liefert als Ergebnis eine Liste aller einzelnen Anwendungscodes, die im Benutzerattributesystem eingerichtet sind. Diese Ansicht führt eine Funktion SELECT mit der Klausel DISTINCT für Datensätze durch, wobei der ATTRIBUTE_NAME der reservierte ATTRIBUTE_NAME des 'APP_CODE' ist.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_ATTRIBUTE_APP_CODES AS
    • SELECT DISTINCT ASSIGNEE,
    • ATTRIBUTE_VALUE APP_CODE
    • FROM ATTRIBUTES
    • WHERE ATTRIBUTE_NAME = 'APP CODE';
  • Ansicht Nr. 2
  • V_ATTRIBUTE_GROUPS_ATTR
  • Diese Ansicht liefert als Ergebnis eine Liste aller einzelnen Attributgruppen. Diese Ansicht führt eine Funktion SELECT mit der Klausel DISTINCT für Datensätze durch, wobei der ATTRIBUTE_NAME der reservierte ATTRIBUTE_NAME des 'AS-SIGNEE_TYPE' und der ATTRIBUTE_VALUE die 'ATTRIBUTE_GROUP' ist.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_ATTRIBUTE_GROUPS_ATTR
    • AS SELECT DISTINCT ASSIGNEE GROUP NAME
    • FROM ATTRIBUTES
    • WHERE ATTRIBUTE_NAME = 'ASSIGNEE_TYPE'
    • AND ATTRIBUTE_VALUE = 'ATTRIBUTE_GROUP';
  • Ansicht Nr. 3
  • V_ATTRIBUTE_GROUPS_ASSIGN
  • Diese Ansicht liefert als Ergebnis eine Liste aller einzelnen Zuordnungsgruppen. Diese Ansicht führt eine Funktion SELECT mit der Klausel DISTINCT für Datensätze durch, wobei der ATTRIBUTE_NAME der reservierte ATTRIBUTE_NAME des 'ASSIGNEE_TYPE' und der ATTRIBUTE_VALUE die 'ASSIGNEE_GROUP' ist.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW
    • V_ATTRIBUTE_GROUPS_ASSIGN AS
    • SELECT DISTINCT ASSIGNEE GROUP_NAME
    • FROM ATTRIBUTES
    • WHERE ATTRIBUTE_NAME = 'ASSIGNEE_TYPE'
    • AND ATTRIBUTE_VALUE = 'ASSIGNEE_GROUP;
  • Ansicht Nr. 4
  • V_ATTRIBUTE_USERS
  • Diese Ansicht liefert als Ergebnis eine Liste aller einzelnen Attributbenutzer. Diese Ansicht führt eine Funktion SELECT mit der Klausel DISTINCT für Datensätze durch, wobei der ASSIGNEE gleich dem in der Oracle Data Dictionary-Tabelle ALL USERS gefundenen USERNAME ist.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_ATTRIBUTE_USERS AS
    • SELECT DISTINCT ASSIGNEE USERID
    • FROM ATTRIBUTES,
    • ALL_USERS
    • WHERE ASSIGNEE = USERNAME;
  • Ansicht Nr. 5
  • V_ATTRIBUTE_GROUPS_ALL
  • Diese Ansicht liefert als Ergebnis eine Liste aller einzelnen Gruppen im System. Dies umfasst sowohl Attribut- als auch Zuordnungsgruppen. Diese Ansicht führt eine Funktion SELECT mit der Klausel DISTINCT für Datensätze durch, wobei der ASSIGNEE kein Attributbenutzer ist.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_ATTRIBUTE_GROUPS_ALL AS
    • SELECT DISTINCT ASSIGNEE GROUP_NAME
    • FROM ATTRIBUTES,
    • V_ATTRIBUTE_USERS
    • WHERE ASSIGNEE = USERID(+)
    • AND USERID IS NULL;
  • Ansicht Nr. 6
  • V_USER_GROUPS
  • Diese Ansicht liefert als Ergebnis eine Liste aller Gruppen, die dem momentan mit Oracle verbundenen Benutzer zugeordnet sind. Die Ergebnisse umfassen Gruppen, die dem Benutzer direkt zugeordnet sind, sowie Gruppen, die dem Benutzer indirekt zugeordnet sind, das heißt Gruppen, die ZUORDNUNGSGRUPPEN zugeordnet sind, die dem Benutzer zugeordnet sind. Diese Ansicht führt eine stammbaumartige Anfrage unter Verwendung der Klausel CONNECT BY durch.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_USER_GROUPS AS
    • SELECT ATTRIBUTE_NAME,
    • ATTRIBUTE_VALUE
    • FROM ATTRIBUTES
    • WHERE ATTRIBUTE_NAME! = 'ASSIGNEE_TYPE'
    • START WITH ASSIGNEE = USER
    • CONNECT BY ASSIGNEE = PRIOR ATTRIBUTE_VALUE
    • AND ATTRIBUTE_NAME = 'ASSIGNED_GROUP';
  • Ansicht Nr. 7
  • V_USER_ATTR_APPS
  • Diese Ansicht liefert als Ergebnis eine Liste aller Attribute, die dem momentan mit Oracle verbundenen Benutzer zugeordnet sind, zusammen mit dem entsprechenden APP_CODE. Diese Ansicht kombiniert die Liste der dem Benutzer zugeordneten Gruppen (V_USER_GROUPS), die Tabelle ATTRIBUTES und die Liste der ATTRIBUTE_GROUPS mit den entsprechenden APP_CODE-Werten (V_ATTRIBUTE_APP_CODES).
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_USER_ATTR_APPS AS
    • SELECT ATTR.ATTRIBUTE_NAME,
    • ATTR.ATTRIBUTE_VALUE,
    • APPS.APP_CODE
    • FROM V_USER_GROUPS GROUPS,
    • ATTRIBUTES ATTR,
    • V_ATTRIBUTE_APP_CODES APPS
    • WHERE GROUPS.ATTRIBUTE_VALUE = ATTR.ASSIGNEE
    • AND ATTR.ASSIGNEE = APPS.ASSIGNEE
    • AND ATTR.ATTRIBUTE_NAME NOT IN
    • ('ASSIGNED_GROUP', 'APP_CODE', 'ASSIGNEE_TYPE');
  • Ansicht Nr. 8
  • V_USER_ATTR_HIGHEST_VALUES
  • Diese Ansicht liefert als Ergebnis eine Liste der ATTRIBUTE_VALUES auf höchster Ebene für die entsprechenden ATTRIBUTE_NAMES. Diese Ansicht kann doppelte Einträge enthalten, so dass die weiter unten beschriebene Ansicht V_USER ATTRIBUTES eine Liste dieser einzelnen Werte abruft. Diese Ansicht übergibt den APP_CODE, ATTRIBUTE_NAME und ATTRIBUTE_VALUE für jedes Attribut, das dem aktuellen Benutzer zugeordnet ist, an die Funktion ATTR_UTILS.HIGHEST_VALUE. Eine Funktion ist dasselbe wie eine Prozedur, außer dass sie als Teil einer Anfrage ausgeführt werden kann und als Ergebnis einen Wert liefert.
  • Hier liefert die Funktion als Ergebnis den höchsten Stammwert, der dem Benutzer aktuell zugeordnet ist. Eine Beschreibung dieser Funktion ist nach dem SQL-Beispiel für diese Ansicht gegeben.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW
    • V_USER_ATTR_HIGHEST_VALUES_AS
    • SELECT APP_CODE,
    • ATTRIBUTE_NAME,
    • SUBSTR(ATTR_UTILS.HIGHEST_VALUE(APP_CODE,
    • ATTRIBUTE_NAME, ATTRIBUTE_VALUE), 1, 30)
    • ATTRIBUTE_VALUE
    • FROM V_USER_ATTR_APPS;
  • Die Funktion ATTR_UTILS.HIGHEST_VALUE erfordert drei Eingaben: den APP_CODE, den ATTRIBUTE_NAME und den ATTRIBUTE_VALUE. Zuerst lädt die Funktion eine interne Attributwerttabelle mit allen Attributwerten, die dem angegebenen Benutzer, APP_CODE und ATTRIBUTE_NAME zugeordnet sind. Hierzu kann die Funktion eine der bestehenden Ansichten verwenden (das heißt V_USER_ATTR_ VALUE_LEVELS). Sodann verwendet die Funktion den aktuellen Attributwert und findet alle Stammdatensätze für diesen Wert. Die Funktion benutzt eine SQL-Anfrage, die wie folgt aussieht:
    SELECT PARENT_VALUE
    FROM ATTRIBUTE_LEVELS
    WHERE ATTRIBUTE_NAME = P_ATTRIBUTE_NAME
    START WITH CHILD_VALUE = P_ATTRIBUTE_VALUE
    CONNECT BY CHILD_VALUE = PRIOR PARENT_VALUE
  • ORDER BY LEVEL;
  • Danach vergleicht die Funktion jeden einzelnen Stammwert mit den Datensätzen in der Attributwerttabelle, um festzustellen, ob einer der anderen zugeordneten Attributwerte ein Stammdatensatz ist, das heißt ein Vater, Großvater usw. des aktuellen Attributwerts. Wenn ja, wird als Ergebnis der Attributwert auf höherer Ebene geliefert. Anderenfalls wird der aktuelle Attributwert als Ergebnis geliefert.
  • Ansicht Nr. 9
  • V_ATTR_VALUE_LEVELS
  • Diese Ansicht liefert als Ergebnis eine Liste der ATTRIBUTE_NAMES, der zugehörigen ATTRIBUTE_VALUES und der entsprechenden Ebene des Wertes. Die höchste Ebene eines ATTRIBUTE_VALUE hat zum Beispiel einen ATTRIBUTE_LEVEL von 1, während der Abkömmling des betreffenden Wertes den Wert 2 hat. Diese Ansicht führt eine stammbaumartige Anfrage unter Verwendung der Klausel CONNECT BY durch.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_ATTR_VALUE_LEVELS AS
    • SELECT ATTRIBUTE_NAME,
    • CHILD_VALUE ATTRIBUTE_VALUE,
    • LEVEL VALUE_LEVEL
    • FROM ATTRIBUTE_LEVELS
    • START WITH PARENT_VALUE IS NULL
    • CONNECT BY PARENT_VALUE = PRIOR CHILD_VALUE
    • AND ATTRIBUTE_NAME = PRIOR ATTRIBUTE_NAME;
  • Ansicht Nr. 10
  • V_USER_ATTR_VALUE LEVELS
  • Diese Ansicht liefert als Ergebnis eine Liste aller dem Benutzer zugeordneten Attribute und deren entsprechende Ebene. Diese Ansicht kombiniert die Liste der Attribute, die dem momentan mit Oracle verbundenen Benutzer zugeordnet sind (V_USER_ATTR_APPS) und die Liste der Attribute und deren entsprechende Ebenen (V_ATTR_VALUE LEVELS).
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_USER_ATTR_VALUE_LEVELS
    • AS SELECT APP_CODE,
    • ATTR.ATTRIBUTE_NAME,
    • ATTR.ATTRIBUTE_VALUE,
    • NVL(VALUE LEVEL,1) VALUE_LEVEL
    • FROM V_USER_ATTR APPS ATTR,
    • V_ATTR_VALUE_LEVELS LVL
    • WHERE
    • ATTR.ATTRIBUTE_NAME = LVL.ATTRIBUTE_NAME(+)
    • AND
    • ATTR.ATTRIBUTE_VALUE = LVL.ATTRIBUTE_VALUE(+);
  • Ansicht Nr. 11
  • V_USER_APP_CODES
  • Diese Ansicht liefert als Ergebnis eine Liste aller einzelnen APP_CODES, die dem aktuellen Benutzer zugeordnet sind. Diese Ansicht führt eine stammbaumartige Anfrage unter Verwendung der Klausel CONNECT BY durch.
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_USER_APP_CODES AS
    • SELECT DISTINCT ATTR.ATTRIBUTE_VALUE APP_CODE
    • FROM (SELECT ATTRIBUTE_NAME,
    • ATTRIBUTE_VALUE
    • FROM ATTRIBUTES
    • START WITH ASSIGNEE = USER
    • CONNECT BY ASSIGNEE = PRIOR ATTRIBUTE_VALUE
    • AND ATTRIBUTE_NAME = 'ASSIGNED GROUP') GROUPS,
    • ATTRIBUTES ATTR
    • WHERE GROUPS.ATTRIBUTE_VALUE = ATTR.ASSIGNEE
    • AND ATTR.ATTRIBUTE_NAME = 'APP_CODE';
  • Ansicht Nr. 12
  • V_USER_ATTRIBUTES
  • Diese Ansicht liefert als Ergebnis eine Liste aller Attribute, die dem Benutzer zugeordnet sind, zusammen mit nur den ATTRIBUTE_VALUES der höchsten Ebene für die entsprechenden ATTRIBUTE_NAMES. Diese Ansicht führt eine Funktion SELECT DISTINCT an den V_USER_ATTR_HIGHEST_VALUES durch. (V_USER_ATTR_VALUE_LEVELS).
  • SQL-Beispiel:
    • CREATE OR REPLACE VIEW V_USER_ATTRIBUTES AS
    • SELECT DISTINCT
    • APP_CODE,
    • ATTRIBUTE_NAME,
    • ATTRIBUTE_VALUE
    • FROM V_USER_ATTR_HIGHEST_VALUES;
  • Um in einer Oracle®-Umgebung sicherzustellen, dass die Daten in den Tabellen ATTRIBUTES und ATTRIBUTE_LEVELS korrekt verwaltet werden, werden vorzugsweise nur Oracle®-Prozeduren verwendet, um die Verwaltung von Benutzerattributen durchzuführen. Dies kann garantiert werden, indem der Zugriff auf die verschiedenen Objekte, zum Beispiel Tabellen, Ansichten, Prozeduren und Funktionen, im Benutzerattributesystem eingeschränkt wird. Den Tabellen ATTRIBUTES und ATTRIBUTE_LEVELS sowie allen Ansichten sollte eine Nur-Lesen-Berechtigung zugewiesen werden. Die Ausführungsberechtigung für die zur Verwaltung dieser Tabellen verwendeten Oracle®-Prozeduren sollte nur den Benutzerattributen für Administrator(en) zugewiesen werden. Dadurch ist sichergestellt, dass nicht autorisierte Benutzer die Attribute oder Attributebenen nicht manipulieren können.

Claims (18)

  1. Verfahren zum Festlegen des Zugriffs eines Benutzers auf mindestens ein eine Anwendungsfunktion bezeichnendes Merkmal in einem Computersystem, das mindestens eine Anwendung ausführen und eine Datenbank (8) unterhalten kann, wobei eine Anwendung jeweils mindestens ein Merkmal aufweist, mit folgenden Schritten: Zuordnen mindestens zweier Attribute zum Benutzer, von denen eines die Fähigkeit, auf Daten zuzugreifen, und eines die Fähigkeit, gegriffene Daten zu bearbeiten, betrifft, Speichern der mindestens zwei Attribute in einer ersten Tabelle (11) in der Datenbank (8), Ausführen einer Anwendung in dem Computersystem, Gewinnen zweier oder mehr der genannten mindestens zwei Attribute, die dem Benutzer zugeordnet sind, aus der ersten Tabelle (11), von denen eines die Fähigkeit, auf Daten zuzugreifen, und eines die Fähigkeit, gegriffene Daten zu bearbeiten, betrifft, und Durchsetzen der gewonnenen Attribute, wodurch der Zugriff des Benutzers auf Daten und seine Fähigkeit, gegriffene Daten zu bearbeiten, entsprechend den gewonnenen Attributen festgelegt wird.
  2. Verfahren nach Anspruch 1, wobei mehr als eines der mindestens zwei Merkmale die Fähigkeit, auf Daten zuzugreifen, betreffen.
  3. Verfahren nach Anspruch 1 mit folgenden zusätzlichen Schritten vor dem Ausführungsschritt: Zuordnen eines Stammwerts zu jedem tatsächlichen Wert der mindestens zwei Attribute, wodurch ein oder mehrere Stamm-Abkömmling-Beziehungen erzeugt werden, und Speichern der ein oder mehreren Stamm-Abkömmling-Wert-Beziehungen in einer zweiten Tabelle (15) in der Datenbank (8), wobei das Verfahren vor dem Durchsetzungsschritt folgende zusätzliche Schritte aufweist: Gewinnen der ein oder mehreren Stamm-Abkömmling-Wert-Beziehungen aus der zweiten Tabelle (15), und Bestimmen, ob eines der gewonnenen Attribute entsprechend der gewonnenen Stamm-Abkömmling-Wert-Beziehungen verworfen werden kann.
  4. Verfahren nach Anspruch 1, wobei die gewonnenen Attribute der ausgeführten Anwendung zur Verfügung gestellt werden.
  5. Verfahren nach Anspruch 4, mit einem zusätzlichen Schritt, um vor dem Ausführungsschritt einem Benutzer die Wahl zur Ausführung einer oder mehrerer Anwendungen entsprechend der ihm zugeordneten mindestens zwei Attribute zu geben.
  6. Verfahren nach Anspruch 4, wobei mehr als eines der mindestens zwei Merkmale die Fähigkeit, auf Daten zuzugreifen, betreffen.
  7. Verfahren nach Anspruch 4 mit folgenden zusätzlichen Schritten vor dem Ausführungsschritt: Zuordnen eines Stammwerts zu jedem tatsächlichen Wert der mindestens zwei Attribute, und Speichern von Stamm-Abkömmling-Wert-Beziehungen in einer zweiten Tabelle in der Datenbank, wobei das Verfahren vor dem Durchsetzungsschritt folgende zusätzliche Schritte umfaßt: Gewinnen der Stamm-Abkömmling-Wert-Beziehungen aus der zweiten Tabelle und Bestimmen, ob eines der gewonnenen Attribute entsprechend der gewonnenen Stamm-Abkömmling-Beziehungen verworfen werden kann.
  8. Verfahren nach Anspruch 1, wobei mindestens ein Attribut einer Gruppe (106) zugeordnet wird, die Gruppe (106) mindestens einem Benutzer zugeordnet wird, die Gruppe (106) in einer Tabelle (15) in der Datenbank (8) gespeichert wird, eine Anwendung im Computersystem (5) ausgeführt wird, die dem Benutzer zugeordnete Gruppe (106) aus der Datentabelle (15) gewonnen wird, und die gewonnenen Attribute durchgesetzt werden, wodurch der Zugriff des Benutzers auf das mindestens eine Merkmal der Anwendung entsprechend dem mindestens einen Attribut, das der aus der Datentabelle (15) gewonnenen Gruppe (106) zugeordnet ist, festgelegt wird.
  9. Verfahren nach Anspruch 8, wobei die der Gruppe zugeordneten mindestens zwei Attribute lediglich einen Zugriff zur Anwendung festlegen.
  10. Computersystem (5), aufweisend: eine Einrichtung zum Ausführen einer Anwendung, die mindestens ein Merkmal aufweist, das eine Anwendungsfunktion bezeichnet, eine Einrichtung zur Unterhaltung einer Datenbank (8), eine Einrichtung zum Zuordnen mindestens zweier Attribute zu einem Benutzer, von denen eines die Fähigkeit, auf Daten zuzugreifen, und eines die Fähigkeit, gegriffene Daten zu bearbeiten, betrifft, eine Einrichtung zum Speichern der mindestens zwei Attribute in einer ersten Tabelle (11) in der Datenbank (8), eine Einrichtung zum Gewinnen der dem Benutzer zugeordneten mindestens zwei Attribute aus der ersten Tabelle (11) und eine Einrichtung zum Durchsetzen der gewonnenen Attribute, wodurch der Zugriff des Benutzers auf Daten und seine Fähigkeit, gegriffene Daten zu bearbeiten, entsprechend der dem Benutzer zugeordneten mindestens zwei Attribute festgelegt wird.
  11. System nach Anspruch 10, wobei mehr als eines der mindestens zwei Merkmale die Fähigkeit, auf Daten zuzugreifen, betreffen.
  12. System nach Anspruch 10, weiterhin aufweisend: eine Einrichtung zum Zuordnen eines Stammwerts zu einem jeweiligen aktuellen Wert der mindestens zwei Attribute, wodurch ein oder mehrere Stamm-Abkömmling-Beziehungen erzeugt werden, eine Einrichtung zum Speichern der ein oder mehreren Stamm-Abkömmling-Wert-Beziehungen in einer zweiten Tabelle (15) in der Datenbank (8), eine Einrichtung zum Gewinnen der ein oder mehreren Stamm-Abkömmling-Wert-Beziehungen aus der zweiten Tabelle (15) und eine Einrichtung zum Bestimmen, ob eines der gewonnenen Attribute entsprechend der Stamm-Abkömmling-Wert-Beziehungen verworfen werden kann.
  13. System nach Anspruch 10, aufweisend: eine Einrichtung, um die gewonnenen Attribute der Anwendung zur Verfügung zu stellen.
  14. System nach Anspruch 13 mit einer Einrichtung, um dem Benutzer die Wahl zur Ausführung einer oder mehrerer Anwendungen entsprechend der ihm zugeordneten mindesten zwei Attribute zu geben.
  15. System nach Anspruch 13, wobei mehr als eines der mindestens zwei Merkmale die Fähigkeit, auf Daten zuzugreifen, betreffen.
  16. System nach Anspruch 13, aufweisend: eine Einrichtung zum Zuordnen eines Stammwerts zu einem jeweiligen aktuellen Wert der mindestens zwei Attribute, eine Einrichtung zum Speichern von Stamm-Abkömmling-Wert-Beziehungen in einer zweiten Tabelle in der Datenbank, eine Einrichtung zum Gewinnen der Stamm-Abkömmling-Wert-Beziehungen aus der zweiten Tabelle und eine Einrichtung zum Bestimmen, ob eines der gewonnen Attribute entsprechend der gewonnenen Stamm-Abkömmling-Wert-Beziehungen verworfen werden kann.
  17. Computersystem nach Anspruch 10, weiterhin aufweisend: eine Einrichtung zum Zuordnen mindestens zweier Attribute zu einer Gruppe (106), von denen eines die Fähigkeit, auf Daten zuzugreifen, und eines die Fähigkeit, gegriffene Daten zu bearbeiten, betrifft, eine Einrichtung zum Zuordnen der Gruppe (106) zu einem Benutzer, eine Einrichtung zum Speichern der Gruppe (106) in einer Tabelle (15) in der Datenbank (8), eine Einrichtung zum Gewinnen der dem Benutzer zugeordneten Gruppe aus der Datentabelle und eine Einrichtung zum Durchsetzen der gewonnenen Attribute, wodurch der Zugriff des Benutzers auf Daten und seine Fähigkeit, gegriffene Daten zu bearbeiten, entsprechend der mindestens zwei Attribute, die der aus der Datentabelle (15) gewonnenen Gruppe (106) zugeordnet sind, festgelegt wird.
  18. System nach Anspruch 17, wobei die der Gruppe zugeordneten mindestens zwei Attribute lediglich einen Zugriff zur Anwendung festlegen.
DE69934894T 1998-07-17 1999-07-15 Verfahren und vorrichtung zur wahlweisen einstellung des zugangs zu anwendungsmerkmalen Expired - Lifetime DE69934894T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/118,621 US6430549B1 (en) 1998-07-17 1998-07-17 System and method for selectivety defining access to application features
US118621 1998-07-17
PCT/US1999/016029 WO2000004435A1 (en) 1998-07-17 1999-07-15 System and method for selectively defining access to application features

Publications (2)

Publication Number Publication Date
DE69934894D1 DE69934894D1 (de) 2007-03-08
DE69934894T2 true DE69934894T2 (de) 2007-11-15

Family

ID=22379742

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69934894T Expired - Lifetime DE69934894T2 (de) 1998-07-17 1999-07-15 Verfahren und vorrichtung zur wahlweisen einstellung des zugangs zu anwendungsmerkmalen

Country Status (20)

Country Link
US (2) US6430549B1 (de)
EP (1) EP1108238B1 (de)
JP (1) JP4571746B2 (de)
KR (3) KR100692330B1 (de)
CN (1) CN1318163B (de)
AT (1) ATE352071T1 (de)
AU (1) AU757061B2 (de)
BG (1) BG64962B1 (de)
BR (1) BR9912119A (de)
CA (1) CA2336987A1 (de)
DE (1) DE69934894T2 (de)
EA (1) EA003618B1 (de)
ES (1) ES2280123T3 (de)
HR (1) HRP20010029B1 (de)
HU (1) HUP0301138A2 (de)
IL (1) IL140906A0 (de)
NZ (1) NZ509240A (de)
PL (1) PL345904A1 (de)
WO (1) WO2000004435A1 (de)
YU (1) YU2701A (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430549B1 (en) * 1998-07-17 2002-08-06 Electronic Data Systems Corporation System and method for selectivety defining access to application features
US6988138B1 (en) * 1999-06-30 2006-01-17 Blackboard Inc. Internet-based education support system and methods
US7908602B2 (en) 1999-06-30 2011-03-15 Blackboard Inc. Internet-based education support system, method and medium providing security attributes in modular, extensible components
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
JP4718662B2 (ja) * 2000-03-24 2011-07-06 株式会社東芝 コンピュータシステム
US20030021417A1 (en) 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7362868B2 (en) 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US20020062449A1 (en) * 2000-11-16 2002-05-23 Perna James De System and method for application-level security
GB2383147B (en) * 2001-12-13 2005-04-06 Inventec Corp Method for integrating multiple web servers based on individual client authorisation
US7020653B2 (en) * 2002-11-06 2006-03-28 Oracle International Corporation Techniques for supporting application-specific access controls with a separate server
JP2004302516A (ja) * 2003-03-28 2004-10-28 Ntt Docomo Inc 端末装置およびプログラム
US20040249674A1 (en) * 2003-05-06 2004-12-09 Eisenberg Floyd P. Personnel and process management system suitable for healthcare and other fields
US20050097343A1 (en) * 2003-10-31 2005-05-05 Michael Altenhofen Secure user-specific application versions
EP1560139A1 (de) * 2004-01-30 2005-08-03 Jaffe Associates LLC Rechnerbasiertes System und Verfahren zum Auswählen und Präsentieren von Inhalten
US9407963B2 (en) * 2004-02-27 2016-08-02 Yahoo! Inc. Method and system for managing digital content including streaming media
US8225221B2 (en) * 2004-04-12 2012-07-17 Microsoft Corporation Method and apparatus for constructing representations of objects and entities
US20060053035A1 (en) * 2004-09-09 2006-03-09 Eisenberg Floyd P Healthcare personnel management system
JP4643213B2 (ja) * 2004-09-29 2011-03-02 シスメックス株式会社 アプリケーションプログラムの使用制限方法、測定装置のユーザ認証システム、認証サーバ、クライアント装置、及びアプリケーションプログラム
US8099441B2 (en) 2004-09-30 2012-01-17 Millennium It (Usa) Inc. System and method for configurable trading system
US7668846B1 (en) 2005-08-05 2010-02-23 Google Inc. Data reconstruction from shared update log
US7567973B1 (en) * 2005-08-05 2009-07-28 Google Inc. Storing a sparse table using locality groups
US8621549B2 (en) 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US8677499B2 (en) * 2005-12-29 2014-03-18 Nextlabs, Inc. Enforcing access control policies on servers in an information management system
US9942271B2 (en) * 2005-12-29 2018-04-10 Nextlabs, Inc. Information management system with two or more interactive enforcement points
US8627490B2 (en) * 2005-12-29 2014-01-07 Nextlabs, Inc. Enforcing document control in an information management system
US7783686B2 (en) * 2006-06-16 2010-08-24 Microsoft Corporation Application program interface to manage media files
US8413110B2 (en) * 2007-04-25 2013-04-02 Kai C. Leung Automating applications in a multimedia framework
US8326211B1 (en) 2007-06-11 2012-12-04 Distance EDU Learning, Inc. Computer systems for capturing student performance
US9214090B2 (en) 2007-06-11 2015-12-15 Distance EDU Learning, Inc. Computer systems for capturing student performance
US20100017246A1 (en) * 2008-07-20 2010-01-21 Farrell Glenn H Software user interface for specification of project task dependencies and deadlines
US8484351B1 (en) 2008-10-08 2013-07-09 Google Inc. Associating application-specific methods with tables used for data storage
US9400879B2 (en) * 2008-11-05 2016-07-26 Xerox Corporation Method and system for providing authentication through aggregate analysis of behavioral and time patterns
US8255820B2 (en) 2009-06-09 2012-08-28 Skiff, Llc Electronic paper display device event tracking
CN102822825A (zh) * 2010-03-31 2012-12-12 日本电气株式会社 分组装置、计算机可读记录介质和分组方法
US20170171292A1 (en) * 2015-12-11 2017-06-15 Quixey, Inc. Generating Software Application Search Results Using Shared Application Connections
US10657239B2 (en) 2017-05-25 2020-05-19 Oracle International Corporation Limiting access to application features in cloud applications
AU2019234671B2 (en) 2018-03-12 2021-08-05 Twilio Inc. Customizable cloud-based software platform
US11609974B2 (en) * 2020-08-10 2023-03-21 Walmart Apollo, Llc Methods and apparatus for automatic permission assignment

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2533495B2 (ja) 1986-07-25 1996-09-11 株式会社日立製作所 ワ−クスケジユ−リング方法及び装置
US5117353A (en) 1989-05-05 1992-05-26 Staff-Plus, Inc. System for use in a temporary help business
US5164897A (en) 1989-06-21 1992-11-17 Techpower, Inc. Automated method for selecting personnel matched to job criteria
US5459859A (en) 1991-06-18 1995-10-17 Mitsubishi Denki Kabushiki Kaisha Apparatus and system for providing information required for meeting with desired person while travelling
US5283731A (en) 1992-01-19 1994-02-01 Ec Corporation Computer-based classified ad system and method
GB9402935D0 (en) * 1994-02-16 1994-04-06 British Telecomm A method for controlling access to a database
US5416694A (en) 1994-02-28 1995-05-16 Hughes Training, Inc. Computer-based data integration and management process for workforce planning and occupational readjustment
US5592375A (en) 1994-03-11 1997-01-07 Eagleview, Inc. Computer-assisted system for interactively brokering goods or services between buyers and sellers
US5754850A (en) 1994-05-11 1998-05-19 Realselect, Inc. Real-estate method and apparatus for searching for homes in a search pool for exact and close matches according to primary and non-primary selection criteria
JP2912840B2 (ja) 1994-12-07 1999-06-28 富士通株式会社 ファイル管理システム
US5956715A (en) * 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
US5799304A (en) 1995-01-03 1998-08-25 Intel Corporation Information evaluation
US5671409A (en) 1995-02-14 1997-09-23 Fatseas; Ted Computer-aided interactive career search system
GB2301912A (en) 1995-06-09 1996-12-18 Ibm Security for computer system resources
US5734828A (en) 1995-08-30 1998-03-31 Intel Corporation System for accessing/delivering on-line/information services via individualized environments using streamlined application sharing host and client services
US5758324A (en) 1995-12-15 1998-05-26 Hartman; Richard L. Resume storage and retrieval system
US5778181A (en) 1996-03-08 1998-07-07 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
JPH09288609A (ja) * 1996-04-23 1997-11-04 Mitsubishi Electric Corp ファイルの安全管理方式
US5799285A (en) 1996-06-07 1998-08-25 Klingman; Edwin E. Secure system for electronic selling
SE506853C2 (sv) 1996-06-20 1998-02-16 Anonymity Prot In Sweden Ab Metod för databearbetning
US6131120A (en) * 1997-10-24 2000-10-10 Directory Logic, Inc. Enterprise network management directory containing network addresses of users and devices providing access lists to routers and servers
US6085191A (en) * 1997-10-31 2000-07-04 Sun Microsystems, Inc. System and method for providing database access control in a secure distributed network
US6064656A (en) * 1997-10-31 2000-05-16 Sun Microsystems, Inc. Distributed system and method for controlling access control to network resources
US6202066B1 (en) * 1997-11-19 2001-03-13 The United States Of America As Represented By The Secretary Of Commerce Implementation of role/group permission association using object access type
JPH11161536A (ja) * 1997-11-26 1999-06-18 Nec Inf Service Ltd 利用者制限装置およびその方法
JP3937548B2 (ja) * 1997-12-29 2007-06-27 カシオ計算機株式会社 データアクセス制御装置およびそのプログラム記録媒体
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6430549B1 (en) * 1998-07-17 2002-08-06 Electronic Data Systems Corporation System and method for selectivety defining access to application features

Also Published As

Publication number Publication date
KR20010071933A (ko) 2001-07-31
US20030050913A1 (en) 2003-03-13
EA200100145A1 (ru) 2001-06-25
CN1318163A (zh) 2001-10-17
KR20060089753A (ko) 2006-08-09
EP1108238B1 (de) 2007-01-17
KR100628426B1 (ko) 2006-09-28
PL345904A1 (en) 2002-01-14
BG64962B1 (bg) 2006-10-31
AU4997899A (en) 2000-02-07
AU757061B2 (en) 2003-01-30
JP4571746B2 (ja) 2010-10-27
NZ509240A (en) 2002-11-26
BR9912119A (pt) 2001-10-16
DE69934894D1 (de) 2007-03-08
US6578029B2 (en) 2003-06-10
ES2280123T3 (es) 2007-09-01
IL140906A0 (en) 2002-02-10
ATE352071T1 (de) 2007-02-15
KR100712569B1 (ko) 2007-05-02
HRP20010029A2 (en) 2001-12-31
EP1108238A1 (de) 2001-06-20
KR20060076790A (ko) 2006-07-04
CN1318163B (zh) 2010-06-09
EA003618B1 (ru) 2003-08-28
YU2701A (sh) 2002-12-10
HRP20010029B1 (en) 2008-04-30
BG105150A (en) 2001-07-31
HRP20010029A9 (en) 2008-03-31
JP2002520727A (ja) 2002-07-09
CA2336987A1 (en) 2000-01-27
US6430549B1 (en) 2002-08-06
KR100692330B1 (ko) 2007-03-14
HUP0301138A2 (en) 2003-08-28
WO2000004435A1 (en) 2000-01-27

Similar Documents

Publication Publication Date Title
DE69934894T2 (de) Verfahren und vorrichtung zur wahlweisen einstellung des zugangs zu anwendungsmerkmalen
EP2843585B1 (de) Verfahren und System zum Bereitstellen von anonymisierten Daten aus einer Datenbank
DE69832946T2 (de) Verteiltes System und Verfahren zur Steuerung des Zugriffs auf Netzmittel und Ereignismeldungen
DE69929772T2 (de) Dateizugriffsteuerung in einem mehrfachprotokoll-datei-server
EP0910829B1 (de) Datenbanksystem
DE60035432T2 (de) System zur verwaltung der rdbm fragmentierungen
DE10226909A1 (de) System und Verfahren zur vorgeschriebenen Zugriffssteuerung auf ein Dateisystem
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE112011101508T5 (de) Zentrale Steuerung von Datenbankanwendungen
DE112011101357T5 (de) Dynamisches Token für den vorübergehenden Datenzugriff
DE10039537A1 (de) Verbesserung der mehrdimensionalen Umstrukturierung beim Hinzufügen oder Entfernen von Dimensionen und Dimensionsmitgliedern
DE102007035273A1 (de) Verteiltes User-Validierungs- und Profilverwaltungssystem
DE602005002062T2 (de) Optimierung der Sperrgranularität mittels Bereichssperren
DE112018005725T5 (de) Daten-deidentifikation auf der grundlage eines erkennens von zulässigen konfigurationen für daten-deidentifikationsprozesse
DE19534819B4 (de) Verfahren und Vorrichtung zum Konfigurieren einer Datenbank
EP1298515A2 (de) Verfahren zur Steuerung des Zugriffs auf Ressourcen eines Datenverarbeitungssystems
EP1637956A1 (de) Erzeugung anonymisierter Datensätze zum Testen und Entwickeln von Anwendungen
DE69637098T2 (de) Sicherheitsvorrichtung und verfahren für ein datenverarbeitungssystem
EP3539044B1 (de) Zugriffskontrolle auf datenobjekte
DE10218905B4 (de) Verfahren und Datenstruktur zur Zugriffssteuerung in Wissensnetzen
EP3539045B1 (de) System mit zertifikat-basierter zugriffskontrolle
DE102004004101A1 (de) Verfahren und System zum Schutz elektronischer Datenobjekte vor unberechtigtem Zugriff
EP1285315B1 (de) Informationsverarbeitungssystem und verfahren zu dessen betrieb
DE112011100951B4 (de) Hoch entwickelte funktionale Verhaltensweisen in einem Datenbankverwaltungssystem
EP2164022A1 (de) Verfahren zur Einräumung einer Zugriffsberechtigung auf ein rechnerbasiertes Objekt in einem Automatisierungssystem, Computerprogramm und Automatisierungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, US

8328 Change in the person/name/address of the agent

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER & ZINKLER, 82049 P