Oracle 10g Integration mit Microsoft Active Directory

Transcription

Oracle 10g Integration mit Microsoft Active Directory
Donnerstag, 11. November 2004
15h00, Mozartsaal
Oracle 10g Integration mit
Microsoft Active Directory
Claus Jandausch
ORACLE Deutschland GmbH
Oracle Hauptverwaltung München
Schlüsselworte:
Active Directory, Oracle 10g Database, Oracle 10g Application Server, Oracle
Internet Directory, OID, Integration, Synchronisation, Network Configuration
Assistant, LDAP, Oracle Schema, Oracle Context, HTML DB, Active Directory
Connector, Active Directory Password Plugin, Net Naming, Netzwerke, Konsolidierung
Zusammenfassung
Mit Ablösung des aus Windows NT bekannten Domänenkonzepts, bietet der
Windows 2000 Server mit Active Directory einen voll intergrierten Netzwerkverzeichnisdienst. Das Active Directory speichert alle Windows 2000/2003
Informationen – inklusive Benutzern, Gruppen, Berechtigungen. Zusätzlich
werden hier die Informationen über Netzwerkressourcen (Computer, Drucker,
etc.) gehalten und diese wiederum den Anwendungsbenutzern und Administratoren zugänglich gemacht. Auch eine Oracle-Datenbank kann in Active
Directory als Ressource registriert und das gesamte Oracle Net Naming in konsolidierter Form via Active Directory administriert werden. Dieser Konsolidierungsgedanke lässt sich mit der Synchronisation des Active Directory mit dem
Oracle Internet Directory auf Applikationen weiterführen. Selbst die Oracle
HTML DB ermöglicht die Authentifizierung über Active Directory mit dem
Windows-Account und erfordert damit keine separate Benutzerverwaltung.
Einleitung
Beide Unternehmen – Oracle und Microsoft – haben als zwei der bedeutendsten Innovationsmotoren unsere gesamte IT-Landschaft bis heute nachhaltig
geprägt. Vor dem Gedanken an eine Integration beider Welten, muss das
Grundverständnis ihrer wichtigsten Evolutionsschritte stehen.
Database
17. Deutsche ORACLE-Anwenderkonferenz
KONFERENZ
Eines der wichtigsten Alleinstellungsmerkmale der gesamten Oracle-Architektur ist die universelle Datenhaltung. Mit dem Beginn als relationale Datenbank, hat Oracle dieser Philosophie folgend inzwischen den Status eines integrierten Datenhaltungs- und Informations-Managementsystem für alle Arten
von Daten und Informationen im Unternehmen erreicht.
Die Evolution der Microsoft Anwendungs- und Entwicklungsumgebung hat auf
dem heimischen PC begonnen. Heutzutage finden wir Windows auch überall
in den meisten Unternehmen. Die Gesamtarchitektur zeichnet sich vor allem
durch eine enge Verzahnung mehrerer Komponenten auf unterschiedlichen
Ebenen und einer funktionsübergreifenden Integration aus. Im Umgang mit
Daten und Informationen hat die Historie der Microsoft Anwendungs- und
Entwicklungsumgebung zu einer Philosophie des universellen Datenzugriffs
(UDA) geführt.
Abb. 1: Grundlegende Unterschiede zwischen Oracle und Microsoft
Was den Umgang mit Daten und Informationen jeglicher Art betrifft, stellen
die Oracle- und Microsoft-Architektur zwei vollkommen unterschiedliche Welten dar. Man muss sich also vor dem Gedanken an eine Integration die Frage
stellen, ob dieser Weg im Ansatz überhaupt sinnvoll sein kann?
Tatsächlich ist aber genau dieser Unterschied eines der wichtigsten Argumente
für diese Kombination. Aufgrund der explosionsartig zunehmenden Menge
und Vielfalt unserer Daten und Informationen, stösst die Philosophie des
universellen Datenzugriffs heute an ihre natürlichen Grenzen. Das Zusammenführen eines integrierten Datenhaltungs- und Informations-Managementsystems
(Oracle) mit einer ebenso integrierten Anwendungs- und Entwicklungsumgebung
(Microsoft), ermöglicht den Aufbau einer umfassenden und zukunftsorientierten Gesamtarchitektur.
Abb. 2: Mehrwert durch Integration
Einen konkreten Integrationspunkt, stellt das Zusammenführen des Oracle
Technologie-Stacks mit dem Microsoft Active Directory dar.
1. Active Directory und Oracle Net Naming
Der Einsatz des Active Directory bringt eine Konsolidierung aller Informationen über verfügbare Ressourcen in einem Netzwerk mit sich. Ohne eine
weitere Integration der Oracle-Datenbank mit Active Directory würden derartige Informationen zu bereitstehenden Oracle-Ressourcen (Datenbanken) im
Netzwerk auf den Clients (TNSNAMES.ORA) gehalten. Ein Single-Point-ofAdministration im Active Directory wird in dieser Form also nicht erreicht und
der Wunsch nach einer Integration von Oracle mit dem Active Directory ist die
folgerichtige Konsequenz. Oracle unterstüzt diese in zweierlei Hinsicht:
• Registrieren der Datenbank als Ressource im Active Directory
• Zentrale Verwaltung aller Net Service Einträge im Oracle Context
Diese Integration erfolgt initial mit dem Oracle Network Configuration
Assistant (NetCA), die Registrierung der Datenbank und Verwaltung der Net
Service-Einträge mit dem Oracle DBCA (Database Configuration Assistant), bzw.
dem Oracle Network Manager.
Database
17. Deutsche ORACLE-Anwenderkonferenz
KONFERENZ
Abb. 3: Namensauflösung über Active Directory
1.1 Erzeugen des Oracle Schema und Context im Active Directory
Um die Voraussetzungen für diese Möglichkeiten zu schaffen, muss eine
Schema-Erweiterung im Active Directory vorgenommen werden. Im Anschluss
kann der Oracle-Context zur Speicherung von Net Service-Einträgen erzeugt
werden.
Abb. 4: Angaben im Oracle Network Configuration Assistant
Wichtig ist hier die einwandfrei funktionierende Auflösung des Distinguished
Name über den DNS-Server. Während dies in einem produktiven System selbstverständlich der Fall ist, kann es auf einem Testsystem dadurch zu Problemen
kommen. Ein "Ping" muss also für alle Teile des Distinguished Names erfolgreich
sein. Im Falle von "cj01.claus-domain.de" wären das also "cj01", "clausdomain.de", "cj01.claus-domain.de".
Nach den Erfolgsmeldungen zum gelungenen Erzeugen des Oracle-Schemas
und Context, sind die Voraussetzungen zur Registrierung der Datenbank im
Active Directory und zentralen Verwaltung der Net Service-Einträge gegeben.
Abb. 5: Meldungen des NetCA zu einer erfolgreichen Integration mit Active Directory
1.2 Client-Konfigurationsdateien
Die Oracle Konfigurationsdatei TNSNAMES.ORA ist mit der Integration in
Active Directory erfolgreich eliminiert worden. Ganz ohne Konfigurationsdateien auf den Clients geht es allerdings auch nicht. Es handelt sich dabei aber
nur um die grundsätzliche Information, dass LDAP zur Namensauflösung verwendet wird – und wo sich der Oracle-Context befindet. Der einzige Unterschied zwischen einem Oracle9i- und Oracle 10g-Client ist die zusätzliche
Angabe des LDAP-Ports. Der Standard-Port des LDAP-Servers ist immer 389.
Abb. 6: Notwendige Konfigurationsdateien auf Client-Seite
1.3 Eintragen von Net Service Namen
Falls bereits eine TNSNAMES.ORA mit mehreren Net Service Einträgen vorhanden ist, kann diese mit dem Oracle Net Manager Wizard-gesteuert in das
Active Directory exportiert werden. Im fogenden Beispiel wurden die zugehörigen Einträge für die Oracle 10g Real Application Clusters exportiert. Alternativ kann mit einem Klick auf das grüne "+"-Zeichen ein neuer Eintrag
manuell hinzugefügt werden. Diese Funktion steht – ebenso wie das Löschen
oder Modifizieren bestehender Einträge – nur Personen mit entsprechenden
Rechten zur Verfügung. Diese müssen explizit in die von Oracle angelegte Net
Admin Gruppe unter den "Active Directory Users and Computers" aufgenommen
werden. Ein gewöhnlicher Benutzer hat reine Leserechte auf den Oracle
Context.
Database
17. Deutsche ORACLE-Anwenderkonferenz
KONFERENZ
Abb. 7: Verwalten von Net Service-Einträgen mit dem Oracle Network Manager
1.4 Single-Domain-Konzept
Für ein kleineres Netzwerk mit einem einzigen Domain Controller ist das
Default-Verhalten des Oracle NetCA durchaus passend. In diesem Fall wird der
Oracle-Context im Domain NC (Naming Context) des Active Directory angelegt, während sich die Schema-Erweiterungen im Configuration Container
befinden.
Abb. 8: Das Oracle-Schema und der Oracle-Context im Active Directory
Der Oracle-Context ist dadurch auch unter dem Windows Snap-In "Active Directory Users and Computers" sichtbar. Würde er sich (wie das Oracle-Schema) im
Configuration Container befinden, wäre dies nicht der Fall.
1.5 Multiple Domain Konzept
In einem Netzwerk mit mehr als einem Domain Controller kann das Erzeugen
des Oracle-Context im Domain NC allerdings ungünstig sein, da er damit als
Container für Net Service Einträge den anderen Domänen nicht zur Verfügung
steht.
Abb. 9: Ein Oracle-Context im Domain NC steht nicht allen Domänen zur Verfügung
Entweder wird also für jede Domäne ein eigener Oracle-Context erzeugt – was
möglich ist, aber dem Grundgedanken (zentrales Management) widersprechen
würde – oder es wird ebenfalls der Configuration Container verwendet.
Abb. 10: Der Oracle-Context steht im Configuration Container allen Domänen zur Verfügung
Da hiermit auch für den Oracle-Context die Replikationsmechanismen des
Active Directory wirksam werden, ist wieder ein Single-Point-of-Administration
erreicht.
Database
17. Deutsche ORACLE-Anwenderkonferenz
KONFERENZ
Abb. 11: Replikation des Oracle Schema und Context im Configuration Container
1.6 Maximale Kontrolle für Active Directory-Administratoren
Eine Schema-Erweiterung ist keine triviale Angelegenheit und hat direkte Auswirkungen auf das Active Directory. Schema-Objekte können auch nicht wieder gelöscht, sondern nur deaktiviert werden. Aus diesem Grund ist neben der
Wizard-gesteuerten Integration die Möglichkeit zum Skript-gesteuerten Erzeugen der Oracle-Einträge mit maximaler Kontrolle und dem Erzeugen von LogFiles gewünscht. In seiner grundsätzlichen Funktion macht der Oracle NetCA
auch nichts anderes, als die notwendigen LDIF-Dateien zu verarbeiten. Diese
befinden sich im Oracle Home-Verzeichnis.
Abb. 12: Funktionsweise des Oracle Networking Configuration Assistant
2. Active Directory und Oracle Internet Directory
Bis zu diesem Punkt führt die Integration von Oracle mit Active Directory zwar
zu einer Senkung der administrativen Last, für die Anwender ist aber noch kein
direkter Mehrwert erkennbar. Durch die Synchronisation des Active Directory
und Oracle Internet Directory wird der begonnene Konsolidierungsgedanke
weitergeführt.
Abb. 12: Synchronisation des Active Directory mit dem Oracle Internet Directory
Mit der Installation des Oracle 10g Application Servers stehen bereits verschiedene Profile zur Synchronisation mit dem Active Directory zur Verfügung. Das
Aktivieren dieser Profile erfolgt durch die Konfiguration der entsprechenden
Mapping-Files, um die Struktur des Active Directory auf das Oracle Internet
Directory abzubilden. In einer Standardumgebung ist die Abbildung der UserRealm ausreichend.
Abb. 13: Konfiguration der Mapping-Files
Mit der Integration von Oracle mit dem Active Directory wurde eine Konsolidierung des administrativen Overheads erreicht. Duch die Synchonisation des
Active Directory mit dem Oracle Internet Directory, kann man nun die Anwender von der Last mehrerer Accounts und Passwörter befreien. Ein neuer Benutzer wird nur einmal im Active Directory angelegt und automatisch mit dem
Oracle Internet Directory synchronisiert.
Database
17. Deutsche ORACLE-Anwenderkonferenz
KONFERENZ
Abb. 14: Ein neuer Benutzer muss nur im Active Directory neu angelegt werden.
3. Active Directory und HTML DB
Die Oracle-Unterstützung der Windows-Umgebung ist durchgängig und konsequent, vor allem dann, wenn es sich um Vorteile oder eine Erleichterung für
Anwender und Administratoren handelt. Auch die Oracle HTML DB kann folgerichtig eine vorhandene Windows-Umgebung mit Active Directory nutzen.
Dies ist sogar besonders einfach möglich.
Abb. 15: Stellen beide Ansätze einen unvereinbaren Gegensatz dar?
Nach diesen Einstellungen können die Benutzer sofort ihren WindowsAccount verwenden, um sich bei einer HTML DB-Anwendung anzumelden.
Eine separate Benutzerverwaltung ist nicht erforderlich, was Administratoren
wie Anwender gleichermassen entlastet und auch der Sicherheit zugute
kommt.
Kontaktadresse:
Claus Jandausch
ORACLE Deutschland GmbH
Riesstraße 25
D-80992 München
Telefon:
Fax:
E-Mail:
Internet:
+49(0)89-14301520
+49(0)89-14301572
claus.jandausch@oracle.com
www.oracle.de
Database
17. Deutsche ORACLE-Anwenderkonferenz