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

 

SQL Anywhere-Datenbanken für die Verwendung von Kerberos konfigurieren

Sie können SQL Anywhere-Datenbanken für die Verwendung von Kerberos-Logins konfigurieren.

Voraussetzungen

Sie müssen die Systemprivilegien SET ANY PUBLIC OPTION und MANAGE ANY USER haben.

Sie müssen bereits Kerberos konfiguriert haben, bevor SQL Anywhere es verwenden kann.

Kontext und Bemerkungen

Mit dem Kerberos-Login können Sie für die Anmeldung bei Betriebssystemen oder Netzwerken und für Verbindungen mit Datenbanken dieselbe Benutzer-ID und dasselbe Kennwort verwenden.

 Aufgabe
  1. Starten Sie den SQL Anywhere-Datenbankserver mit der Option -krb oder -kr, um die Kerberos-Authentifizierung zu aktivieren, oder verwenden Sie die Option -kl, um den Speicherort der GSS-API-Bibliothek anzugeben und Kerberos zu aktivieren.

  2. Ändern Sie die öffentliche oder temporäre Option login_mode auf einen Wert, der Kerberos umfasst. Da die Datenbankoptionen nur für die Datenbank gelten, in der sie gefunden werden, können verschiedene Datenbanken unterschiedliche Einstellungen für das Kerberos-Login haben, auch wenn sie auf demselben Server geladen und ausgeführt werden. Zum Beispiel:

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

    Wenn die Datenbankoption login_mode auf "Kerberos" gesetzt ist, werden Verbindungen auf die Benutzer beschränkt, denen ein Kerberos-Login zugeordnet wurde. Der Versuch, eine Verbindung mit einer Benutzer-ID und einem Kennwort herzustellen, führt zu einem Fehler, es sei denn, Sie sind ein Benutzer mit SYS_AUTH_DBA_ROLE-Systemrolle.

  3. Erstellen Sie eine Datenbankbenutzer-ID für den Clientbenutzer. Sie können eine vorhandene Datenbankbenutzer-ID für das Kerberos-Login verwenden, sofern dieser Benutzer die passenden Privilegien hat. Zum Beispiel:

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

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

    Wenn Sie eine Verbindung herstellen möchten, die einen Kerberos-Prinzipal ohne Zuordnung verwendet, vergewissern Sie sich, dass die Datenbankbenutzer-ID "Guest" existiert und ein Kennwort hat.

  5. 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.

  6. Stellen Sie die Verbindung vom Client aus unter Angabe des KERBEROS-Verbindungsparameters her. (Häufig ist "KERBEROS=YES" erforderlich, 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;Server=my_server_princ"

Ergebnisse

Die SQL Anywhere-Datenbank ist so konfiguriert, dass sie die Kerberos-Authentifizierung verwendet.

Nächste Schritte

Sie können die Kerberos-Authentifizierung verwenden, um von einem Client aus eine Verbindung herzustellen. Optional können Sie eine Kerberos-Login-Zuordnung erstellen.

Beispiel

Ein Verbindungsversuch mit der folgenden SQL-Anweisung ist erfolgreich, wenn sich der Benutzer mit einem Benutzerprofilnamen anmeldet, der einer Kerberos-Login-Zuordnung für die Standarddatenbank auf einem Datenbankserver entspricht:

CONNECT USING 'KERBEROS=YES';

Die CONNECT-Anweisung kann eine Verbindung mit einer Datenbank herstellen, wenn die folgenden Bedingungen erfüllt sind:

  • Es läuft bereits ein Datenbankserver.

  • Die Standarddatenbank auf dem aktuellen Datenbankserver 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 Datenbankserver 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