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 » SQL Anywhere-Datenbankverbindungen » Kerberos-Authentifizierung

 

SQL Anywhere für die Verwendung mit Kerberos einrichten

  1. Richten Sie eine Kerberos-Authentifizierung in der SQL Anywhere-Datenbank ein. Weitere Hinweise finden Sie unter Kerberos-Authentifizierung einrichten.

  2. Starten Sie den SQL Anywhere-Server mit der Option -krb oder -kr, um die Kerberos-Authentifizierung zu aktivieren, oder verwenden Sie die Option -kl, um den Standort der GSS-API-Bibliothek anzugeben und Kerberos zu aktivieren.

  3. Ändern Sie die öffentliche oder temporäre Option login_mode auf einen Wert, der Kerberos umfasst. Sie müssen DBA-Berechtigung haben, um die Einstellung dieser Option zu ändern. Die Datenbankoption login_mode legt fest, ob Kerberos-Logins zulässig sind. Da die Datenbankoptionen nur für die Datenbank gelten, in der sie gefunden werden, können verschiedene Datenbanken unterschiedliche Einstellungen für das Login haben, auch wenn sie auf demselben Server geladen und betrieben werden. Zum Beispiel:

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

    Die Datenbankoption login_mode akzeptiert einen oder mehrere der folgenden Werte:

    • Standard   Standard-Logins sind zulässig. Dieser Wert ist die Standardeinstellung. Standard-Verbindungslogins müssen eine Benutzer-ID und ein Kennwort liefern und verwenden nicht die Verbindungsparameter Integrated oder Kerberos.

    • Integrated   Integrierte Logins sind zulässig.

    • Kerberos   Kerberos-Logins sind zulässig.

    Achtung

    Wenn die Datenbankoption login_mode auf "Kerberos" gesetzt ist, werden Verbindungen auf die Benutzer beschränkt, denen eine Kerberos-Login zugeordnet wurde. Der Versuch, mit einer Benutzer-ID und einem Kennwort eine Verbindung herzustellen, generiert einen Fehler, außer wenn Sie ein Benutzer mit DBA-Berechtigung sind.

  4. Erstellen Sie eine Datenbankbenutzer-ID für den Client. Sie können eine bestehende Datenbankbenutzer-ID für das Kerberos-Login verwenden, sofern dieser Benutzer die passenden Berechtigungen hat. Zum Beispiel:

    CREATE USER "kerberos-user"
    IDENTIFIED BY abc123;
  5. Führen Sie die Anweisung GRANT KERBEROS LOGIN TO aus, um eine Zuordnung vom Kerberos-Prinzipal des Clients zu einer bestehenden Datenbankbenutzer-ID herzustellen. Für diese Anweisung benötigen Sie die DBA-Berechtigung. Zum Beispiel:

    GRANT KERBEROS LOGIN TO "pchin@MYREALM.COM" 
    AS USER "kerberos-user";

    Wenn Sie eine Verbindung herstellen wollen, die einen Kerberos-Prinzipal verwendet, der keine Zuordnung hat, vergewissern Sie sich, dass die "Guest"-Datenbankbenutzer-ID existiert und ein Kennwort hat. Weitere Hinweise finden Sie unter Standardbenutzer für das integrierte Login erstellen.

  6. Vergewissern Sie sich, dass sich der Benutzer unter Verwendung seines Kerberos-Prinzipals bereits angemeldet hat (ein gültiges Ticket-erteilendes Kerberos-Ticket hat), und dass das Kerberos-Ticket des Clients nicht abgelaufen ist. Ein über ein Domänenkonto angemeldeter Windows-Benutzer hat bereits ein Ticket-erteilendes Ticket, wodurch er sich bei Servern authentifizieren kann, sofern sein Prinzipal ausreichende Berechtigungen hat.

    Ein Ticket-erteilendes Ticket ist ein mit dem Kennwort des Benutzers verschlüsseltes Kerberos-Ticket, das vom Ticket Granting Service verwendet wird, um die Identität des Benutzers zu verifizieren.

  7. Stellen Sie eine Verbindung vom Client unter Angabe des Verbindungsparameters KERBEROS her ("KERBEROS=YES" in den meisten Fällen, aber auch "KERBEROS=SSPI" oder "KERBEROS=GSS-API-Bibliotheksdatei" kann verwendet werden). Wenn Benutzer-ID- oder Kennwort-Verbindungsparameter angegeben werden, werden sie ignoriert. Zum Beispiel:

    dbisql -c "KERBEROS=YES;ENG=my_server_princ"
Interactive SQL-Beispiel

Beispiel: Ein Verbindungsversuch mit der folgenden Interactive SQL-Anweisung ist erfolgreich, wenn sich der Benutzer mit einem Benutzerprofil anmeldet, das einem Kerberos-Login in der Standarddatenbank eines Servers entspricht:

CONNECT USING 'KERBEROS=YES';

Die Interactive SQL-Anweisung CONNECT kann eine Verbindung mit einer Datenbank herstellen, wenn folgende Bedingungen erfüllt sind:

  • Es läuft bereits ein Server.

  • Die Standarddatenbank auf dem aktuellen Server wurde so eingerichtet, dass sie Kerberos-authentifizierte Verbindungen akzeptiert.

  • Eine Kerberos-Login-Zuordnung wurde für den aktuellen Kerberos-Prinzipal des Benutzers erstellt.

  • Wenn der Server ein Fenster anzeigt, mit dem er weitere Verbindungsinformationen anfordert (z.B. bei Verwendung von Interactive SQL), klickt der Benutzer auf OK, ohne zusätzliche Informationen einzugeben.

Siehe auch