DB2 Universal Database - Systemverwaltung


Benutzerauthentifizierung mit DB2 für Windows NT

Die Benutzerauthentifizierung kann für Windows NT-Benutzer aufgrund der Art und Weise, in der das Betriebssystem die Authentifizierung durchführt, problematisch sein. Im vorliegenden Abschnitt werden einige Faktoren erläutert, die für die Benutzerauthentifizierung unter DB2 für Windows NT relevant sind:

Einschränkungen bei Benutzername und Gruppenname

Im folgenden sind die für die Umgebung geltenden Einschränkungen aufgeführt:

Sicherheitsservice von DB2 für Windows NT

Unter DB2 Universal Database wurde die Funktion zum Authentifizieren von Benutzernamen und Kennwörtern in den DB2-System-Controller integriert. Der Sicherheitsservice wird nur für die Verbindung eines Clients zu einem Server benötigt, für den die Authentifizierungsart CLIENT konfiguriert wurde.

Installieren von DB2 auf einem Sicherungsdomänen-Controller

In einer Windows NT-Umgebung kann ein Benutzer entweder auf einem Primär- oder einem Sicherungs-Controller authentifiziert werden. Diese Funktion ist in umfangreichen, verteilten LANs mit einem zentralen Primärdomänen-Controller und einem oder mehreren Sicherungsdomänen-Controllern (BDC = Backup Domain Controller) an allen Standorten sehr wichtig. Die Benutzer können dann auf dem Sicherungsdomänen-Controller ihres Standortes authentifiziert werden. Auf diese Weise ist es nicht erforderlich, einen Aufruf zur Authentifizierung an den Primärdomänen-Controller (PDC) abzusetzen.

Der Vorteil von Sicherungsdomänen-Controllern liegt in diesem Fall in der schnelleren Authentifizierung der Benutzer und der geringeren Auslastung des LANs im Vergleich zu einer Konfiguration ohne Sicherungsdomänen-Controller (BDC).

Unter folgenden Bedingungen ist eine BDC-Authentifizierung möglich:

Wurde die Variable DB2DMNBCKCTLR der Profilregistrierdatenbank nicht gesetzt oder wurde ein Nullwert angegeben, führt DB2 für Windows NT die Authentifizierung auf dem Primärdomänen-Controller aus.

Die einzigen gültigen, deklarierten Einstellungen für DB2DMNBCKCTLR sind "?" oder ein Domänenname.

Wenn für die Variable DB2DMNBCKCTLR der Profilregistrierdatenbank ein Fragezeichen (DB2DMNBCKCTLR=?) angegeben wurde, führt DB2 für Windows NT die Authentifizierung unter folgenden Bedingungen auf dem Sicherungsdomänen-Controller aus:

Unter normalen Bedingungen kann die Einstellung DB2DMNBCKCTLR=? verwendet werden, dies ist jedoch nicht in allen Umgebungen der Fall. Die über die in der Domäne verfügbaren Server bereitgestellten Informationen sind dynamisch und der Computer-Browser muß aktiv sein, um diese Informationen korrekt und auf dem neuesten Stand zu halten. Auf umfangreichen LANs wird der Computer-Browser möglicherweise nicht ausgeführt, so daß die Server-Manager-Informationen eventuell nicht aktuell sind. In diesem Fall gibt es ein zweites Verfahren, mit dem DB2 für Windows NT angewiesen werden kann, die Authentifizierung auf dem Sicherungsdomänen-Controller auszuführen: Setzen Sie DB2DMNBCKCTLR=xxx, wobei xxx für den Windows NT-Domänennamen des DB2-Servers steht. Mit dieser Einstellung wird die Authentifizierung auf dem Sicherungsdomänen-Controller auf der Basis der folgenden Bedingungen ausgeführt:

Authentifizierung mit Gruppen und Domänensicherheit

DB2 für Windows NT unterstützt die folgenden Gruppenarten:

Um unter DB2 für Windows NT mit der Funktion für die Domänensicherheit arbeiten zu können, müssen Sie einer lokalen Gruppe die entsprechenden Berechtigungen und Zugriffsrechte erteilen. Benutzernamen innerhalb der lokalen und globalen Gruppen MÜSSEN in derselben Domäne definiert sein wie die lokale oder globale Gruppe, damit eine korrekte Authentifizierung gewährleistet ist.

