Angepasste JVM-Konfigurationseigenschaften für SPNEGO TAI (veraltet)

Die angepassten Konfigurationseigenschaften für Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) Trust Association Interceptor (TAI) steuern unterschiedliche Aspekte des SPNEGO TAI. Sie können für jeden Anwendungsserver andere Eigenschaftswerte angeben.

Veraltetes Feature Veraltetes Feature:

In WebSphere Application Server Version 6.1 wurde ein TAI eingeführt, der SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) nutzt, um HTTP-Anforderungen für geschützte Ressourcen sicher auszuhandeln und zu authentifizieren. Diese Funktion wird in WebSphere Application Server 7.0 nicht weiter unterstützt. Die SPNEGO-Webauthentifizierung wird jetzt genutzt, um SPNEGO-Filter dynamisch neu zu laden und den Rückgriff auf die Methode der Anwendungsanmeldung zu ermöglichen.

depfeat

Alle in der folgenden Tabelle definierten Eigenschaften werden in der Administrationskonsole in der Anzeige "Angepasste Eigenschaften" für den SPNEGO TAI angegeben. Bei Bedarf können Sie diese Eigenschaften auch in eine Eigenschaftendatei stellen. Der SPNEGO TAI lädt die Konfigurationseigenschaften dann aus der Datei und nicht aus der Definition in der Anzeige "Angepasste Eigenschaften". Lesen Sie die Informationen zur Eigenschaft "com.ibm.ws.security.spnego.propertyReloadFile" im Artikel Angepasste JVM-Konfigurationseigenschaften für SPNEGO TAI.

In die Eigenschaftsnamen wird eine SPN-<ID>integriert, um die Eigenschaften für die einzelnen SPN zu gruppieren und die Eigenschaftsnamen, die jeden möglichen SPN identifizieren sollen, eindeutig zu machen. Die SPN-<IDs> sind für jede Eigenschaftsgruppe sequenzielle Zahlen.

Tabelle 1. Angepasste Eigenschaften des SPNEGO TAI.

In dieser Tabelle sind die angepassten Eigenschaften für den SPNEGO TAI aufgelistet.

Eigenschaftsname Erforderlich Standardwert
com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate Nein false
com.ibm.ws.security.spnego.SPN<id>.filter Nein Siehe folgende Beschreibung
com.ibm.ws.security.spnego.SPN<id>.filterClass Nein Siehe folgende Beschreibung
com.ibm.ws.security.spnego.SPN<id>.hostName Ja Ohne
com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage Nein Siehe folgende Beschreibung
com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage Nein Siehe folgende Beschreibung
com.ibm.ws.security.spnego.SPN<id>.trimUserName Nein true

com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate

Diese Eigenschaft ist optional. Es gibt an, ob die delegierten Kerberos-Berechtigungsnachweise vom SPNEGO TAI gespeichert werden. Diese Eigenschaft eröffnet einer Anwendung die Möglichkeit, die gespeicherten Berechtigungsnachweise abzurufen und an andere nachgeordnete Anwendungen für eine zusätzliche SPNEGO-Authentifizierung weiterzugeben.

Diese Eigenschaft erfordert die Verwendung des erweiterten Kerberos-Delegierungsfeatures für Berechtigungsnachweise und die Entwicklung angepasste Logik durch den Anwendungsentwickler. Der Entwickler muss direkt mit dem Kerberos-TGS (Ticket Granting Service) interagieren, um ein TGT (Ticket Granting Ticket) zu erhalten. Er verwendet dabei die delegierten Kerberos-Berechtigungsnachweise im Namen des Endbenutzers, von dem die Anforderung stammt. Der Entwickler muss außerdem das entsprechende Kerberos-SPNEGO-Token erzeugen und in die HTTP-Anforderung aufnehmen, damit der nachgeordnete SPNEGO-Authentifizierungsprozess sowie ggf. die Bearbeitung des zusätzlichen Austausches von SPNEGO-Anforderungen und -Antworten fortgesetzt werden kann.

com.ibm.ws.security.spnego.SPN<id>.filter

Diese Eigenschaft ist optional. Sie definiert die Filterkriterien, die von der angegebenen Klasse mit der Eigenschaft "com.ibm.ws.security.spnego.SPN<id>.filterClass" verwendet werden. Sie definiert beliebige Bedingungen, die für die verwendete Implementierungsklasse aussagefähig sind.

