Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Datenbank starten und Verbindung mit ihr herstellen » Client/Server-Kommunikation » TCP/IP-Protokoll verwenden

 

Mit einem LDAP-Server verbinden

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.

SQL Anywhere mit einem LDAP-Server unter AIX verwenden

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.

♦  So erstellen Sie Links in /usr/lib
♦  So fügen Sie dem LIBPATH das Verzeichnis hinzu, das die LDAP-Bibliotheken enthält
  1. 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
  2. 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
Datei saldap.ini konfigurieren

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.

Beispiel

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.