WS-SecurityPolicy
WS-SecurityPolicy to specyfikacja usług sieciowych , stworzona przez IBM i 12 współautorów, która od wersji 1.2 stała się standardem OASIS . Rozszerza podstawowe protokoły bezpieczeństwa określone przez WS-Security , WS-Trust i WS-SecureConversation, oferując mechanizmy reprezentujące możliwości i wymagania usług sieciowych jako zasady. Asercje polityki bezpieczeństwa są oparte na strukturze WS-Policy .
Potwierdzeń zasad można używać do wymagania bardziej ogólnych atrybutów zabezpieczeń, takich jak zabezpieczenia warstwy transportowej <TransportBinding> , zabezpieczenia na poziomie komunikatów <AsymmetricBinding> lub sygnatury czasowe oraz określone atrybuty, takie jak typy tokenów.
Większość twierdzeń politycznych można znaleźć w następujących kategoriach:
- Potwierdzenia ochrony identyfikują elementy wiadomości, które muszą być podpisane, zaszyfrowane lub istnieć.
- Asercje tokenów określają dozwolone formaty tokenów (SAML, X509, nazwa użytkownika itp.).
- Potwierdzenia powiązań bezpieczeństwa kontrolują podstawowe zabezpieczenia, takie jak zabezpieczenia na poziomie transportu i komunikatów, zestaw algorytmów kryptograficznych i wymagane znaczniki czasu.
- Obsługa asercji tokenów dodaje funkcje, takie jak logowanie użytkownika przy użyciu tokenu nazwy użytkownika.
Zasady mogą być używane do kierowania narzędziami programistycznymi do generowania kodu z określonymi możliwościami lub mogą być używane w czasie wykonywania do negocjowania aspektów bezpieczeństwa komunikacji usługi sieciowej. Zasady mogą być dołączone do WSDL , takich jak usługa, port, operacja i komunikat, zgodnie z definicją w Załączniku zasad WS.
Przykładowe zasady
Przestrzenie nazw używane przez następujące fragmenty kodu XML:
<p:Policy xmlns:p="http://www.w3.org/ns/ws-policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200802"> ...</p:Policy>
Dołącz znacznik czasu:
<sp:IncludeTimestamp />
Użyj zabezpieczeń warstwy transportowej (https) lub zabezpieczeń na poziomie wiadomości (XML Dsig/XML Enc):
<ExactlyOne><sp:TransportBinding><i>...</i> <b>...</b></sp:TransportBinding><sp:AsymmetricBinding> <i>...</i> <b>...</b></sp:AsymmetricBinding ></ExactlyOne>
Aby zdefiniować asercję SAML jako token bezpieczeństwa:
<sp:IssuedToken><sp:RequestSecurityTokenTemplate><wst:TokenType>...#SAMLV2.0</wst:TokenType></sp:RequestSecurityTokenTemplate></sp:IssuedToken>
Wydane potwierdzenie tokena dostawców w odniesieniu do STS i wymaganego formatu tokena:
<sp:IssuedToken><sp:Issuer><wsa:EndpointReference><wsa:Address><i>http://sampleorg.com/sts</i> <b>http://sampleorg.com/sts</b></wsa:Address></wsa:EndpointReference></sp:Issuer><sp:RequestSecurityTokenTemplate><wst:TokenType> <i>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID</i> <b>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID</b></wst:TokenType> <i>...</i> <b>...</b></sp:RequestSecurityTokenTemplate> <i>...</i> <b>...</b></sp:IssuedToken>
Określ, że nagłówek i treść wiadomości mają być podpisane, a załączniki mają pozostać niepodpisane:
<sp:SignedParts xmlns:sp="..." ... ><sp:Body /><i>?</i> <b>?</b><sp:Header Name="Dx:NCName"? Namespace="Xd:anyURI" ... /> <i>* ...</i> <b>* ...</b></sp:SignedParts>
określ, że wiadomość ma zostać podpisana licencja open source, a zabezpieczenia hydra mają pozostać niepodpisane:
<sp:signedparts http:np="..."...><sp:Hydrasecurity /><i>?</i> <b>?</b><sp:Opensourcelicense Name="Hs:NCName"? Namespace="Sh:anyURI" .../> <i>* ...</i> <b>* ...</b></sp:SignedParts>
Inne języki zasad WS
Termin Język zasad zabezpieczeń usług sieci Web jest używany w odniesieniu do dwóch różnych języków opartych na XML:
- Jak opisano powyżej, w oparciu o strukturę WS-Policy, zgodnie z definicją w, opublikowaną jako wersja 1.3 w lutym 2009 r.
- WSPL, oparty na profilu XACML dla usług sieciowych , ale nie został sfinalizowany.
Zobacz też
- ^ http://www.w3.org/TR/ws-policy-attach/ WS-Policy - Załącznik
- ^ http://www.oasis-open.org/specs/index.php#ws-secpol WS-SecurityPolicy
- ^ http://www.oasis-open.org/committees/download.php/1608/wd-xacml-wspl-use-cases-04.pdf Przypadki użycia i wymagania dotyczące zasad usług internetowych (wersja robocza)