Web-Service-Clients mit einem SAML-Token (Security Markup Assertion Language) authentifizieren

Web Services Security SAML Token Profile 1.1 definiert, wie Security Assertion Markup Language (SAML) V1.1- und Security Assertion Markup Language (SAML) V2.0-Zusicherungen mit der Spezifikation Web Services Security (WSS): SOAP Message Security V1.1 verwendet werden. Liberty unterstützt Web Services Security SAML Token Profile 1.1 für die SAML v2.0-Zusicherung mit der Bestätigungsmethode "bearer".

Informationen zu diesem Vorgang

Liberty unterstützt SAML v2.0 mit der Methodesmethode "bearer": (<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">). Ein Web-Service-Client gibt ein SAML-Token zur Identifizierung des Anforderers an den Web-Service-Provider weiter und der Web-Service-Provider kann diese SAML-Tokeninformationen verwenden, um den Anforderer zu authentifizieren.

Die Voraussetzung eines SAML-Tokens wird in der Definition der Unterstützungstoken in der WS-Security-Richtlinie festgelegt. Sie können ein SAML-Token mit dem Element SamlToken als vorausgesetztes Token in einer der unterstützenden Tokenzusicherungen, einschließlich SupportingTokens, SignedSupportingTokens, SignedEncryptedSupportingTokens und EncryptedSupportingTokens, hinzufügen.

Vorgehensweise

  1. Konfigurieren Sie einen Web-Service-Client für die Weitergabe des SAML-Tokens.

    Es muss ein Saml20Token (com.ibm.websphere.security.saml2.Saml20Token) im RunAs-Subjekt vorhanden sein. Wenn eine SamlToken-Richtlinienzusicherung konfiguriert ist, extrahiert die Liberty-WS-Security-Laufzeitumgebung automatisch das Saml20Token aus dem RunAs-Subjekt und fügt eine SAML-Zusicherung an den SOAP-Header <wsse:Security> an. Die folgenden Schritte sind erforderlich:

    1. Fügen Sie wsSecuritySaml-1.1 zu featureManager in der Datei server.xml hinzu.
      <featureManager>         <feature>wsSecuritySaml-1.1</feature>
      </featuremanager>
    2. Die Anwendung muss das SAML-Token als unterstützendes Token (einschließlich SupportingTokens-, SignedSupportingTokens-, SignedEncryptedSupportingTokens- und EncryptedSupportingTokens-Tokenzusicherung) in der Richtlinie in der Datei .wsdl angeben.
      <wsp:Policy wsu:Id="CallerHttpPolicy">
      	<sp:SupportingTokens>
      		<wsp:Policy>
      			<sp:SamlToken
      				sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
      				<wsp:Policy>
      					<sp:WssSamlV20Token11 />
      				</wsp:Policy>
      			</sp:SamlToken>
      		</wsp:Policy>
      	</sp:SupportingTokens>
      
      </wsp:Policy>
  2. Authentifizieren Sie den Web-Service mit einem SAML-Token.

    Wenn der Web-Service-Provider die SOAP-Nachricht mit dem SAML-Token empfängt, validiert er zuerst das Token und verwendet dann die SAML-Tokenattribute, um den Authentifizierungsprozess durchzuführen. Im Folgenden sind die Schritte beschrieben, die bei der Validierung des SAML-Tokens ausgeführt werden:

    1. Fügen Sie wsSecuritySaml-1.1 zu featureManager in der Datei server.xml hinzu.
      <featureManager>         <feature>wsSecuritySaml-1.1</feature>
      </featuremanager>
    2. Die Anwendung muss das SAML-Token als unterstützendes Token in der Richtlinie in der Datei .wsdl angeben.
    3. Die folgenden Attribute in der Serverkonfiguration werden bei der Validierung des Tokens verwendet.
      <wsSecurityProvider id="default"
                ..
                ..
                <samltoken
                     wantAssertionsSigned="true"
                     clockSkew="5m"
                     timeToLive="30m"
                     requiredSubjectConfirmationMethod="bearer"
                     audienceRestrictions="https://../aud1"
                     audienceRestrictions="aud2" ..          />
                      
                      
      </wsSecurityProvider>
    • wantAssertionsSigned - Geben Sie an, ob das Element <saml:Assertion> in der vom WS-Security-Provider empfangenen SOAP-Nachricht signiert ist.
    • clockSkew - Die zulässige Zeitabweichung zwischen den Systemen, die das SAML-Token generiert und empfangen haben. Der Standardwert sind 5 Minuten.
    • timeToLive - Die Lebensdauer einer SAML-Zusicherung. Diese Einstellung ist erforderlich, wenn die Bedingung NoOnOrAfter in der SAML-Zusicherung fehlt. Der Standardwert sind 30 Minuten.
    • requiredSubjectConfirmationMethod - Die Methode für die Subjektbestätigung in der SAML-Zusicherung. Der Standardwert ist bearer.
    • audienceRestrictions - Die zulässigen Zielgruppen für die SAML-Zusicherung. Standardmäßig sind alle Zielgruppen zulässig.

    Weitere Einzelheiten zu den Schritten, die bei der Authentifizierung ausgeführt werden, finden Sie unter WS-Security-SAML-Caller-Konfiguration erstellen.


Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_auth_saml_token.html