Aktivieren Sie den gesicherten Kontext in Ihren Anwendungen, um
die Art der Interaktion zwischen dem Anwendungsserver und DB2-Datenbankservern zu verbessern.
Durch Verwendung von gesicherten Verbindungen können Sie die Identitätsdatensätze der Clients, die Verbindungen zu einer DB2-Datenbank
über Ihre Anwendungen herstellen, beibehalten. Gesicherte Verbindungen können eine Umgebung mit höherer Sicherheit bereitstellen, indem sie
den Zugriff auf der Basis der Identität dieser Benutzer erteilen.
DB2 stellt eine Option für gesicherte Verbindungen provides an
bereit, in denen ein Kennwort erforderlich ist, wenn die Benutzeridentität gewechselt wird.
Sie können den Anwendungsserver für die Verwendung gesicherteter Verbindungen mit Authentifizierung
konfigurieren und Ihren eigenen Code als Plug-in einfügen, um den gesicherten Kontext mit Authentifizierung zu verwenden.
Vorbereitende Schritte
Sehen Sie sich die Informationen im Artikel zum Aktivieren gesicherter Kontexte für
DB2-Datenbank an, um sicherzustellen,
dass gesicherte Verbindungen für den Anwendungsserver ordnungsgemäß konfiguriert werden.
Informationen zu diesem Vorgang
Wenn beim Erstellen des gesicherten Kontextes die Option WITH AUTHENTICATION
angegeben wird, erfordert die Datenbank, dass Sie ein Authentifizierungstoken mit der Identität des Endbenutzers angeben.
Die Datenbank authentifiziert den Endbenutzer und prüft anschließend die Berechtigung des Endbenutzers für den
Datenbankzugriff, bevor sie die Verarbeitung von Datenbankanforderungen zulässt.
Die Identität des Endbenutzers muss die RACF-ID sein.
Vorgehensweise
- Setzen Sie die angepasste Eigenschaft "useTrustedContextWithAuthentication" für die
DB2-Datenquelle auf "true".
- Klicken Sie auf .
- Klicken Sie auf den Namen der Datenquelle, die Sie konfigurieren möchten.
- Klicken Sie unter Weitere Eigenschaften auf Angepasste Eigenschaften.
- Klicken Sie auf Neu.
- Füllen Sie die erforderlichen Felder aus. Verwenden Sie folgende Informationen:
Name |
Wert |
useTrustedContextWithAuthentication |
true |
Wenn die angepasste Eigenschaft "useTrustedContextWithAuthentication" nicht auf "true" gesetzt ist,
stellt der Anwendungsserver eine Implementierung für die Wiederverwendung gesicherter
DB2-Verbindungen
ohne Authentifizierung zur Laufzeit bereit.
In diesem Fall müssen Sie keine Informationen eingeben, damit das Feature für gesicherte Kontexte
verwendet wird.
- Verwenden Sie die Anmeldekonfiguration für TrustedConnectionMapping gemäß der Beschreibung
im Artikel zum Aktivieren gesicherter Kontexte für DB2-Datenbanken.
- Erweitern Sie die Klasse "DataStoreHelper", und geben Sie die Implementierung für die Methode
"getPasswordForUseWithTrustedContextWithAuthentication" gemäß der Beschreibung im Artikel zum Entwickeln einer angepassten
DataStoreHelper-Klasse an. Der Anwendungsserver ruft diese Methode zur Laufzeit auf, um das Kennwort
zurückzugeben, das der Anwendungsserver verwenden muss, um die Identität für gesicherte Kontexte
zu wechseln, wenn gesicherte Kontexte mit Authentifizierung aktiviert sind.
Das von dieser Methode zurückgegebene Kennwort wird an die Datenbank gesendet, wenn der
Anwendungsserver Identitäten für gesicherte Kontexte wechselt. Das Kennwort wird vom Anwendungsserver nicht gespeichert.
Dieser Anwendungsserver ruft diese Methode nur auf, wenn folgende Bedingungen zutreffen:
- Sie haben die angepasste Datenquelleneigenschaft "useTrustedContextWithAuthentication" auf "true" gesetzt.
- Sie verwenden die Anmeldekonfiguration "TrustedConnectionMapping".
Im Folgenden sehen Sie ein Beispiel für die Methode "getPasswordForUseWithTrustedContextWithAuthentication":
public String getPasswordForUseWithTrustedContextWithAuthentication(String identityname, String realm)
throws SQLException
{
return customersOwnUtility().getPassword(identityname) // Kunden verwenden eine eigene
// Implementierung für den Abruf des Kennworts
}
Fehler vermeiden: Sie können die angepasste Eigenschaft
"useTrustedContextWithAuthentication" für die Datenquelle nicht setzen, ohne die Methode
"getPasswordForUseWithTrustedContextWithAuthentication" in der Klasse "DataStoreHelper"
zu überschreiben, um das Kennwort für den Wechsel der Identität für gesicherte Verbindungen abzurufen.
Wenn Sie keine Implementierung für die Methode "getPasswordForUseWithTrustedContextWithAuthentication"
angeben, löst der Anwendungsserver zur Laufzeit eine Ausnahme mit der folgenden Nachricht aus:
TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR=DSRA7033E:
Die angepasste Eigenschaft useTrustedContextWithAuthentication kann für
die Datenquelle nicht aktiviert werden, ohne die DataStoreHelper-Methode
getPasswordForUseWithTrustedContextWithAuthentication zu überschreiben.
TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.explanation=Die
angepasste Eigenschaft "useTrustedContextWithAuthentication" ist zwar
aktiviert, aber es wurde kein Implementierungscode für die
DataStoreHelper-Methode bereitgestellt, der das Kennwort zurückgibt,
das der Anwendungsserver verwendet, um die Identität zu wechseln.
TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.useraction=Überschreiben
Sie die DataStoreHelper-Methode "getPasswordForUseWithTrustedContextWithAuthentication",
und stellen Sie den Implementierungscode bereit, der das Kennwort zurückgibt,
oder setzen Sie die angepasste Eigenschaft "useTrustedContextWithAuthentication"
für die Datenquelle auf "false".
gotcha