在部署該範例之前,您必須已建立安全設定檔,如設定 Security Policy Enforcement Point (PEP) 範例中所述。在建立安全設定檔之後,您即可部署並執行該範例。
您可以利用下列輸入訊息來執行範例:
Security Policy Enforcement Point (PEP) 範例示範如何在 SecurityPEP 節點處,鑑別及授權輸入訊息中的使用者名稱及密碼身分。
<?xml version="1.0" encoding="UTF-8"?> <Envelope> <Body> <MessageIdentity> <Username>broker01</Username> <Password>password01</Password> <IssuedBy>Issuer1</IssuedBy> <DemonstrateTokenType>UP</DemonstrateTokenType> <Status>UPA1A2_Successful</Status> </MessageIdentity> </Body> </Envelope>
Security Policy Enforcement Point (PEP) 範例示範如何在 HTTPInput 節點處,鑑別輸入訊息中的使用者名稱及密碼身分,並將其對映至 SAML 2.0。
在訊息中,對映的 SAML 2.0 內容會轉遞至在另一個訊息流程中實作的服務,該流程包含用於呼叫 SAML 內容驗證的 SecurityPEP 節點。
<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>
Security Policy Enforcement Point (PEP) 範例示範如何處理由包含不明身分的輸入訊息所引起的安全故障。
<?xml version="1.0" encoding="UTF-8"?>
<Envelope>
<Body>
<MessageIdentity>
<Username>dummy_usr</Username>
<Password>password01</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>
如果您要延伸此範例以與安全信任伺服器(例如,TFIM 伺服器)互動,則必須先配置此範例以使用該伺服器。若要配置此範例以使用外部系統,請參閱延伸 Security Policy Enforcement Point (PEP) 範例。