Die Standardimplementierungsklasse "com.ibm.ws.security.spnego.HTTPHeaderFilter" definiert mit dieser Eigenschaft eine Liste von Auswahlregeln, deren Bedingungen mit den Headern von HTTP-Anforderungen abgeglichen werden, um festzustellen, ob die HTTP-Anforderung für die SPNEGO-Authentifizierung ausgewählt wurde.

Jede Bedingung wird durch ein Schlüssel-Wert-Paar angegeben. Die einzelnen Bedingungen sind jeweils durch ein Semikolon voneinander getrennt. Die Bedingungen werden in der Reihenfolge, in der sie in der angegebenen Eigenschaft erscheinen, von links nach rechts ausgewertet. Falls alle Bedingungen erfüllt sind, wird die HTTP-Anforderung für die SPNEGO-Authentifizierung ausgewählt.

Der Schlüssel und der Wert im Schlüssel-Wert-Paar sind durch einen Operator getrennt, der die zu überprüfende Bedingung definiert. Der Schlüssel bezeichnet einen HTTP-Anforderungsheader, der aus der Anforderung zu extrahieren ist und dessen Wert gemäß der Operatorspezifikation mit dem Wert des Schlüssels im Schlüssel-Wert-Paar verglichen wird. Falls es den vom Schlüssel bezeichneten Header nicht in der HTTP-Anforderung gibt, wird die Bedingung als nicht erfüllt angesehen.

Als Schlüssel in den Schlüssel-Wert-Paaren können alle Standard-HTTP-Anforderungsheader verwendet werden. In der HTTP-Spezifikation finden Sie eine Liste gültiger Header. Zusätzlich wurden zwei Schlüssel definiert, um Informationen aus der Anforderung zu extrahieren. Diese Schlüssel sind auch als ein Auswahlkriterium hilfreich, das von den Standard-HTTP-Anforderungsheadern nicht bereitgestellt wird. Der Schlüssel "remote-address" wird als Pseudoheader verwendet, um die ferne TCP/IP-Adresse der Clientanwendung abzurufen, die die HTTP-Anforderung gesendet hat. Der Schlüssel "request-URL" wird als ein Pseudoheader verwendet, um den URL abzurufen, den die Clientanwendung für die Anforderung benutzt hat. Der Interceptor konstruiert mit dem Ergebnis der Operation "getRequestURL" in der Schnittstelle "javax.servlet.http.HttpServletRequest" die Webadresse. Falls es eine Abfragezeichenfolge gibt, wird in derselben Schnittstelle auch das Ergebnis der Operation "getQueryString" verwendet. In diesem Fall wird wie folgt der vollständige URL konstruiert:
String url = request.getRequestURL() + ‘?' + request.getQueryString();
Folgende Operatoren und Bedingungen sind definiert:
Tabelle 2. Filterbedingungen und Operatoren.

Diese Tabelle definiert die Bedingungen und Operatoren, die für die Filterung verwendet werden, und enthält Beispiele dazu.

Bedingung Operator Beispiel
Exakte Übereinstimmung = =

Es wird überprüft, ob die Argumente gleich sind.

host=host.my.company.com
Teilweise Übereinstimmung (ist enthalten) %=

Es wird überprüft, ob die Argumente übereinstimmen, wobei eine teilweise Übereinstimmung bereits gültig ist.

user-agent%=IE 6
Teilweise Übereinstimmung (eines von mehreren ist enthalten) ^=

Es wird überprüft, ob die Argumente übereinstimmen, wobei eine teilweise Übereinstimmung für eines von mehreren angegebenen Argumenten gültig ist.

request-url^=webApp1|webApp2|webApp3
Keine Übereinstimmung !=

Es wird überprüft, ob die Argumente ungleich sind.

request-url!=noSPNEGO
Größer als >

Es wird überprüft, ob die Argumente lexikografisch größer sind.

remote-address>192.168.255.130
Kleiner als <

Es wird überprüft, ob die Argumente lexikografisch kleiner sind.

remote-address<192.168.255.135

com.ibm.ws.security.spnego.SPN<id>.filterClass

Diese Eigenschaft ist optional. Es gibt den Namen der Java-Klasse an, mit der der SPNEGO TAI die HTTP-Anforderungen auswählt, die mit SPNEGO authentifiziert werden sollen.

