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 [email protected] www.oracle.de Database 17. Deutsche ORACLE-Anwenderkonferenz