Bevor Sie den Mustercode implementieren können, müssen Sie die Sicherheitsprofile erstellen, wie unter Mustercode 'Security Policy Enforcement Point (PEP)' konfigurieren beschrieben. Nachdem die Sicherheitsprofile erstellt wurden, können Sie den Mustercode implementieren und ausführen.
Sie können den Mustercode mit den folgenden Eingabenachrichten ausführen:
Der Mustercode 'Security Policy Enforcement Point (PEP)' zeigt, wie die Identität eines Benutzernamens und Kennworts in der Eingabenachricht an einem SecurityPEP-Knoten authentifiziert und autorisiert wird.
<?xml version="1.0" encoding="UTF-8"?> <Envelope> <Body> <MessageIdentity> <Username>broker01</Username> <Password>passw0rd01</Password> <IssuedBy>Issuer1</IssuedBy> <DemonstrateTokenType>UP</DemonstrateTokenType> <Status>UPA1A2_Successful</Status> </MessageIdentity> </Body> </Envelope>
Der Mustercode 'Security Policy Enforcement Point (PEP)' zeigt, wie die Identität eines Benutzernamens und Kennworts in der Eingabenachricht an einem HTTPInput-Knoten authentifiziert und autorisiert und SAML 2.0 zugeordnet wird.
In einer Nachricht wird der zugeordnete SAML 2.0-Inhalt an einen Service weitergeleitet, der in einem anderen Nachrichtenfluss implementiert ist. Dieser enthält einen SecurityPEP-Knoten, der die Auswertung des SAML-Inhalts aufruft.
<SAML> <Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="Assertion-uuidfb27f9fa-0127-1712-b05a-9d8ed95980ec" IssueInstant="2010-04-14T07:10:53Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"> UsernamePasswordToSAML2.0 </saml:Issuer> <saml:Subject> <saml:NameID>NewPwd1</saml:NameID> </saml:Subject> <saml:Conditions NotBefore="2010-04-14T07:00:53Z" NotOnOrAfter="2010-04-15T07:10:53Z"> <saml:AudienceRestriction> <saml:Audience>PEP_UP2SAML2</saml:Audience> </saml:AudienceRestriction> </saml:Conditions> <saml:AuthnStatement AuthnInstant="2010-04-14T07:10:53Z"> <saml:AuthnContext> <saml:AuthnContextClassRef> urn:oasis:names:tc:SAML:2.0:ac:classes:Password </saml:AuthnContextClassRef> </saml:AuthnContext> </saml:AuthnStatement> <saml:AttributeStatement> <saml:Attribute Name="FirstName"> <saml:AttributeValue xsi:type="xs:string"> FirstNameHere </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="Surname"> <saml:AttributeValue xsi:type="xs:string"> SurnameHere </saml:AttributeValue> </saml:Attribute> </saml:AttributeStatement> </Assertion> <Status>SAMLA1 Successful</Status> </SAML>
Der Mustercode 'Security Policy Enforcement Point (PEP)' zeigt den Umgang mit einem Sicherheitsfehler, der durch eine unbekannte Identität innerhalb der Eingabenachricht verursacht wird.
<?xml version="1.0" encoding="UTF-8"?> <Envelope> <Body> <MessageIdentity> <Username>dummy_usr</Username> <Password>passw0rd01</Password> <IssuedBy>Issuer1</IssuedBy> <DemonstrateTokenType>UP</DemonstrateTokenType> <Status>A1_Failed</Status> <Response>[{http://docs.oasis-open.org/ws-sx/ws-trust/200512} FailedAuthentication]--Dummy_STS: An unknown user name was presented.</Response> </MessageIdentity> </Body> </Envelope>
Wenn Sie den Mustercode für die Interaktion mit Ihrem Sicherheits-Trust-Server (z. B. einem TFIM-Server) erweitern möchten, müssen Sie den Mustercode zunächst für die Verwendung des entsprechenden Servers konfigurieren. Informationen zur Konfiguration des Mustercodes für die Verwendung eines externen Systems finden Sie im Abschnitt Mustercode 'Security Policy Enforcement Point (PEP)' erweitern.