Datenbanken & Verzeichnisdienst – ein Bund fürs Leben (Teil 1)

bund-leben-ttk

Kann man ein technisch komplexes Konzept mit dem sozialen Modell einer Ehe ver­gleichen? Entscheiden Sie am Ende selbst. Es ist nicht leicht, den Überblick und die Kontrolle über
etwas zu behalten, was auf viele Orte verteilt ist. Datenbankbenutzer bilden da keine Ausnahme. Das weckt den Wunsch nach einem Weg, alles an einem Ort zu bündeln. Die
Nutzung eines Verzeichnisdienstes ermöglicht das. Ein Verzeichnisdienst bildet nur die
Plattform, die erforderlichen Strukturen hingegen liefert die Enterprise User Security (EUS). Die Oracle-Verzeichnisdienste haben wir bereits in einem vorangegangenen Beitrag vorgestellt. Der vorliegende Teil beschreibt den Weg, wie Oracle-Datenbanken und Verzeichnisdienst auf der Basis von EUS einen Bund eingehen.

Das große Ganze 

Beim Anlegen von Datenbankbenutzern ist der Standard die lokale Datenbanksicht, bei der sich ein lokaler Benutzer mit einem Passwort anmelden muss und lokal seine Rechte vergeben bekommt. EUS schaut aus Sicht des Unternehmens (engl. enterprise) auf die Mitarbeiter, die Datenbanken und die Rechtevergabe. Man spricht daher von Enterprise Usern, die Zugriff auf Datenbanken in Enterprise Domains erhalten und denen Rechte über Enterprise-Rollen zugewiesen werden.

Abbildung 1 veranschaulicht die Verbindung von Datenbank und EUS. Unten ist der Verzeichnisdienst dargestellt mit der Gruppe CTO und dem Benutzer Larry, der ebenfalls Mitglied der Gruppe CTO ist. Daneben das Enterprise-User-Security-Schema mit dem Enterprise-Domain-Objekt, welchem Datenbanken und Enterprise-Rolle zugeordnet sind. Enterprise-Rollen bündeln Rechte, die sie durch die Verknüpfung mit globalen Rollen erhalten.

Es lassen sich nur globale Rollen aus Datenbanken verknüpfen, die sich mit der Enterprise-Rolle in der gleichen Enterprise Domain befinden. Dem Enterprise User Larry kann eine Enterprise-Rolle direkt zugewiesen werden. Die Enterprise-Rolle kann aber auch der Gruppe CTO zugewiesen werden und steht damit allen Mitgliedern der Gruppe zur Verfügung. Ähnlich verhält es sich mit der Zuordnung eines Globalen Users, bei dem eine Verknüpfung zu dem Enterprise User Larry, aber auch zur Gruppe CTO hergestellt werden kann. Alle Anwender werden nur im zentralen Verzeichnisdienst verwaltet.

Abb. 1: Verbindung von Datenbank und EUS

Globaler User, globale Rolle

Mit der Option IDENTIFIED GLOBALLY AS … wird ein Benutzer als globaler User definiert (siehe Abbildung 2). Globale User und lokale User können nebeneinander in der Datenbank existieren. Eine direkte Anmeldung als globaler User ist nicht möglich. Sie bilden den „Dummy-User" unter dem ein Enterprise User in der Datenbank agiert. Globalen Usern werden keine Rechte direkt vergeben, außer evtl. dem Recht sich anzumelden. Sie können von beliebig vielen Enterprise Usern für unterschiedliche Aufgaben gleichzeitig in einer Datenbank benutzt werden. Deshalb haben sie keine eigenen Objekte in der Datenbank.
Enterprise User erhalten alle Rechte ausschließlich über Enterprise-Rollen.

Mit der Option IDENTIFIED GLOBALLY (Abbildung 2) wird auch eine globale Rolle definiert. Globale Rollen können nicht einem Benutzer oder einer anderen Rolle direkt zugewiesen werden, sondern ausschließlich einer oder mehreren Enterprise-Rollen.

create user tt identified globally as 'cn=eu1,cn=users,cn=…';
create user guest identified globally as '';

create role GR_READ identified globally;
grant select on v_$instance to gr_read; 

 Abb. 2: Globalen User und globale Rolle erstellen.

Enterprise Domain

Die Enterprise Domain hilft, Datenbanken zu gruppieren. Eine Datenbank sollte nur einer Domain angehören. In einer Enterprise Domain werden Enterprise-Rollen definiert und es können administrative Rechte an Benutzer vergeben werden. Denkbar ist, z. B., alle Datenbanken einer Anwendung oder eines Entwicklerteams in einer Enterprise Domain zusammenzufassen. Die Unterteilung in Entwicklungs-, Test-, QS- und Produktionsdatenbanken lässt sich ebenfalls in Enterprise Domains abbilden. Zum EUS-Schema gehört die Enterprise Domain OracleDefaultDomain, der alle Datenbanken bei der Registrierung im OUD automatisch zugewiesen werden.

Der EUS-Realm

Verzeichnisdienste sind in Baumstrukturen organisiert. Der EUS-Realm definiert den Einstiegspunkt, ab dem alle Daten in der Baumstruktur abgelegt werden, zum Beispiel dc=ordix,dc=de. In einem OUD können mehrere EUS-Realms parallel bestehen. Der EUS-Realm wird in anderen Tools auch base_DN, für Basis Distinguished Name, bezeichnet. Mit seinem Distinguished Name wird jedes Objekt im Verzeichnisbaum eindeutig beschrieben (siehe Abbildung 3). Das EUS-Schema beginnt im Verzeichnisbaum mit dem Zweig OracleContext direkt unterhalb des EUS-Realms und darf ausschließlich im EUS-Kontext verwendet werden.

root)
   +-- de
      +-- ordix                            
          +-- OracleContext ( Beginn des EUS-Schemas )
          +-- User
              +-- Trakle   ( DN: cn=Thomas,cn=User,dc=ordix,dc=de) 

Abb. 3: Beispiel-Baumstruktur

Der Anmeldevorgang

Wie ein vollständiger Anmeldevorgang unter Verwendung von EUS abläuft, verdeutlicht Abbildung 4.

Der Client schickt die Verbindungsdaten zur Datenbank (1). Wenn der Benutzer nicht in der Datenbank existiert, fragt die Datenbank beim Verzeichnisdienst nach (2). Ist der Be­nutzer im OUD bekannt und einem globalen User in der Datenbank zugeordnet, wird der Name des globalen Users zurückgegeben (3). Nun erfragt die Datenbank die Rechte (4) und erhält die Namen der zugeteilten globalen Rollen zurück (5).

Abb. 4: Anmeldevorgang

Fortsetzung

Lesen Sie den zweiten Teil zu "Datenbanken & Verzeichnisdienst – ein Bund fürs Leben" ab dem 09.09.2019 hier in unserem Blog. Nicht verpassen!

Quellen

Oracle Online Dokumentation Datenbank 12cR2
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/dbimi/enterprise-user-security-administrators-guide.pdf

Oracle Online Dokumentation Fusion Middleware / Oracle Unified Directory 12.2.1.3.0
https://docs.oracle.com/en/middleware/idm/unified-directory/12.2.1.3/

My Oracle Support | Doc ID 1085065.1 EUSM, Command Line Tool For EUS Administration and Some EUS Good to Knows

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Gäste
Samstag, 21. September 2019

Sicherheitscode (Captcha)