Das Kerberos-Kerberos-Authentifizierungsverfahren kann verwendet werden, wenn WebSphere Application Server und der DB2-Server für die Kerberos-Authentifizierung konfiguriert sind. Die Kerberos-Authentifizierung unterstützt interoperable SSO-End-to-End-Lösungen (Single Sign-on) und bewahrt die ursprüngliche Anforderer-ID.
Vorbereitende Schritte
In WebSphere Application Server können Sie eine DB2-Datenquelle, den Anwendungsserver und Ihre Anwendung
so konfigurieren, dass die DB2-Datenquelle und der Anwendungsserver über
delegierte Kerberos-Berechtigungsnachweise in einem End-to-End-Verfahren für den Datenbankzugriff durch die Anwendung
interagieren.
Wenn Sie die DB2-Kerberos-Authentifizierung über delegierte Berechtigungsnachweise
vom Anwendungsserver nutzen möchten (dieses Verfahren wird in diesem Artikel als
Option 1 bezeichnet), müssen Sie DB2 und den Anwendungsserver für die Verwendung von Kerberos als
Authentifizierungsverfahren konfigurieren. Im Artikel "Unterstützung des Kerberos-Authentifizierungsverfahrens (KRB5) für Sicherheit" können Sie nachlesen, wie Sie
Kerberos als Authentifizierungsverfahren in dieser Version des Anwendungsservers konfigurieren.
Die XARecovery- und TestConnection-Funktionen des Anwendungsservers können keine delegierten
Kerberos-Berechtigungsnachweise für die Datenquelle bereitstellen. Es kann auch Situationen geben, in denen die Sicherheitskomponente des Anwendungsservers
nicht in der Lage ist, delegierte Kerberos-Berechtigungsnachweise für eine bestimmte Verbindungsanforderung bereitzustellen. Zur Berücksichtigung dieser Fälle können Sie eine DB2-Verbindung mit Kerberos-Authentifizierung
konfiguriere (dieses Verfahren wird in diesem Artikel als Option 2 bezeichnet). Für diese Option müssen eine Benutzer-ID und ein Kennwort an den JDBC-Treiber übergeben werden, die der Treiber verwendet, um seine eigenen
Kerberos-Berechtigungsnachweise abzurufen. Zur Verwendung dieser Option müssen Sie einen J2C-Authentifizierungsdatenalias
im Anwendungsserver konfigurieren, der die Benutzer-ID und das Kennwort definiert, die der
JDBC-Treiber für DB2 für die Anforderung eines Kerberos Ticket Granting Ticket (TGT) verwendet. Das TGT wird für die Kerberos-Authentifizierung bei einem DB2-Server verwendet. Für den Anwendungsserver gleicht dies der typischen Authentifizierung mit Benutzer-ID und Kennwort.
Sie müssen einen DB2-JDBC-Treiber verwenden, der die Kerberos-Authentifizierung unterstützt und
im Modus Typ 4 ausgeführt wird. Die unterstützten JDBC-Treiber sind im Folgenden aufgelistet:
- IBM Data Server Driver for JDBC and SQLJ (wird im Anwendungsserver mit
DB2 using IBM JCC Driver angegeben)
- IBM DB2 JDBC Universal Driver Architecture (wird im Anwendungsserver mit
DB2 Universal JDBC Driver Provider angegeben)
Informationen zu diesem Vorgang
Verwenden Sie die folgenden Schritte, um den Anwendungsserver und DB2
für die Authentifizierung mit Kerberos zu konfigurieren:
Vorgehensweise
- DB2-Server für die Kerberos-Authentifizierung konfigurieren. Sehen Sie sich die Dokumentation
zur DB2-Kerberos-Sicherheit im Information Center von DB2 an, z. B. den Artikel mit den Details zur Kerberos-Authentifizierung.
Eine weitere hilfreiche Referenz ist der Artikel "DB2 UDB Security, Part 6" auf der Website von IBM developerWorks. Stellen Sie sicher, dass die DB2-Kerberos-Authentifizierung funktioniert.
- Anwendungsserver für die Verwendung der Kerberos-Sicherheit konfigurieren.
Sehen Sie sich den Artikel "Kerberos als Authentifizierungsverfahren über die Administrationskonsole konfigurieren" an. Stellen Sie sicher, dass die Kerberos-Authentifizierung im Anwendungsserver funktioniert.
- DB2-Datenquelle im Anwendungsserver für die Verwendung der Kerberos-Authentifizierung konfigurieren. Die Ausführung dieser Task besteht aus zwei Schritten. Sie müssen den Ressourcenadapter im Anwendungsserver
so konfigurieren, dass er Kerberos-Berechtigungsnachweise und Kennwortberechtigungsnachweise an den JDBC-Treiber
übergibt, und Sie müssen den JDBC-Treiber so konfigurieren, dass er bei der Verbindungsherstellung zum DB2-Server die Kerberos-Authentifizierung verwendet.
Weitere Informationen zum Ausführen dieser Schritte finden Sie im Artikel
"Datenquelle über die Administrationskonsole konfigurieren".
Tabelle 1. Angepasste Eigenschaften und Werte. Bei der Konfiguration der DB2-Datenquelle müssen Sie insbesondere
auf die Sicherheitseinstellungen und angepassten Eigenschaften achten.Name |
Wert |
kerberosServerPrincipal Anmerkung: Diese Eigenschaft ist optional, es sei denn, es wird eine
Verbindung zu einem DB2-Server hergestellt, der auf einer z/OS-Plattform ausgeführt
(z. B. DB2 for LUW, v8 FP11).
|
user@REALM
oder
Servicename/Hostname@REALM
|
SecurityMechanism Anmerkung: Wenn Sie den Wert 11 für diese Eigenschaft angeben, muss der JDBC-Treiber
die Kerberos-Authentifizierung bei der Verbindungsherstellung zum DB2-Server angeben.
|
11 |
- Für Option 2 müssen Sie den "Alias für Konfigurationszuordnung"
mit "DefaultPrincipalMapping" oder eine andere Anmeldekonfiguration konfigurieren, die
keine GSSCredentials generiert, und das Feld "Containergesteuerter Authentifizierungsalias"
so definieren, dass es auf einen Alias verweist, der für die Kerberos-Anmeldung vom JDBC-Treiber verwendet werden soll. Auch die Funktion "testConnection" verwendet diesen Alias, wenn kein komponentengesteuerter
Authentifizierungsalias konfiguriert ist.
- Für Option 1 (delegierte Kerberos-Berechtigungsnachweise) müssen Sie den "Alias für Konfigurationszuordnung" mit
"KerberosMapping" konfigurieren.
Damit wird der Ressourcenadapter im Anwendungsserver angewiesen,
dem DB2-JDBC-Treiber delegierte Berechtigungsnachweise bereitzustellen.
Die Funktion "testConnection"
und die Funktion für die Wiederherstellung von XA-Transaktionen können
keine delegierten Kerberos-Berechtigungsnachweise bereitstellen, aber auf die Authentifizierung
der Option 2 zurückgreifen. Wenn Sie diese Features nicht benötigen, können Sie für jeden Authentifizierungsaliasnamen
none auswählen. Wenn Sie "testConnection" verwenden und ein gültiger Authentifizierungsalias konfiguriert ist,
wird eine Informationsnachricht (DSRA8221I) protokolliert. Diese Nachricht zeigt an, dass die Funktion
"testConnection" nicht in der Lage ist, Kerberos-Berechtigungsnachweise bereitzustellen. Ist kein Alias konfiguriert,
schlägt die Funktion "testConnection" fehl, und es wird ein Fehler des Typs "Ungültige Kerberos-Berechtigungsnachweise" vom
JDBC-Treiber gemeldet.
Wichtig: Wenn KerberosMapping konfiguriert ist, aber die Sicherheitskomponente
keine Kerberos-Berechtigungsnachweise für eine bestimmte Verbindungsanforderung bereitstellen kann, kann der
Ressourcenadapter so konfiguriert werden, dass er auf die Verbindungsauthentifizierung mit Principal-Standardzuordnung zurückgreift. Zum Konfigurieren dieser Zurücksetzung wählen Sie in der Liste der containergesteuerten Authentifizierungsaliasnamen
einen Alias aus. Zum Inaktivieren dieser Zurücksetzung wählen Sie in der Liste der containergesteuerten Authentifizierungsaliasnamen none aus.
- Wenn Sie die Kerberos-Zuordnung (Option 1) aktivieren möchten, müssen Sie auch die containergesteuerte
Authentifizierung angeben. Zum Angeben der containergesteuerten Authentifizierung muss die Anwendung eine Ressourcenreferenz für die Suche der Datenquelle verwenden. Die Ressourcenreferenz muss KerberosMapping als Anmeldekonfiguration angeben. Wenn eine
Anmeldekonfiguration für eine Ressourcenreferenz angegeben ist, hat für den Anwendungszugriff über diese Ressourcenreferenz
die angegebene Anmeldekonfiguration Vorrang vor dem Alias für Konfigurationszuordnung, der in der Datenquelle definiert ist. Ein containergesteuerter Authentifizierungsalias kann auch in der Ressourcenreferenz angegeben werden.