Falls keine Klasse angegeben ist, wird die Standardimplementierungsklasse com.ibm.ws.security.spnego.HTTPHeaderFilter verwendet. Die angegebene Java-Klasse muss die Schnittstelle com.ibm.wsspi.security.spnego.SpnegoFilter implementieren. Eine Standardimplementierung dieser Schnittstelle steht zur Verfügung. Geben Sie die Klasse com.ibm.ws.security.spnego.HTTPHeaderFilter als zu verwendende Standardimplementierung an. Diese Klasse verwendet die Auswahlregeln, die mit der Eigenschaft com.ibm.ws.security.spnego.SPN<id>.filter angegeben werden.

com.ibm.ws.security.spnego.SPN<id>.hostName

Diese Eigenschaft ist erforderlich. Es gibt den Hostnamen in dem vom SPNEGO TAI für die Herstellung eines sicheren Kerberos-Kontextes verwendeten SPN an. Es ist kein Standardwert verfügbar.

Anmerkung: Der Hostname ist in der Langform angegeben, z. B. meinHostname.austin.ibm.com.
Der Kerberos-SPN ist eine Zeichenfolge im Format HTTP/hostname@realm. Der SPNEGO-Provider verwendet den vollständigen SPN und den Java Generic Security Service (JGSS), um den im Authentifizierungsprozess verwendeten Sicherheitsberechtigungsnachweis und den zugehörigen Sicherheitskontext abzurufen.

com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage

Diese Eigenschaft ist optional. Es gibt die Webadresse einer Ressource mit dem Inhalt an, den der SPNEGO TAI in die HTTP-Antwort aufnimmt, die die Clientanwendung (der Browser) anzeigt, wenn das vom Interceptor nach dem Handshake für die Antwort auf die Anforderung empfangene Token ein NTLM-Token (NT LAN Manager) und kein SPNEGO-Token ist.

Es kann eine Webressource (http://) oder eine Dateiressource (file://) angeben. Falls diese Eigenschaft nicht angegeben ist oder der Interceptor die angegebene Ressource nicht finden kann, wird folgender Inhalt verwendet:
<html><head><title>Es wurde ein NTLM-Token empfangen.</title></head>
<body>Ihre Browser-Konfiguration ist zwar korrekt, aber Sie haben sich nicht an der unterstützten
Microsoft(R) Windows(R)-Domäne angemeldet.
<p>Melden Sie sich über die normale Anmeldeseite an der Anwendung an.</html>

com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage

Diese Eigenschaft ist optional. Es gibt die Webadresse einer Ressource mit dem Inhalt an, den der SPNEGO TAI in die HTTP-Antwort aufnimmt, die die Clientanwendung (der Browser) anzeigt, wenn die Anwendung keine SPNEGO-Authentifizierung unterstützt. Es kann eine Webressource (http://) oder eine Dateiressource (file://) angeben.

Falls diese Eigenschaft nicht angegeben ist oder der Interceptor die angegebene Ressource nicht finden kann, wird folgender Inhalt verwendet:
<html><head><title>SPNEGO-Authentifizierung wird nicht unterstützt</title></head>
<body>SPNEGO-Authentifizierung wird auf diesem Client nicht unterstützt</body></html>;

com.ibm.ws.security.spnego.SPN<id>.trimUserName

Diese Eigenschaft ist optional. Sie gibt an, ob der SPNEGO TAI das Suffix des Principal-Benutzernamens ab dem Zeichen "@" vor dem Kerberos-Realmnamen entfernen soll (true) oder nicht (false).

Ist diese Eigenschaft auf true gesetzt, wird das Suffix des Principal-Benutzernamens entfernt. Das Suffix des Principal-Namens bleibt erhalten, wenn diese Eigenschaft auf false gesetzt ist. Der verwendete Standardwert ist true. Beispiel:

When com.ibm.ws.security.spnego.SPN<id>.trimUserName = true
wird bobsmith@myKerberosRealm zu bobsmith.
When com.ibm.ws.security.spnego.SPN<id>.trimUserName = false
bleibt bobsmith@myKerberosRealm bobsmith@myKerberosRealm.

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_SPNEGO_tai_attribs
Dateiname:rsec_SPNEGO_tai_attribs.html