Sie können einen zentralen LDAP-Server definieren, der alle Datenbankserver in einem Unternehmen verfolgt, wenn Sie unter Windows (außer Windows Mobile), Unix arbeiten. Wenn sich der Datenbankserver bei einem LDAP-Server anmeldet, können Clients den LDAP-Server abfragen und den gesuchten Datenbankserver finden, gleichgültig ob sie auf einem WAN bzw. LAN oder hinter einer Firewall liegen. Clients müssen keine IP-Adresse (HOST=) angeben. Das Dienstprogramm für die Serverauflistung (dblocate) kann ebenfalls den LDAP-Server verwenden, damit andere derartige Server ausfindig gemacht werden.
LDAP wird nur mit TCP/IP und nur auf Netzwerk-Datenbankservern verwendet.
Um SQL Anywhere 11 mit AIX 6 zu verwenden, müssen Sie entweder Links in /usr/lib einrichten oder sicherstellen, dass das Verzeichnis mit den LDAP-Bibliotheken im LIBPATH enthalten ist, damit sichergestellt wird, dass die LDAP-Systembibliotheken gefunden werden.
Führen Sie die folgenden Befehle als root-Benutzer aus:
cd /usr/lib ln -s /opt/IBM/ldap/V6.1/lib64/libibmldap.a libibmldap64.a ln -s /opt/IBM/ldap/V6.1/lib/libibmldap.a |
Erstellen Sie Links in /usr/lib, indem Sie folgende Befehle als root-Benutzer ausführen:
cd /usr/lib ln -s /opt/IBM/ldap/V6.1/lib64/libibmldap.a libibmldap64.a ln -s /opt/IBM/ldap/V6.1/lib/libibmldap.a |
Achten Sie darauf, dass sich das Verzeichnis mit den LDAP-Bibliotheken im LIBPATH befindet.
Beispiel für 64-Bit-Bibliotheken:
export LIBPATH=/opt/IBM/ldap/V6.1/lib64:$LIBPATH |
Beispiel für 32-Bit-Bibliotheken:
export LIBPATH=/opt/IBM/ldap/V6.1/lib:$LIBPATH |
Um diese Funktion zu aktivieren, muss eine Datei, die Informationen über den Standort und die Verbindungsaufnahme mit dem LDAP-Server enthält, auf dem Datenbankserver-Computer und auf jedem Clientcomputer erstellt werden. Standardmäßig ist der Name dieser Datei saldap.ini, aber in der Konfiguration kann auch ein anderer Name definiert werden. Wenn diese Datei nicht vorhanden ist, wird der LDAP-Support ohne Meldung deaktiviert.
Die Datei muss sich in demselben Verzeichnis befinden wie die SQL Anywhere-Programmdateien (z.B. Installationsverzeichnis\bin32 unter Windows), wenn nicht mit dem LDAP-Parameter ein kompletter Pfad angegeben wird. Die Datei muss folgendes Format haben:
[LDAP] server=Computer_mit_LDAP-Server port=LDAP-Server_Portnummer basedn=Basisdomäne authdn=Authentifizierungsdomäne password=Authentifizierungsdomäne_Kennwort search_timeout=zu_ignorierendes_Alter_von_Zeitstempeln update_timeout=Häufigkeit_der_Zeitstempelaktualisierungen read_authdn=schreibgeschützter_Name_der_Authentifizierungsdomäne read_password=Authentifizierungsdomäne_Kennwort |
Sie können einfache Verschlüsselung hinzufügen, um den Inhalt der Datei saldap.ini mithilfe des Dienstprogramms zum Verschleiern von Dateien (dbfhide) zu verschleiern. Weitere Hinweise finden Sie unter Dienstprogramm zum Verschleiern von Dateien (dbfhide).
Wenn der Name der Datei nicht ldap.ini ist, müssen Sie den LDAP-Parameter verwenden, um den Dateinamen anzugeben.
server Der Name oder die IP-Adresse des Systems, auf dem der LDAP-Server läuft. Bei Unix muss dieser Wert angegeben werden. Wenn dieser Eintrag unter Windows fehlt, sucht Windows nach einem LDAP-Server auf dem lokalen Domänencontroller.
port Die vom LDAP-Server benutzte Portnummer. Standardwert ist "389".
basedn Der Domänenname der Verzweigung, in der SQL Anywhere-Einträge gespeichert werden. Dieser Wert ist standardmäßig das Stammverzeichnis der Verzweigung.
authdn Der Name der Authentifizierungsdomäne. Der Domänenname muss ein bestehendes Benutzerobjekt im LDAP-Verzeichnis sein, das Schreibzugriff auf 'basedn' hat. Dieser Parameter ist für den Datenbankserver erforderlich und wird vom Client ignoriert.
password Das Kennwort für 'authdn'. Dieser Parameter ist für den Datenbankserver erforderlich und wird vom Client ignoriert.
search_timeout Das Alter von Zeitstempeln, bei dem sie vom Client bzw. dem Dienstprogramm für die Serverauflistung [dblocate] ignoriert werden. Der Wert "0" deaktiviert diese Option, sodass alle Einträge als "aktuell" eingestuft werden. Der Standardwert ist 600 Sekunden (10 Minuten).
update_timeout Die Häufigkeit der Zeitstempelaktualisierungen im LDAP-Verzeichnis. Der Wert "0" deaktiviert die Option, sodass der Datenbankserver den Zeitstempel nie aktualisiert. Der Standardwert ist 120 Sekunden (2 Minuten).
read_authdn Der schreibgeschützte Name der Authentifizierungsdomäne. Der Domänenname muss ein bestehendes Benutzerobjekt im LDAP-Verzeichnis sein, das Lesezugriff auf 'basedn' hat. Dieser Parameter ist nur erforderlich, wenn der LDAP-Server eine nicht-anonyme Bindung braucht, bevor der Suchprozess durchgeführt werden kann. Dieses Feld ist z.B. erforderlich, wenn Active Directory als der LDAP-Server verwendet wird. Wenn dieser Parameter fehlt, ist die Bindung anonym.
read_password Das Kennwort für 'authdn'. Dieser Parameter ist auf dem Client nur erforderlich, wenn der Parameter read_authdn angegeben ist.
Nachstehend finden Sie ein Beispiel für eine saldap.ini-Datei:
[LDAP] server=ldapserver basedn=dc=iAnywhere,dc=com authdn=cn=SAServer,ou=iAnywhereASA,dc=iAnywhere,dc=com password=secret |
Die Einträge werden in einer Verzweigung der 'basedn' namens iAnywhereASA gespeichert. Dieser Eintrag muss erstellt werden, bevor SQL Anywhere LDAP benutzen kann. Um die Verzweigung zu erstellen, können Sie das Dienstprogramm LDAPADD verwenden und folgende Informationen übergeben:
dn: ou=iAnywhereASA,basedn objectClass: organizationalUnit objectClass: top ou: iAnywhereASA |
Wenn der Server startet, prüft er nach einem vorhandenen Eintrag mit demselben Namen in der LDAP-Datei. Wenn einer gefunden wird, wird er ersetzt, wenn die Standorteinträge in LDAP zu dem Server passen, der zu starten versucht, oder wenn das Zeitstempelfeld im LDAP-Eintrag älter als 10 Minuten ist (Zeitablaufwert ist konfigurierbar).
Wenn beide Einträge nicht vorhanden sind, läuft ein anderer Datenbankserver mit demselben Namen wie der, der zu starten versucht, und daher schlägt der Startversuch fehl.
Um sicherzugehen, dass Einträge in LDAP aktuell sind, aktualisiert der Datenbankserver ein Zeitstempelfeld im LDAP-Eintrag alle 2 Minuten. Wenn der Zeitstempel eines Eintrags älter ist als 10 Minuten, ignorieren die Clients den LDAP-Eintrag. Beide Einstellungen sind konfigurierbar.
Auf dem Client wird das LDAP-Verzeichnis durchsucht, bevor Broadcasting stattfindet. Wenn daher der Datenbankserver nicht gefunden wird, werden auch keine Broadcasts ausgesendet. Die LDAP-Suche ist sehr schnell. Wenn sie fehlschlägt, kommt es zu keiner merklichen Verzögerung.
Das Dienstprogramm für die Serverauflistung (dblocate) benutzt ebenfalls LDAP - alle in LDAP aufgelisteten Datenbankserver werden der zurückgegebenen Liste der Server hinzugefügt. Damit kann das Dienstprogramm für die Serverauflistung (dblocate) Datenbankserver auflisten, die normalerweise nicht zurückgegeben werden, etwa solche, deren Broadcasts nicht ankommen würden. Einträge mit Zeitstempeln, die älter als 10 Minunten sind, werden nicht einbezogen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |