Richtliniensätze und Bindungen für die Kommunikation mit STS konfigurieren

Konfigurieren Sie Richtliniensätze und Bindungsdokumente, damit ein Web-Service-Client SAML-Zusicherungen von einem externen Sicherheitstokenservice (STS) anfordern kann.

Vorbereitende Schritte

Nach der Installation müssen Sie ein neues Serverprofil erstellen oder einem vorhandenen Profil SAML-Konfigurationseinstellungen hinzufügen. Lesen Sie hierzu die Informationen zum Festlegen der SAML-Konfiguration.

Informationen zu diesem Vorgang

WebSphere Application Server mit SAML unterstützt Web-Service-Clients, die für die Kommunikation mit einem externen STS (Security Token Service, Sicherheitstokenservice) den Richtliniensatz und Web-Service-Security-Bindungen verwenden. Web-Service-Clients verwenden den Richtliniensatz und Bindungen für die Kommunikation mit dem Ziel-Web-Service-Provider. Wein Web-Service-Client verwendet zwei Gruppen von Richtliniensatzzuordnungen: eine Gruppe von Richtliniensatzzuordnungen für die Kommunikation mit dem Ziel-Web-Service-Provider und eine weitere Gruppe von Richtliniensatzzuordnungen für die Kommunikation mit dem STS. Richtliniensätze und Bindungen, die für die Kommunikation mit dem Ziel-Web-Service-Provider verwendet werden, sind dem Web-Service-Client zugeordnet. Dagegen sind Richtliniensätze und Bindungen für die STS-Kommunikation nicht direkt den Web-Service-Clients zugeordnet. Stattdessen werden Richtliniensätze und Bindungen für die STS-Kommunikation als angepasste Eigenschaften im Bindungsdokument des Web-Service-Clients angegeben. Für die Kommunikation mit einem STS können Sie allgemeine Bindungen oder anwendungsspezifische Bindungen verwenden. Die Verwendung einer allgemeinen Bindung für den Zugriff auf einen STS ist einfach. Geben Sie lediglich den Namen der allgemeinen Bindung in den angepassten Eigenschaften an.

Die Vorgehensweise für die Konfiguration anwendungsspezifischer Bindungen für den Zugriff auf einen STS ist komplizierter. Die Administrationskonsole ist dafür konzipiert, Richtliniensatzzuordnungen für die Kommunikation mit einem Web-Service-Provider zu steuern. Die Konsole ist jedoch nicht dafür vorgesehen, eine zweite Gruppe von Richtliniensatzzuordnungen für die Kommunikation mit einem STS zu steuern. Sie können jedoch wie in der folgenden Prozedur beschrieben vorgehen, um mit der Administrationskonsole eine Richtliniensatzzuordnung für den Zugriff auf einen STS zu steuern.

Verwenden Sie die Administrationskonsole, um den Richtliniensatz, der für den Zugriff auf einen STS verwendet wird, einem Web-Service-Client zuzuordnen. Anschließend erstellen und ändern Sie eine anwendungsspezifische Bindung. Nach Abschluss der Bindungskonfiguration heben Sie die Zuordnung des Richtliniensatzes und der Bindung zum Web-Service-Client auf. Diese Vorgehensweise ist erforderlich, weil im nächsten Schritt der Richtliniensatz und die Bindungen für die Kommunikation mit dem Ziel-Web-Service-Provider zugeordnet werden. Anwendungsspezifische Bindungen, deren Zuordnung aufgehoben wurde, werden nicht aus dem Dateisystem gelöscht, daher können die angepassten Eigenschaften für Web-Service-Clientbindungen erfolgreich auf die anwendungsspezifischen Bindungen verweisen, deren Zuordnung aufgehoben wurde.

In der Prozedur wird ein Standardanwendungsrichtliniensatz mit dem Namen "Username WSHTTPS default" als Beispiel für die Konfigurationsschritte verwendet, die für den Zugriff auf den STS ausgeführt werden müssen. Die Schritte können auch auf andere Richtliniensätze angewendet werden. In diesem Beispiel wird die Web-Service-Anwendung "JaxWSServicesSamples" verwendet. "JaxWSServicesSamples" wird nicht standardmäßig installiert.

