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

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » LDAP-Benutzerauthentifizierung

 

LDAP-Benutzerauthentifizierungsumgebung erstellen (SQL)

Richten Sie eine LDAP-Benutzerauthentifizierungsumgebung ein, indem Sie Folgendes erstellen: ein LDAP-Serverkonfigurationsobjekt, eine Login-Richtlinie, die den LDAP-Server verwendet, und Benutzer, die sich beim LDAP-Server authentifizieren, indem sie diese Login-Richtlinie verwenden.

Voraussetzungen

Sie müssen einen LDAP-Server haben.

Sie müssen die folgenden Systemprivilegien haben:

  • SET ANY SECURITY OPTION
  • MANAGE ANY LDAP SERVER
  • MANAGE ANY LOGIN POLICY
  • MANAGE ANY USER
 Aufgabe
  1. (Optional) Um die TLS-Verschlüsselung für die Kommunikation mit Ihrem LDAP-Server zu aktivieren, identifizieren Sie eine Zertifikatdatei, die der Server verwenden muss. Die folgende Anweisung ist ein Beispiel dafür, wie die Zertifikatdatei angegeben wird.

    SET OPTION PUBLIC.trusted_certificates_file='c:\\certificates\\trusted.txt';

    Um TLS-Verschlüsselung in den nachfolgenden Schritten zu aktivieren, muss die TLS OFF-Klausel in jedem Beispiel, in dem diese Klausel auftritt, auf TLS ON geändert werden.

  2. Führen Sie eine VALIDATE LDAP SERVER-Anweisung aus, um die Verbindung mit einem LDAP-Server zu testen.

    Die folgende Anweisung überprüft beispielsweise die Verbindungsattribute eines vorhandenen LDAP-Servers. Der Datenbankserver stellt mithilfe der angegebenen Anmeldeinformationen eine Verbindung mit dem LDAP-Server her.

    VALIDATE LDAP SERVER
        SEARCH DN
            URL 'ldap://iq10web:389/dc=sybase,dc=com?dn?sub?uid=*'
            ACCESS ACCOUNT 'cn=Manager,dc=sybase,dc=com'
            IDENTIFIED BY 'Not4YourEyes'
        AUTHENTICATION URL 'ldap://iq10web:389/'
        CONNECTION TIMEOUT 1000
        CONNECTION RETRIES 3
        TLS OFF;

    Dieser LDAP-Server verwendet Port 389 für die Kommunikation. Im Beispiel wird die TLS-Verschlüsselung nicht aktiviert (TLS OFF). Ihre VALIDATE LDAP SERVER-Anweisung muss ohne Fehler ausgeführt werden, bevor Sie mit dem nächsten Schritt fortfahren.

  3. Führen Sie eine CREATE LDAP SERVER-Anweisung aus, um ein LDAP-Serverkonfigurationsobjekt zu erstellen.

    Die folgende Anweisung definiert beispielsweise ein LDAP-Serverkonfigurationsobjekt, das für die Benutzerauthentifizierung verwendet werden kann.

    CREATE LDAP SERVER prim_ldap
        SEARCH DN
            URL 'ldap://iq10web:389/dc=sybase,dc=com?dn?sub?uid=*'
            ACCESS ACCOUNT 'cn=Manager,dc=sybase,dc=com'
            IDENTIFIED BY 'Not4YourEyes'
        AUTHENTICATION URL 'ldap://iq10web:389/'
        CONNECTION TIMEOUT 1000
        CONNECTION RETRIES 3
        TLS OFF;

    Anders als die VALIDATE LDAP SERVER-Anweisung versucht die CREATE LDAP SERVER-Anweisung nicht, eine Verbindung mit dem LDAP-Server herzustellen.

  4. Führen Sie eine CREATE LDAP SERVER-Anweisung aus, um ein zweites LDAP-Serverkonfigurationsobjekt zu erstellen, das als Failover verwendet wird. Dieser Schritt ist optional, aber für die folgenden Schritte erforderlich.

    Die folgende Anweisung definiert beispielsweise ein LDAP-Serverkonfigurationsobjekt, das als Failover für die Benutzerauthentifizierung verwendet werden kann.

    CREATE LDAP SERVER sec_ldap
        SEARCH DN
            URL 'ldap://iq10web:390/dc=sybase,dc=com?dn?sub?uid=*'
            ACCESS ACCOUNT 'cn=Manager,dc=sybase,dc=com'
            IDENTIFIED BY 'Not4YourEyes'
        AUTHENTICATION URL 'ldap://iq10web:390/'
        CONNECTION TIMEOUT 1000
        CONNECTION RETRIES 3
        TLS OFF;

    Dieser LDAP-Server verwendet Port 390 für die Kommunikation.

  5. Führen Sie eine SET OPTION-Anweisung aus, um den Login-Modus so zu ändern, dass die LDAP-Benutzerauthentifizierung aktiviert wird.

    Die folgende Anweisung aktiviert beispielsweise sowohl die Standardauthentifizierung als auch die LDAP-Benutzerauthentifizierung.

    SET OPTION PUBLIC.login_mode='Standard,LDAPUA';

    Die aktuelle Einstellung der login_mode-Option kann folgendermaßen abgefragt werden:

    SELECT connection_property('login_mode');
  6. Führen Sie eine CREATE LOGIN POLICY-Anweisung aus, um eine neue Login-Richtlinie zu erstellen.

    Die folgende Anweisung erstellt beispielsweise eine neue Login-Richtlinie, die für die Authentifizierung von Benutzern verwendet werden kann.

    CREATE LOGIN POLICY ldap_policy_both
      LDAP_PRIMARY_SERVER=prim_ldap
      LDAP_SECONDARY_SERVER=sec_ldap
      LDAP_FAILOVER_TO_STD=ON;

    Die Namen des primären und sekundären LDAP-Servers werden in dieser Login-Richtlinie angegeben. Wenn die Authentifizierung für den dieser Login-Richtlinie zugeordneten Benutzer fehlschlägt, wird eine Standardauthentifizierung versucht (sofern durch den Login-Modus zugelassen). Die aktuellen Einstellungen der Login-Richtlinie können folgendermaßen abgefragt werden:

    SELECT lpo.* FROM sysloginpolicyoption AS lpo, sysloginpolicy AS lp
      WHERE lpo.login_policy_id = lp.login_policy_id
        AND lp.login_policy_name = 'ldap_policy_both';
  7. Führen Sie eine CREATE USER-Anweisung aus, um eine neue Benutzer-ID mit der in einem vorherigen Schritt definierten Login-Richtlinie zu erstellen.

    Die folgende Anweisung erstellt beispielsweise eine neue Benutzer-ID, die vom primären oder sekundären LDAP-Server authentifiziert wird.

    CREATE USER ldap_user01 LOGIN POLICY ldap_policy_both;

    Die IDENTIFIED BY-Klausel wird weggelassen. Die IDENTIFIED BY-Klausel wird verwendet, um das für die Standardauthentifizierung zu verwendende Kennwort anzugeben. Wenn mit dieser Klausel ein Kennwort angegeben wird, muss es nicht dasselbe sein, das vom LDAP-Server authentifiziert wird. Da dieses Kennwort bei der ersten erfolgreichen Authentifizierung des Benutzers beim LDAP-Server ersetzt wird, wird die IDENTIFIED BY-Klausel hier weggelassen.

  8. Aktivieren Sie die LDAP-Server für die sofortige Verwendung. Die folgenden Anweisungen aktivieren den primären und sekundären LDAP-Server.

    ALTER LDAP SERVER prim_ldap WITH ACTIVATE;
    ALTER LDAP SERVER sec_ldap WITH ACTIVATE;

    Der aktuelle Status aller LDAP-Server kann mit der folgenden Abfrage ermittelt werden.

    call sa_get_ldapserver_status;

    Die ldsrv_state-Spalte der Ergebnismenge zeigt an, dass sich die beiden LDAP-Server im READY-Zustand befinden.

  9. Führen Sie in Interactive SQL eine CONNECT-Anweisung aus, um die Verbindung mit der Datenbank über die LDAP-Benutzerauthentifizierung herzustellen.

    Die folgende Anweisung verwendet beispielsweise die angegebene Benutzer-ID und das angegebene Kennwort, um eine Verbindung mit der Beispieldatenbank herzustellen.

    CONNECT DATABASE demo USER ldap_user01 IDENTIFIED BY 'abcd1234';

    Wenn die Benutzerauthentifizierung durch den LDAP-Server fehlschlägt, wird die Standardauthentifizierung versucht. Die Standardauthentifizierung kann fehlschlagen, wenn das Standardkennwort nicht mit dem angegebenen übereinstimmt im (z.B. weil es nicht während der LDAP-Authentifizierung aktualisiert wurde).

Ergebnisse

Der Benutzer wird über die LDAP-Benutzerauthentifizierung mit einem SQL Anywhere-Datenbankserver verbunden.

 Siehe auch