Wenn die Variable DB2_GRP_LOOKUP der Profilregistrierdatenbank auf den Wert 'local' gesetzt ist, versucht DB2 den Benutzer nur auf der lokalen Maschine zu finden. Wird der Benutzer auf der lokalen Maschine nicht gefunden oder ist er nicht als Mitglied einer lokalen oder globalen Gruppe definiert, schlägt die Authentifizierung fehl. DB2 versucht nicht, den Benutzer auf einer anderen Maschine in der Domäne oder auf den verfügbaren Domänen-Controllern zu finden.

Wenn die Variable DB2_GRP_LOOKUP der Profilregistrierdatenbank nicht gesetzt wurde, gilt folgendes:

  1. DB2 versucht als erstes, den Benutzer auf der selben Maschine zu finden.
  2. Wurde der Benutzername lokal definiert, wird auch die Authentifizierung lokal ausgeführt.
  3. Wurde der Benutzer auf dem lokalen System nicht gefunden, versucht DB2, den Benutzernamen in der zugehörigen Domäne und anschließend in den gesicherten Domänen zu lokalisieren.

Die folgenden Beispiele erläutern, wie DB2 für Windows NT die Domänensicherheit unterstützen kann. In diesem ersten Beispiel funktioniert die Verbindung problemlos, weil der Benutzername und die lokale Gruppe sich in derselben Domäne befinden. Im zweiten Beispiel schlägt die Verbindung fehl, weil der Benutzername und die lokale oder globale Gruppe sich in unterschiedlichen Domänen befinden.

Beispiel für eine erfolgreiche Verbindung: Die Verbindung im folgenden Szenario funktioniert, weil der Benutzername und die lokale oder globale Gruppe sich in derselben Domäne befinden.

Beachten Sie hierbei, daß der Benutzername und die lokale oder globale Gruppe nicht in der Domäne definiert sein müssen, in der der Datenbank-Server ausgeführt wird. Sie müssen sich jedoch in derselben Domäne befinden.

Tabelle 96. Erfolgreiche Verbindung mit einem Domänen-Controller
Domain1 Domain2
Zu Domain2 besteht eine gesicherte Beziehung.
  • Zu Domain1 besteht eine gesicherte Beziehung.
  • Die lokale oder globale Gruppe grp2 wurde definiert.
  • Der Benutzername id2 wurde definiert.
  • Der Benutzername id2 gehört zu grp2.

Der DB2-Server wird in dieser Domäne ausgeführt. Die folgenden DB2-Befehle werden über diese Einheit abgesetzt:
   REVOKE CONNECT ON db FROM public
   GRANT CONNECT ON db TO GROUP grp2
   CONNECT TO db USER id2
 
Die lokale oder globale Domäne wird durchsucht, id2 kann jedoch nicht gefunden werden. Die Funktion für die Domänensicherheit wird durchsucht.  
  Der Benutzername id2 wird in dieser Domäne gefunden. DB2 erhält zusätzliche Informationen zu diesem Benutzernamen (der zu der Gruppe grp2 gehört).
Die Verbindung funktioniert, weil der Benutzername und die lokale oder globale Gruppe sich in derselben Domäne befinden.  

Beispiel für eine nicht erfolgreiche Verbindung: Die Verbindung im folgenden Szenario funktioniert nicht, weil der Benutzername in einer anderen Domäne definiert ist als die lokale oder globale Gruppe.

Tabelle 97. Nicht erfolgreiche Verbindung mit einem Domänen-Controller
Domain1 Domain2
Zu Domain2 besteht eine gesicherte Beziehung.
  • Zu Domain1 besteht eine gesicherte Beziehung.
  • Die lokale oder globale Gruppe grp2 wurde definiert.

  • Die globale Gruppe grp1 wurde definiert.
  • Der Benutzername id1 wurde definiert.
  • Der Benutzername id1 gehört zu grp1.

 
  Domäne 1\grp1 gehört zu grp2.
Der DB2-Server wird in dieser Domäne ausgeführt. Die folgenden DB2-Befehle werden über diese Einheit abgesetzt:
   REVOKE CONNECT ON db FROM public
   GRANT CONNECT ON db TO GROUP grp2
   CONNECT TO db USER id2
 
Die lokale oder globale Gruppe wurde durchsucht und id1 wurde gefunden. DB2 erhält Informationen für diesen Benutzernamen (der Benutzername id1 gehört zu grp1 und grp1 gehört zu Domain2\grp2).  
  Die Gruppe grp2 ist in dieser Domäne definiert.
Die Verbindung funktioniert nicht, weil die lokale oder globale Gruppe sich in Domain2 befindet und der aktuelle Benutzername in Domain1 definiert ist.

Die Verbindung würde funktionieren, wenn statt dessen der folgende Befehl eingegeben würde: GRANT CONNECT ON db TO GROUP grp1

 


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]