Client- und Providerbindungen für das SAML-Sender-Vouches-Token konfigurieren
Sie können Client- und Providerrichtliniensatzzuordnungen und -bindungen für das SAML-Sender-Vouches-Token konfigurieren. Ein SAML-Sender-Vouches-Token ist ein SAML-Token, das die Konfigurationsmethode für Sender-Vouches-Subjekte verwendet. Die Sender-Vouches-Bestätigungsmethode wird verwendet, wenn ein Server die Clientidentität oder das Verhalten des Clients weitergeben muss.
Vorbereitende Schritte
- Bevor Sie ein SAML-Sender-Vouches-Token verwenden können,
müssen Sie ein oder mehrere neue Serverprofile erstellen oder einem vorhandenen Profil
SAML-Konfigurationseinstellungen hinzufügen.
Weitere Informationen zum Erstellen eines Serverprofils finden Sie im Artikel Anwendungsserverprofile erstellen.
Informationen dazu, wie einem vorhandenen Profil SAML-Konfigurationseinstellungen hinzugefügt werden, finden Sie in den verschiedenen Artikeln über die Konfiguration von SAML.
- Ermitteln Sie, welche Art von Sicherheit verwendet werden soll, um die die Integrität von
SOAP-Nachrichten und SAML-Token zu schützen, damit ein
Empfänger sicherstellen kann, dass der Nachrichteninhalt und die SAML-Token
nicht von unbefugten Parteien geändert wurden.
Sie müssen entweder die Sicherheit auf Nachrichtenebene oder den
HTTPS-Transport verwenden.
Gemäß Absatz 3.5.2.1 der Spezifikation SAML Token Profile gilt Folgendes:
Damit die der Bestätigungsmethode zugeordnete Verarbeitung beim Empfänger eingehalten werden kann, muss die attestierende Entität den garantierten Inhalt der SOAP-Nachrichten schützen, damit der Empfänger erkennen kann, wenn Änderungen von Dritten vorgenommen wurden. Die attestierende Entität muss außerdem sicherstellen, dass die garantierten Anweisungen (falls erforderlich) und ihre Bindung an den Nachrichteninhalt so geschützt werden, dass unerlaubte Änderungen erkannt werden können.
Sie können entweder die Sicherheit auf Transportebene oder die Sicherheit auf Nachrichtenebene verwenden, um diese SAML-Sender-Vouches-Anforderung zu erfüllen:
Sie müssen entweder die Sicherheit auf Nachrichtenebene oder den HTTPS-Transport verwenden, um Sender-Vouches-Token zu schützen.- Um die Sicherheit auf HTTP-Transportebene zu nutzen, konfigurieren Sie den HTTPS-Transport.
- Um die Sicherheit auf Nachrichtenebene zu verwenden, sieht die Spezifikation "SAML Token Profile" vor, dass die attestierende Entität den relevanten Nachrichteninhalt und die Zusicherungen signiert.
Damit der relevante Nachrichteninhalt und die Zusicherungen signiert sind, muss mindestens das SAML-Token (die Zusicherung) signiert werden. Der relevante Inhalt ist abhängig von ihrer Anwendung. Die Spezifikation enthält folgende Empfehlungen:- Der Sender sollte mindestens SOAP-Body und SAML-Zusicherung zusammen signieren, damit die relevante Anforderung bezüglich des Nachrichteninhalts erfüllt wird.
- Der Konsument muss prüfen, ob das SAML-Token mit SOAP-Body signiert ist, wenn SAML-Sender-Vouches verwendet werden.
Informationen zu diesem Vorgang
Diese Prozedur beschreibt die Schritte, die Sie ausführen müssen, damit ein SAML-Token digital signiert wird. Sie enthält keine Informationen zu den Anforderungen des OASIS-Standards SAML Token Profile für SAML-Sender-Vouches-Token oder SAML-Bearer-Token bezüglich der zu signierenden Nachrichtenabschnitte.
Das in dieser Prozedur enthaltene Beispiel verwendet die Web-Service-Anwendung "JaxWSServicesSamples".
Die Prozedur für das Erstellen des Sender-Vouches-Richtliniensatzes beginnt mit der Erstellung einer neuen SAML-Sender-Vouches-Richtlinie.
Vorgehensweise
- Erstellen Sie die
SAML-Sender-Vouches-Richtlinie und konfigurieren Sie die Nachrichtenabschnitte.
Bevor Sie Client- und Providerbindungen für das SAML-Sender-Vouches-Token erstellen können, müssen Sie basierend auf der SAML-Bearer-Richtlinie einen SAML-Sender-Vouches-Richtliniensatz erstellen. Nachdem Sie den Richtliniensatz erstellt haben, müssen Sie die Bindungen den JAX-WS-Client- und -Provideranwendungen zuordnen. Weitere Informationen zu den Bearer-Richtliniensätzen finden Sie im Artikel Client- und Providerbindungen für das SAML-Bearer-Token für das SAML-Bearer-Token konfigurieren.
Zusammen mit dem Produkt werden mehrere Anwendungsrichtliniensätzen für Standard-SAML-Token bereitgestellt sowie mehrere allgemeine Beispiele für Client- und Providerbindungen. Ein Richtliniensatz, der für ein SAML-Sender-Vouches-Token verwendet wird, ist ähnlich wie ein Richtliniensatz für ein SAML-Bearer-Token. In der folgenden Prozedur wird gezeigt, wie ein Sender-Vouches-Richtliniensatz auf der Basis eines Richtliniensatzes für ein SAML-Bearer-Token erstellt wird.
Sofern Sie nicht als Kopie importiert wurden, können die Richtlinien "SAML20 Bearer WSSecurity default" und "SAML20 Bearer WSHTTPS default" nicht für die Verwendung mit SAML-Sender-Vouches-Token aktualisiert werden. Die Richtlinien "SAML20 Bearer WSSecurity default" und "SAML20 Bearer WSHTTPS default" sind nicht für die Signatur des SAML-Tokens konfiguriert. Damit die Anforderung von SAML-Sender-Vouches erfüllt wird, muss die Richtlinie so aktualisiert werden, dass sie das SAML-Token signiert. Daher muss entweder die Richtlinie als Kopie importiert werden oder Sie müssen eine Kopie der Richtlinie erstellen. Mit der folgenden Prozedur wird eine Kopie der Richtlinie erstellt.
- Importieren Sie die erforderlichen Richtliniensätze.
Die Einführung im Artikel Client- und Providerbindungen für das SAML-Bearer-Token konfigurieren beschreibt, wie die Richtlinie "Username WSHTTPS default" und die SAML-Bearer-Richtlinie des gewünschten Typs importiert werden. Beispielsweise wird für SAML-2.0-Sender-Vouches-Token, die HTTP verwenden, die Richtlinie "SAML20 Bearer WSSecurity default" verwendet.
- Erstellen Sie eine Kopie der gewünschten importierten SAML-Bearer-Richtlinie, die Sie bearbeiten können.
- Klicken Sie in der Administrationskonsole auf Services > Richtliniensätze > Anwendungsrichtliniensätze.
- Wählen Sie die importierte
SAML-Bearer-Richtlinie aus, die kopiert werden soll.
Wählen Sie z. B. SAML20 Bearer WSSecurity default aus.
- Klicken Sie auf "Kopieren...".
- Geben Sie im Feld Name den gewünschten Namen ein, z. B. SAML20 sender-vouches.
- Klicken Sie auf OK.
- Bearbeiten Sie
die neue SAML-Sender-Vouche-Richtlinie in der Weise, dass eine digitale Signatur des SAML-Tokens hinzugefügt wird.
- Klicken Sie in der Administrationskonsole auf Services > Richtliniensätze > Anwendungsrichtliniensätze.
- Wählen Sie die Richtlinie aus, die Sie gerade erstellt haben.
Im vorherigen Beispiel müssten Sie die Richtlinie SAML20 sender-vouches auswählen.
- Bearbeiten Sie den SAML-Richtliniensatz über die Administrationskonsole und klicken Sie anschließend auf WS-Security > Hauptrichtlinie > Abschnitte in Anforderungsnachrichten schützen.
- Klicken Sie unter Integrität schützen auf Hinzufügen.
- Geben Sie für Name des zu signierenden Abschnitts den Namen eines Abschnitts ein, z. B. SAML-Abschnitt.
- Klicken Sie unter Elemente im Abschnitt auf Hinzufügen.
- Wählen Sie XPath-Ausdruck aus.
- Fügen Sie zwei
XPath-Ausdrücke hinzu.
/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' and local-name()='SecurityTokenReference']
/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' and local-name()='Envelope']/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' and local-name()='SecurityTokenReference']
- Klicken Sie auf Anwenden und Speichern.
- Wenn eine Anwendung mit dieser Richtlinie noch nie gestartet wurde, ist keine weitere Aktion erforderlich. Andernfalls müssen Sie den Anwendungsserver erneut starten oder die Anweisungen im Artikel Richtliniensatzkonfigurationen mit wsadmin-Scripting aktualisieren ausführen, damit der Anwendungsserver den Richtliniensatz erneut lädt.
- Importieren Sie die erforderlichen Richtliniensätze.
- Konfigurieren Sie den Trust-Client.
Wenn Sie allgemeine Bindungen für den Zugriff auf den externen STS verwenden, fahren Sie direkt mit dem Schritt "Ordnen Sie Richtliniensatz und Bindungen der Clientanwendung zu" fort.
Wenn Sie anwendungsspezifische Bindungen für den Zugriff auf den externen STS verwenden, führen sie die folgenden untergeordneten Schritte aus.
- Ordnen Sie einen Richtliniensatz für den Trust-Client temporär der Web-Service-Clientanwendung zu, damit die Bindungen konfiguriert werden können.
Wenn Sie einen Richtliniensatz einem Trust-Client zuordnen, können Sie die Administrationskonsole zum Erstellen oder Ändern des Clientbindungsdokuments zu verwenden. Sie müssen diese Aktion nur dann ausführen, wenn eine anwendungsspezifische Bindung für den Zugriff auf den externen STS (Security Token Service) verwendet wird.
- Klicken Sie in der Administrationskonsole auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen >JaxWSServicesSamples> Richtliniensätze und Bindungen für Service-Clients.
- Wählen Sie die Web-Service-Clientressource (JaxWSServicesSamples) aus.
- Klicken Sie auf Clientrichtliniensatz zuordnen.
- Wählen Sie den Richtliniensatz Username WSHTTPS default aus.
- Erstellen Sie die Trust-Client-Bindung.
- Wählen Sie die Web-Service-Clientressource (JaxWSServicesSamples) erneut aus.
- Klicken Sie auf Bindung zuweisen.
- Klicken Sie auf Neue anwendungsspezifische Bindung, um eine anwendungsspezifische Bindung zu erstellen.
- geben Sie einen Bindungskonfigurationsnamen für die neue anwendungsspezifische Bindung an. In diesem Beispiel ist der Bindungsname SamlTCSample.
- Fügen Sie der Bindung den SSL-Transport-Richtlinientyp hinzu.
Klicken Sie auf Hinzufügen > SSL-Transport und anschließend auf OK.
- Fügen Sie der Bindung den WS-Security-Richtlinientyp hinzu, und ändern Sie anschließend
die Authentifizierungseinstellungen für den Trust-Client.
- Wenn der WS-Security-Richtlinientyp noch nicht in der Bindungsdefinition "SamlTCSample" enthalten ist, klicken Sie auf Anwendung > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Clients > SamlTCSample.
- Klicken Sie auf Hinzufügen > WS-Security > Authentifizierung und Zugriffsschutz > request:uname_token.
- Klicken Sie auf Anwenden.
- Wählen Sie Callback-Handler aus.
- Geben Sie einen Benutzernamen und ein Kennwort für die Authentifizierung des Web-Service-Clients beim externen STS ein.
- Klicken Sie auf OK und anschließend auf Speichern.
- Nachdem Sie die Bindungseinstellungen gespeichert haben, kehren Sie in die Anzeige Richtliniensätze und Bindungen für Service-Clients
zurück, um die Zuordnung des Richtliniensatzes und der Bindungen aufzuheben.
- Klicken Sie entweder auf Richtliniensätze und Bindungen für Service-Clients oder auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Clients.
- Wählen Sie die Web-Service-Clientressource (JaxWSServicesSamples) aus und klicken Sie anschließend auf Zuordnung des Clientrichtliniensatzes aufheben.
Die anwendungsspezifische Bindungskonfiguration, die Sie gerade erstellt haben, wird nicht aus dem Dateisystem gelöscht, wenn die Zuordnung des Richtliniensatzes aufgehoben wird. Daher können Sie die anwendungsspezifische Bindung, die Sie erstellt haben, weiterhin für den Zugriff auf den STS verwenden können.
- Ordnen Sie einen Richtliniensatz für den Trust-Client temporär der Web-Service-Clientanwendung zu, damit die Bindungen konfiguriert werden können.
- Ordnen Sie den
SAML-Sender-Vouches-Richtliniensatz zu, und erstellen Sie für die Clientanwendung neue anwendungsspezifische Bindungen.
Anstelle allgemeiner Bindungen müssen Sie anwendungsspezifische angepasste Bindungen für Sender-Vouches verwenden. Wenn Sie daher Sender-Vouches-Richtliniensätze und -Bindungen und aus den zugeordneten Richtliniensätzen und Bindungen des Bearer-Tokens konfigurieren, müssen Sie sicherstellen, dass es sich bei den zugewiesenen Bindungen um anwendungsspezifische Bindungen handelt.
- Ordnen Sie den gewünschten
SAML-Richtliniensatz der Web-Service-Clientanwendung zu.
- Klicken Sie auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Clients.
- Wählen Sie die Web-Service-Clientressource (JaxWSServicesSamples) aus.
- Klicken Sie auf Clientrichtliniensatz zuordnen.
- Wählen Sie die SAML-Richtlinie aus, die Sie erstellt haben.
Beispielsweise könnten Sie SAML20 sender-vouches auswählen.
- Erstellen Sie neue anwendungsspezifische Bindungen für den Client.
- Wählen Sie die Web-Service-Clientressource (JaxWSServicesSamples) erneut aus.
- Klicken Sie auf Bindung zuweisen.
- Wählen Sie Neue anwendungsspezifische Bindung....
- geben Sie einen Bindungskonfigurationsnamen für die neue anwendungsspezifische Bindung an.
In diesem Beispiel ist der Bindungsname "SamlSenderVouchesClient".
- Klicken Sie auf Hinzufügen > WS-Security.
- Ordnen Sie den gewünschten
SAML-Richtliniensatz der Web-Service-Clientanwendung zu.
- Bearbeiten Sie in den SAML-Tokengenerator in den anwendungsspezifischen Clientbindungen.
- Klicken Sie auf Authentifizierung und Zugriffsschutz.
- Klicken Sie unter "Authentifizierungstoken" auf request:SAMLToken20Bearer oder auf request:SAMLToken11Bearer.
- Klicken Sie auf Anwenden.
- Klicken Sie auf Callback-Handler.
- Fügen Sie die folgenden angepassten Eigenschaften hinzu.
- confirmationMethod=sender-vouches
- keyType=http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
- stsURI=Adresse_des_Sicherheitstokenservice
Beispielsweise könnten Sie als Adresse_des_Sicherheitstokenservice den Eintrag https://example.com/Trust/13/UsernameMixed angeben.
- wstrustClientPolicy=Username WSHTTPS default.
- wstrustClientBinding=Wert
Der für die Eigenschaft "wstrustClientBinding" angegebene Wert muss mit dem Namen der anwendungsspezifischen Bindung des Trust-Clients übereinstimmen, der im vorherigen Schritt erstellt wurde. Im vorherigen Schritt könnte z. B. eine anwendungsspezifische Bindung mit dem Namen "SamlTCSample" erstellt worden sein. In diesem Fall muss "SamlTCSample" als Wert der Eigenschaft "wstrustClientBinding" angegeben werden.
- wstrustClientSoapVersion=Wert
Geben Sie für diese Eigenschaft den Wert 1.1 an, wenn Sie SOAP Version 1.1 verwenden möchten.
Geben Sie für diese Eigenschaft den Wert 1.2 an, wenn Sie SOAP Version 1.2 verwenden möchten.
- Klicken Sie auf OK.
- Klicken Sie in der Navigation für diese Seite auf WS-Security.
- Konfigurieren Sie in den Clientbindungen
die allgemeine digitale Signatur.
- Konfigurieren Sie einen Zertifikatsspeicher.
- Klicken Sie auf Schlüssel und Zertifikate.
- Klicken Sie unter "Zertifikatsspeicher" auf Neu - eingehend... .
- Geben Sie name=clientCertStore an.
- Geben Sie Folgendes an: Intermediate X.509 certificate=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer.
- Klicken Sie auf OK.
- Konfigurieren Sie einen Trust-Anchor.
- Klicken Sie unter "Trust-Anchor" auf Neu... .
- Geben Sie name=clientTrustAnchor an.
- Klicken Sie auf Externer Keystore.
- Geben Sie Folgendes ein: Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks.
- Geben Sie Password=client an.
- Klicken Sie auf OK.
- Klicken Sie in der Navigation für diese Seite auf WS-Security.
- Konfigurieren Sie den Signaturgenerator.
- Klicken Sie auf Authentifizierung und Zugriffsschutz > AsymmetricBindingInitiatorSignatureToken0 (Signaturgenerator) und klicken Sie anschließend auf Anwenden.
- Klicken Sie auf Callback-Handler.
- Geben Sie Keystore=custom an.
- Klicken Sie auf
Konfiguration angepasster Keystores, und geben Sie Folgendes an:
- Full path==${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
- Keystore password=client
- Name=client
- Alias=soaprequester
- Password=client
- Klicken Sie auf OK, OK und erneut auf OK.
- Konfigurieren Sie den Signaturkonsumenten.
- Klicken Sie auf AsymmetricBindingRecipientSignatureToken0 (Signaturkonsument) und klicken Sie anschließend auf Anwenden.
- Klicken Sie auf Callback-Handler.
- Klicken Sie unter "Zertifikate" auf die Schaltfläche
Zertifikatsspeicher, und geben Sie Folgendes an:
- Zertifikatsspeicher=clientCertStore
- Trust-Anchor-Speicher=clientTrustAnchor
- Klicken Sie auf OK und erneut auf OK.
- Konfigurieren Sie die Signierdaten für die Anforderung.
- Klicken Sie auf request:app_signparts, und geben Sie Name=clientReqSignInfo an.
- Klicken Sie unter
"Signierschlüsseldaten" auf Neu, und geben Sie Folgendes an:
- Name=clientReqSignKeyInfo
- Type=Security Token reference
- Name des Tokengenerators oder -Konsumenten=AsymmetricBindingInitiatorSignatureToken0
- Klicken Sie auf OK und anschließend auf Anwenden.
- Wählen Sie unter "Referenz des Anforderungsnachrichtenabschnitts" request:app_signparts aus.
- Klicken Sie auf Bearbeiten.
- Klicken Sie unter "Umsetzungsalgorithmen" auf Neu.
- Geben Sie Folgendes an: URL=http://www.w3.org/2001/10/xml-exc-c14n#.
- Klicken Sie auf OK, OK und erneut auf OK.
- Konfigurieren Sie die Signierdaten für die Antwort.
- Klicken Sie auf response:app_signparts, und geben Sie Name=clientRespSignInfo an.
- Klicken Sie auf Anwenden.
- Klicken Sie unter
"Signierschlüsseldaten" auf Neu, und geben Sie Folgendes an:
- Name=clientRspSignKeyInfo
- Name des Tokengenerators oder -Konsumenten=AsymmetricBindingRecipientSignatureToken0
- Klicken Sie auf Anwenden.
- Klicken Sie unter "Signierschlüsseldaten" auf clientRspSignKeyinfo, und klicken Sie dann auf Hinzufügen.
- Wählen Sie unter "Referenz des Anforderungsnachrichtenabschnitts" response:app_signparts aus.
- Klicken Sie auf Bearbeiten.
- Klicken Sie unter "Umsetzungsalgorithmen" auf Neu.
- Geben Sie Folgendes an: URL=http://www.w3.org/2001/10/xml-exc-c14n#.
- Klicken Sie auf OK, OK und erneut auf OK.
- Konfigurieren Sie einen Zertifikatsspeicher.
- Konfigurieren Sie in den Clientbindungen
die digitale Signatur für das SAML-Token.
- Ändern Sie die derzeit konfigurierten
Bindungen für signierte Nachrichtenabschnitte für abgehende Nachrichten
in der Weise, dass sie den neuen SAML-Abschnitt enthalten, den Sie erstellt haben.
Wählen Sie unter Zugriffsschutz durch Signatur und Verschlüsselung der Anforderungsnachricht die Referenz des Nachrichtenabschnitts mit dem Status Konfiguriert aus. Diese Komponentenreferenz ist wahrscheinlich request:app_signparts.
- Wählen Sie in der Liste Verfügbar unter "Referenz des Nachrichtenabschnitts" den Namen des zu signierenden Abschnitts aus, den Sie in Schritt 1 erstellt haben, z. B. SAML-Abschnitt.
- Klicken Sie auf Hinzufügen und anschließend auf Anwenden.
- Heben Sie in der Liste Zugewiesen unter "Referenz des Nachrichtenabschnitts" den Namen des Abschnitts hervor, den Sie hinzugefügt haben, z. B. SAML-Abschnitt.
- Klicken Sie auf Bearbeiten.
- Klicken Sie für die Einstellung Umsetzungsalgorithmen auf Neu.
- Wählen Sie http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform aus.
- Klicken Sie auf OK, OK und anschließend auf Anwenden.
- Aktualisieren Sie den SAML-Tokengeneratoren mit der angepassten Eigenschaft, um
eine digitale
Signatur mit einer Sicherheitstokenreferenz anzugeben.
Wählen Sie unter "Authentifizierungstoken" das SAML-Token aus, das Sie signieren möchten, und bearbeiten Sie dieses.
- Klicken Sie unter "Angepasste Eigenschaften" auf Neu.
- Geben Sie als Namen der angepassten Eigenschaft com.ibm.ws.wssecurity.createSTR ein.
- Geben Sie als Wert für die angepasste Eigenschaft true an.
- Klicken Sie auf Anwenden und anschließend auf Speichern.
- Starten Sie die Anwendung erneut.
- Ändern Sie die derzeit konfigurierten
Bindungen für signierte Nachrichtenabschnitte für abgehende Nachrichten
in der Weise, dass sie den neuen SAML-Abschnitt enthalten, den Sie erstellt haben.
- Ordnen Sie den
SAML-Sender-Vouches-Richtliniensatz zu, und erstellen Sie für die Provideranwendung neue anwendungsspezifische Bindungen.
- Ordnen Sie den gewünschten
SAML-Richtliniensatz der Web-Service-Clientanwendung zu.
- Klicken Sie auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Provider.
- Wählen Sie die Web-Service-Clientressource (JaxWSServicesSamples) aus.
- Klicken Sie auf Richtliniensatz zuordnen.
- Wählen Sie die SAML-Richtlinie aus, die Sie erstellt haben.
Beispielsweise könnten Sie SAML20 sender-vouches auswählen.
- Erstellen Sie neue anwendungsspezifische Bindungen für den Provider.
- Wählen Sie die Web-Service-Clientressource (JaxWSServicesSamples) erneut aus.
- Klicken Sie auf Bindung zuweisen.
- Wählen Sie Neue anwendungsspezifische Bindung....
- geben Sie einen Bindungskonfigurationsnamen für die neue anwendungsspezifische Bindung an.
In diesem Beispiel ist der Bindungsname "SamlSenderVouchesProvider".
- Klicken Sie auf Hinzufügen > WS-Security.
- Ordnen Sie den gewünschten
SAML-Richtliniensatz der Web-Service-Clientanwendung zu.
- Bearbeiten Sie in den SAML-Tokenkonsumenten in den anwendungsspezifischen Providerbindungen.
- Klicken Sie auf Authentifizierung und Zugriffsschutz.
- Klicken Sie unter "Authentifizierungstoken" auf request:SAMLToken20Bearer oder auf request:SAMLToken11Bearer.
- Klicken Sie auf Anwenden.
- Klicken Sie auf Callback-Handler.
- Fügen Sie die folgenden angepassten Eigenschaften hinzu.
- confirmationMethod=sender-vouches
- keyType=http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
- signatureRequired=true
- Optional: Setzen Sie die angepasste Eigenschaft
"trustAnySigner" auf
true, wenn keine Validierung von Unterzeichnerzertifikaten ausgeführt sein soll.
Die Konfigurationseinstellung "Jedes Zertifikat anerkennen" wird für die Validierung der SAML-Signatur ignoriert. Diese Eigenschaft ist nur dann gültig, wenn die angepasste Eigenschaft "signatureRequired" auf true, den Standardwert für diese Eigenschaft, gesetzt ist.
- Führen Sie die folgenden Aktionen aus, wenn Zusicherungen vom STS signiert werden,
die angepasste Eigenschaft "signatureRequired" auf den Standardwert
true gesetzt ist
und die angepasste Eigenschaft
"trustAnySigner" auf den Standardwert
false gesetzt ist.
- Nehmen Sie ein entsprechendes Zertifikat in den Truststore für den Provider auf, damit das Signaturzertifikat des externen STS als vertrauenswürdig validiert wird, z. B. das STS-Signaturzertifikat selbst oder das Stammzertifikat der Zertifizierungsstelle.
- Setzen Sie die angepasste Eigenschaft "trustStorePath" auf einen Wert, der einen Truststoredateinamen angibt. Dieser kann ein vollständig qualifizierter Dateipfad sein oder Schlüsselwörter wie ${USER_INSTALL_ROOT}.
- Setzen Sie die angepasste Eigenschaft "trustStoreType" auf einen Wert, der den Keystoretyp angibt. Unterstützte Keystoretypen sind jks, jceks und pkcs12.
- Setzen Sie die angepasste Eigenschaft "trustStorePassword" auf einen Wert, der das Truststorekennwort angibt. Das Kennwort wird als angepasste Eigenschaft in der Administrationskonsole gespeichert und verschlüsselt.
- Optional: Setzen Sie die angepasste Eigenschaft "trustedAlias " auf einen Wert wie "samlissuer". Wenn diese Eigenschaft angegeben wird, ist das durch den Alias dargestellte X.509-Zertifikat das einzige STS-Zertifikat das für die SAML-Signaturprüfung anerkannt wird. Wird diese angepasste Eigenschaft nicht angegeben, verwendet die Web-Service-Laufzeitumgebung das Signaturzertifikat in den SAML-Zusicherungen, um die SAML-Signatur zu prüfen und verifiziert das Zertifikat anschließend anhand des konfigurierten Truststore.
- Optional: Konfigurieren Sie den Empfänger in der Weise, dass er den Namen des Ausstellers und/oder
den registrierten Name des Zertifikatsinhabers ("SubjectDN"), der
für den Aussteller in der SAML-Zusicherung angegeben ist, prüft.
Sie können Sie eine Liste mit Namen von anerkannten Ausstellern oder eine Liste mit anerkannten SubjectDNs für Zertifikate oder beide Arten von Listen erstellen Wenn Sie sowohl Listen mit Namen der Aussteller als auch Listen mit SubjectDNs erstellen, werden sowohl die Namen der Aussteller als auch die SubjectDNs geprüft. Wenn der empfangene Name des SAML-Ausstellers oder SubjectDN des Unterzeichners nicht in den Listen der anerkannten Namen enthalten ist, scheitert die SAML-Validierung und eine Ausnahme wird ausgegeben.
Dieses Beispiel zeigt, wie eine Liste mit anerkannten Ausstellern und anerkannten SubjectDNs erstellt wird. Verwenden Sie für jeden Namen eines anerkannten Ausstellers "trustedIssuer_n", wobei n eine positive ganze Zahl ist. Verwenden Sie für jeden anerkannten SubjectDN "trustedSubjectDN_n", wobei n eine positive ganze Zahl ist. Wenn Sie beide Arten von Listen erstellen, muss die ganze Zahl n in beiden Listen für dieselbe SAML-Zusicherung identisch sein. Die ganze Zahl n beginnt bei 1 und steigt um jeweils 1.
In diesem Beispiel wird eine SAML-Zusicherung mit dem Ausstellernamen "WebSphere/samlissuer", unabhängig von dem SubjectDN des Unterzeichners. Daher wird die folgende angepasste Eigenschaft hinzugefügt:<properties value="WebSphere/samlissuer" name="trustedIssuer_1"/>
Außerdem wird eine von "IBM/samlissuer" ausgestellte SAML-Zusicherung anerkannt, wenn der SubjectDN des Unterzeichners "ou=websphere,o=ibm,c=us" ist. Daher werden die folgenden angepassten Eigenschaften hinzugefügt:<properties value="IBM/samlissuer" name="trustedIssuer_2"/> <properties value="ou=websphere,o=ibm,c=us" name="trustedSubjectDN_2"/>
- Klicken Sie auf Anwenden.
- Klicken Sie in der Navigation für diese Seite auf WS-Security.
- Konfigurieren Sie in den Providerbindungen
die allgemeine digitale Signatur.
- Konfigurieren Sie einen Zertifikatsspeicher.
- Klicken Sie auf Schlüssel und Zertifikate.
- Klicken Sie unter "Zertifikatsspeicher" auf Neu - eingehend... .
- Geben Sie Folgendes an:
- Name=providerCertStore
- Intermediate X.509 certificate=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer
- Klicken Sie auf OK.
- Konfigurieren Sie einen Trust-Anchor.
- Klicken Sie unter "Trust-Anchor" auf Neu... .
- Geben Sie Name=providerTrustAnchor an.
- Klicken Sie auf Externer Keystore, und geben Sie Folgendes an:
- Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
- Password=server
- Klicken Sie auf OK und klicken Sie anschließend in der Navigation für diese Seite auf WS-Security.
- Konfigurieren Sie den Signaturgenerator.
- Klicken Sie auf Authentifizierung und Zugriffsschutz > AsymmetricBindingRecipientSignatureToken0 (Signaturgenerator) und klicken Sie anschließend auf Anwenden.
- Klicken Sie auf Callback-Handler.
- Geben Sie Keystore=custom an.
- Klicken Sie auf
Konfiguration angepasster Keystores, und geben Sie Folgendes an:
- Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
- Keystore password=server
- Name=server
- Alias=soapprovider
- Password=server
- Klicken Sie auf OK, OK und erneut auf OK.
- Konfigurieren Sie den Signaturkonsumenten.
- Klicken Sie auf AsymmetricBindingInitiatorSignatureToken0 (Signaturkonsument) und klicken Sie anschließend auf Anwenden.
- Klicken Sie auf Callback-Handler.
- Klicken Sie unter "Zertifikate" auf die Schaltfläche
"Zertifikatsspeicher", und geben Sie Folgendes an:
- Zertifikatsspeicher=providerCertStore
- Trust-Anchor-Speicher=providerTrustAnchor
- Klicken Sie auf OK.
- Klicken Sie in der Navigation für diese Seite auf Authentifizierung und Zugriffschutz.
- Konfigurieren Sie die Signierdaten für die Anforderung.
- Klicken Sie auf request:app_signparts, und geben Sie Name=reqSignInf an.
- Klicken Sie auf Anwenden.
- Klicken Sie unter
"Signierschlüsseldaten" auf Neu, und geben Sie Folgendes an:
- Name=reqSignKeyInfo
- Name des Tokengenerators oder -Konsumenten=AsymmetricBindingInitiatorSignatureToken0
- Klicken Sie auf Anwenden.
- Klicken Sie unter "Signierschlüsseldaten" auf reqSignKeyinfo, und klicken Sie dann auf Hinzufügen.
- Klicken Sie unter "Referenz des Anforderungsnachrichtenabschnitts" auf request:app_signparts .
- Klicken Sie auf Bearbeiten.
- Klicken Sie unter "Umsetzungsalgorithmen" auf Neu, und geben Sie URL=http://www.w3.org/2001/10/xml-exc-c14n# an.
- Klicken Sie auf OK, OK und erneut auf OK.
- Konfigurieren Sie die Signierdaten für die Antwort.
- Klicken Sie auf response:app_signparts, und geben Sie Name=rspSignInfo an.
- Klicken Sie auf Anwenden.
- Klicken Sie unter
"Signierschlüsseldaten" auf Neu, und geben Sie Folgendes an:
- Name=rspSignKeyInfo
- Type=Security Token reference
- Name des Tokengenerators oder -Konsumenten=AsymmetricBindingRecipientSignatureToken0
- Klicken Sie auf OK und anschließend auf Anwenden.
- Wählen Sie unter "Referenz des Anforderungsnachrichtenabschnitts" response:app_signparts aus.
- Klicken Sie auf Bearbeiten.
- Klicken Sie unter "Umsetzungsalgorithmen" auf Neu.
- Geben Sie Folgendes an: URL=http://www.w3.org/2001/10/xml-exc-c14n#.
- Klicken Sie auf OK, OK und erneut auf OK.
- Konfigurieren Sie einen Zertifikatsspeicher.
- Konfigurieren Sie in den Providerbindungen
die digitale Signatur für das SAML-Token.
- Klicken Sie in der Navigation für diese Seite auf WS-Security, und klicken Sie dann auf Authentifizierung und Zugriffschutz.
- Ändern Sie die derzeit konfigurierten
Bindungen für signierte Nachrichtenabschnitte für eingehende Nachrichten
in der Weise, dass sie den neuen SAML-Abschnitt enthalten, den Sie erstellt haben.
Wählen Sie unter Zugriffsschutz durch Signatur und Verschlüsselung der Anforderungsnachricht die Referenz des Nachrichtenabschnitts mit dem Status Konfiguriert aus. Diese Komponentenreferenz ist wahrscheinlich request:app_signparts.
- Wählen Sie in der Liste Verfügbar unter "Referenz des Nachrichtenabschnitts" den Namen des zu signierenden Abschnitts aus, den Sie in Schritt 1 erstellt haben, z. B. SAML-Abschnitt.
- Klicken Sie auf Hinzufügen und anschließend auf Anwenden.
- Heben Sie in der Liste Zugewiesen unter "Referenz des Nachrichtenabschnitts" den Namen des Abschnitts hervor, den Sie hinzugefügt haben, z. B. SAML-Abschnitt.
- Klicken Sie auf Bearbeiten.
- Klicken Sie für die Einstellung Umsetzungsalgorithmen auf Neu.
- Wählen Sie http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform aus.
- Klicken Sie auf OK, OK und anschließend auf Anwenden.
- Klicken Sie auf Speichern.
- Optional: Sie können die Caller-Bindung so konfigurieren, dass
ein SAML-Token ausgewählt wird, das die Identität des Anforderers darstellt. Die WS-Security-Laufzeitumgebung verwendet die angegebene JAAS-Anmeldekonfiguration,
um mit dem SAML-Token "NameId" oder "NameIdentifier" als Benutzernamen
den Benutzersicherheitsnamen und die Gruppenzuordnungsdaten aus der Benutzerregistry abzurufen.
- Klicken Sie auf WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Provider > Saml Bearer Provider sample > WS-Security > Caller.
- Klicken Sie auf Neu, um die Caller-Konfiguration zu erstellen.
- Geben Sie einen Namen an, z. B. Caller.
- Geben Sie für Lokaler Abschnitt der Caller-Identität einen Wert ein,
Geben Sie für SAML-1.1-Token Folgendes ein:
http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1Geben Sie für SAML-2.0-Token Folgendes ein:
http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0 - Klicken Sie auf Anwenden und Speichern.
- Starten Sie die Web-Service-Provider-Anwendung erneut, damit die Änderungen in der Richtliniensatzzuordnung in Kraft treten.
Ergebnisse


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_configsamlsendervouches
Dateiname:twbs_configsamlsendervouches.html