Caller-Konfiguration in Web Services Security

Ein Web-Service kann im authentifizierten oder nicht authentifizierten Modus ausgeführt werden. Wenn Sie den Zugriff auf Ressourcen basierend auf der Identität eines Benutzers einschränken möchten, muss der Web-Service im authentifizierten Modus ausgeführt werden. Wird ein Web-Service im authentifizierten Modus ausgeführt, wird die Identität des Benutzers in denselben Thread eingefügt, in dem der Web-Service ausgeführt wird.

Ein Web-Service kann auf zwei Arten im authentifizierten Modus ausgeführt werden:
HTTP-Basisauthentifizierung
Die Identität aus dem HTTP-Header wird vom Web-Container in den Thread eingefügt.
WS-Security-Caller-Konfiguration
Die Identität eines der Token im SOAP-Sicherheitsheader wird von der WS-Security-Laufzeit in den Thread eingefügt.

Die Spezifikation Web Services Security (WS-Security) ermöglicht es, mehrere Token im Sicherheitsheader einer SOAP-Nachricht zu übermitteln. Wenn ein Web-Service WS-Security verwendet und im authentifizierten Modus ausgeführt werden muss, wird ein Mechanismus benötigt, der der WS-Security-Laufzeitumgebung mitteilt, welches Token für die Identität verwendet werden soll. Dieser Mechanismus wird als Caller-Konfiguration bezeichnet.

Die WS-Security-Caller-Konfiguration wird mit dem Element <callerToken> in der Datei server.xml angegeben.

Das folgende Beispiel zeigt eine WS-Security-Providerkonfiguration, die eine Caller-Konfiguration für ein Benutzernamenstoken (UsernameToken) enthält:
<wsSecurityProvider ...>
  ...
  <callerToken name="UsernameToken" />
  ...
</wsSecurityProvider>
Für das Element <callerToken> können folgende Werte angegeben werden:
  • UsernameToken
  • X509Token
  • SamlToken

Wenn Sie ein X509-Token (Element X509Token) als Caller-Token konfigurieren, müssen Sie sicherstellen, dass das X.509-Zertifikat eines einzigen Clients aus dem Sicherheitsheader aufgelöst werden kann. Beispielsweise müssen Sie sicherstellen, dass nur ein einziges Clientzertifikat aus dem Initiatortoken in einer asymmetrischen Bindung (Element AsymmetricBinding) aufgelöst wird oder dass nur ein Clientzertifikat aus einem Bestätigungstoken aufgelöst wird.

Wenn Sie ein Benutzernamenstoken (Element UsernameToken) als Caller-Token konfigurieren, darf der Sicherheitsheader nur ein einziges Benutzernamenstoken enthalten.

Wenn Sie ein SAML-Token (Element SamlToken) als Caller-Token konfigurieren, darf der Sicherheitsheader nur ein einziges SAML-Token enthalten. Es sind weitere Konfigurationsoptionen verfügbar, wie z. B. userIdentifier, groupIdentifier und realmIdentifier, mit denen Sie ein SAML-Attribut angeben können, das als Principal, Gruppe bzw. Realm verwendet werden kann, wenn ein authentifiziertes Subjekt erstellt wird. Weitere Informationen zur Konfiguration des optionalen SAML-Caller-Tokens finden Sie in der Produktdokumentation unter WS-Security-SAML-Caller-Konfiguration erstellen.


Symbol das den Typ des Artikels anzeigt. Konzeptartikel

Dateiname: cwlp_wssec_caller_config.html