Vorgehensweise

  1. Importieren Sie den Richtliniensatz "Username WSHTTPS default". In diesem Beispiel wird die Richtlinie "Username WSHTTPS default" zum Veranschaulichen der Prozedur verwendet, aber Sie können auch einen anderen Richtliniensatz verwenden, um die Bindungen zu konfigurieren, sofern dieser Richtliniensatz die Voraussetzungen für Richtlinien des externen STS erfüllt.
    1. Klicken Sie auf Services > Richtliniensätze > Anwendungsrichtliniensätze.
    2. Klicken Sie auf Importieren.
    3. Wählen Sie Aus Standardrepository aus.
    4. Wählen Sie den Richtliniensatz WSHTTPS default aus.
    5. Klicken Sie auf OK, um den Richtliniensatz zu importieren.
  2. Ordnen Sie einen Richtliniensatz für den Trust-Client zu. Klicken Sie auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Clients. Die Schritte für das Zuordnen und Freigeben des Richtliniensatzes sowie das Konfigurieren der Trust-Client-Bindung müssen nur ausgeführt werden, wenn eine anwendungsspezifische Bindung für den Zugriff auf den externen STS (Security Token Service) verwendet wird. Sie können diese Schritte überspringen und mit dem Schritt fortfahren, in dem die Konfiguration der Kommunikation mit dem STS beschrieben wird, wenn Sie eine allgemeine Bindung für den Zugriff auf die externe STS verwenden.
    1. Wählen Sie das Kontrollkästchen für die Web-Service-Clientressource aus.
    2. Klicken Sie auf Clientrichtliniensatz zuordnen.
    3. Wählen Sie den Richtliniensatz Username WSHTTPS default aus.
    In diesem Schritt wird der Richtliniensatz dem Web-Service-Trust-Client zugeordnet, als würden Sie diesen Richtliniensatz verwenden, damit der Anwendungsclient auf die Ziel-Web-Services zugreifen kann. Da Sie jedoch planen, den Standardrichtliniensatz "Username WSHTTPS" für den Zugriff auf einen externen STS zu verwenden, wird der Richtliniensatz dem Web-Service-Client nur vorübergehend zugeordnet. Dieser Schritt ermöglicht Ihnen, die Administrationskonsole zum Erstellen oder Ändern des Clientbindungsdokuments zu verwenden.
  3. Konfigurieren Sie die Trust-Client-Bindung.
    1. Wählen Sie die Web-Service-Clientressource erneut aus.
    2. Klicken Sie in der Anzeige "Richtliniensätze und Bindungen für Service-Client" auf Bindung zuweisen.
    3. Klicken Sie auf Neue anwendungsspezifische Bindung, um eine anwendungsspezifische Bindung zu erstellen.
    4. geben Sie einen Bindungskonfigurationsnamen für die neue anwendungsspezifische Bindung an. In diesem Beispiel ist der Bindungsname SamlTCSample.
    5. Fügen Sie der Bindung den Richtlinientyp SSL-Transport hinzu. Optional können Sie die NodeDefaultSSLSettings-Einstellungen ändern. Klicken Sie auf Sicherheit > Verwaltung von SSL-Zertifikaten und Schlüsseln > SSL-Konfigurationen > NodeDefaultSSLSettings.
  4. Optional: Sie können mit den vorherigen Schritten eine HTTP-Transportbindung erstellen, falls Sie einen Benutzernamen und ein Kennwort konfigurieren möchten, die dem HTTP-Header hinzugefügt werden sollen, oder falls Sie einen Proxy konfigurieren möchten. Wenn Sie keine HTTP-Transportbindung erstellen möchten, verwendet die Web-Service-Laufzeitumgebung die Standardeinstellungen für den HTTP-Transport.
  5. Fügen Sie der Bindung den Richtlinientyp WS-Security hinzu, und ändern Sie anschließend die Authentifizierungseinstellungen.
    1. Klicken Sie auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Client > SamlTCSample > Hinzufügen > WS-Security > Authentifizierung und Zugriffsschutz > request:uname_token.
    2. Klicken Sie auf Anwenden.
    3. Wählen Sie Callback-Handler aus.
    4. Geben Sie einen Benutzernamen und ein Kennwort (das Sie danach nochmal bestätigen) ein, um den Web-Service-Client beim externen STS zu authentifizieren.
    5. Klicken Sie auf OK und Speichern.
  6. Nachdem Sie die Bindungseinstellungen gespeichert haben, kehren Sie in die Anzeige "Richtliniensätze und Bindungen für Service-Client" zurück, um die Zuordnung des Richtliniensatzes und der Bindungen aufzuheben.
    1. Klicken Sie auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Clients.
    2. Klicken Sie auf das Kontrollkästchen für die Web-Service-Clientressource.
    3. Klicken Sie auf Zuordnung des Clientrichtliniensatzes aufheben.
    Die anwendungsspezifische Bindungskonfiguration, die sie im vorherigen Schritt erstellt haben, wird nicht aus dem Dateisystem gelöscht, wenn die Zuordnung des Richtliniensatzes aufgehoben wird. Das bedeutet, dass Sie die anwendungsspezifische Bindung, die Sie erstellt haben, weiterhin für den Zugriff auf den STS verwenden können.
  7. Importieren Sie das SSL-Zertifikat aus dem externen STS.
    1. Klicken Sie auf Sicherheit > Verwaltung von SSL-Zertifikaten und Schlüsseln > Sicherheitskonfigurationen für Endpunkte verwalten > Server-_oder_Knotenendpunkt > Keystores und Zertifikate > NodeDefaultTrustStore > Unterzeichnerzertifikate.
    2. Klicken Sie auf Von Port abrufen.
    3. Geben Sie den Hostnamen und die Portnummer des externen STS-Servers an, und ordnen Sie dem Zertifikat einen Alias zu. Verwenden Sie den SSL-STS-Port.
    4. Klicken Sie auf Unterzeichnerdaten abrufen.
    5. Klicken Sie auf Anwenden und Speichern, um das angerufene Zertifikat in das NodeDefaultTrustStore-Objekt zu kopieren.
  8. Optional: Wenn weitere Änderungen an der wstrustClientBinding-Konfiguration erforderlich sind und die Eigenschaft "wstrustClientBinding" auf eine anwendungsspezifische Bindung zeigt, müssen Sie die anwendungsspezifische Bindung dem Web-Service-Client zuordnen, bevor Sie die Änderungen vornehmen können. Die Zuordnung ist temporär. Wie im vorherigen Schritt erläutert, können Sie die Zuordnung der geänderten anwendungsspezifischen Bindung zum Web-Service-Client aufheben, nachdem die Änderungen abgeschlossen sind.

Ergebnisse

Nachdem Sie diese Schritte erfolgreich ausgeführt haben, ist der Web-Service-Client bereit, Anforderungen an den externen STS zu senden. Zum Aktivieren dieser Funktion wurden bei Ausführung der Prozedur die folgenden Bedingungen und Einstellungen aktiviert:
  • Ein Richtliniensatz und Bindungen, die SAML-Token weitergeben, wurden zugeordnet. Beispielsweise wurden der Richtliniensatz "SAML11 Bearer WSHTTPS default" und die allgemeine Bindung "Saml Bearer Client sample" dem Web-Service-Client zugeordnet.
  • Der Richtliniensatz "Username WSHTTPS default" und eine anwendungsspezifische Bindung, "SamlTCSample", werden in der Bindung "Saml Bearer Client sample" referenziert und wurden für den Zugriff auf den externen STS konfiguriert.
  • Das SSL-Zertifikat des externen STS wurde abgerufen und dem Truststore "NodeDefaultTrustStore" hinzugefügt.
  • Um sicherzustellen, dass die Funktion erfolgreich aktiviert wurde, können sie die Traceeinstellung "com.ibm.ws.wssecurity.*=all=enabled" konfigurieren. Der Trace zeigt, dass SAML-Zusicherungen vom externen STS ausgestellt werden. Beispiel:
    [8/23/09 18:26:59:252 CDT] 0000001f TrustSecurity 3   Security Token Service response:
    [8/23/09 18:26:59:392 CDT] 0000001f TrustSecurity 3   
    <?xml version="1.0" encoding="UTF-8"?><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
       xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <s:Header>
            <a:Action s:mustUnderstand="1">http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTRC/IssueFinal</a:Action>
            <a:RelatesTo>urn:uuid:663A7B27BA8EB2CF9D1251070029934</a:RelatesTo>
            <o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" s:mustUnderstand="1">
                <u:Timestamp u:Id="_0">
                    <u:Created>2009-08-23T23:26:57.664Z</u:Created>
                    <u:Expires>2009-08-23T23:31:57.664Z</u:Expires>
                </u:Timestamp>
            </o:Security>
        </s:Header>
        <s:Body>
          <trust:RequestSecurityTokenResponseCollection xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
            <trust:RequestSecurityTokenResponse>
              <trust:Lifetime>
                <wsu:Created
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2009-08-23T23:26:57.648Z</wsu:Created>
                <wsu:Expires 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2009-08-24T09:26:57.648Z</wsu:Expires>
              </trust:Lifetime>
            <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
              <a:EndpointReference>
                 <a:Address>https://taishan.austin.ibm.com:9443/WSSampleSei/EchoService12</a:Address>
                  </a:EndpointReference>
            </wsp:AppliesTo>
            <trust:RequestedSecurityToken>
              <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" MajorVersion="1" MinorVersion="1" 
    AssertionID="_3c656382-9916-4e5f-9a16-fe0287dfc409" Issuer="http://svt193.svt193domain.com/Trust" IssueInstant="2009-08-23T23:26:57.663Z">
              <saml:Conditions NotBefore="2009-08-23T23:26:57.648Z" NotOnOrAfter="2009-08-24T09:26:57.648Z">
              <saml:AudienceRestrictionCondition>
              <saml:Audience>https://taishan.austin.ibm.com:9443/WSSampleSei/EchoService12</saml:Audience>
              </saml:AudienceRestrictionCondition>
              </saml:Conditions>
              <saml:AuthenticationStatement AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password" 
    AuthenticationInstant="2009-08-23T23:26:57.640Z">
              <saml:Subject>
              <saml:SubjectConfirmation>
              <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
              </saml:SubjectConfirmation>
              </saml:Subject>
              </saml:AuthenticationStatement>
                <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                <ds:SignedInfo>
                <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                <ds:Reference URI="#_3c656382-9916-4e5f-9a16-fe0287dfc409">
                <ds:Transforms>
                <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                <ds:DigestValue>YGySZX4VPv25R+oyzFpE0/T/tjs=</ds:DigestValue>
                </ds:Reference>
                </ds:SignedInfo>
                     <ds:SignatureValue>eP68...Vr08=</ds:SignatureValue>
                       <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
                          <X509Data>
                            <X509Certificate>MII...ymqg3</X509Certificate>
                          </X509Data>
                        </KeyInfo>
                      </ds:Signature>
                 </saml:Assertion>
             </trust:RequestedSecurityToken>
           <trust:RequestedAttachedReference>
              <o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <o:KeyIdentifier 
    ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_3c656382-9916-4e5f-9a16-fe0287dfc409</o:KeyIdentifier>
                </o:SecurityTokenReference>
            </trust:RequestedAttachedReference>
            <trust:RequestedUnattachedReference>
              <o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                 <o:KeyIdentifier 
    ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_3c656382-9916-4e5f-9a16-fe0287dfc409</o:KeyIdentifier>
              </o:SecurityTokenReference>
            </trust:RequestedUnattachedReference>
            <trust:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</trust:TokenType>
            <trust:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</trust:RequestType>
            <trust:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer</trust:KeyType>
            </trust:RequestSecurityTokenResponse>
            </trust:RequestSecurityTokenResponseCollection>
        </s:Body>
    </s:Envelope>

Nächste Schritte

Schließen Sie die Konfiguration des Web-Service-Clients und des Web-Service-Providers ab. Weitere Informationen finden Sie in der Beschreibung der Konfiguration von Client- und Providerbindungen für das SAML-Bearer-Token.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



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