WS-Security Policy — это спецификация веб-сервисов , созданная IBM и 12 соавторами, которая стала стандартом OASIS начиная с версии 1.2. Она расширяет основные протоколы безопасности, указанные в WS-Security , WS-Trust и WS-Secure Conversation , предлагая механизмы для представления возможностей и требований веб-сервисов в виде политик. Утверждения политики безопасности основаны на фреймворке WS-Policy .
Утверждения политики можно использовать для требования более общих атрибутов безопасности, таких как безопасность транспортного уровня <TransportBinding> , безопасность уровня сообщений <AsymmetricBinding> или временные метки, а также конкретных атрибутов, таких как типы токенов.
Большинство политических утверждений можно найти в следующих категориях:
Политики могут использоваться для управления инструментами разработки для генерации кода с определенными возможностями или могут использоваться во время выполнения для согласования аспектов безопасности связи веб-сервисов. Политики могут быть прикреплены к элементам WSDL, таким как служба, порт, операция и сообщение, как определено в приложении WS Policy Attachment. [1]
Пространства имен, используемые в следующих XML-фрагментах:
<p:Политика xmlns:p="http://www.w3.org/ns/ws-policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200802"> ...</p:Политика>
Включите временную метку:
<sp:IncludeTimestamp />
Используйте либо безопасность транспортного уровня (https), либо безопасность на уровне сообщений (XML Dsig/XML Enc):
<Точно один> <sp:Транспортная привязка>...</sp:Транспортная привязка> <sp:Асимметричное связывание>...</sp:Асимметричное связывание ></ТочноОдин>
Чтобы определить утверждение SAML как токен безопасности:
<sp:Выданный токен> <sp:RequestSecurityTokenTemplate> <wst:Тип маркера>...#SAMLV2.0</wst:Тип маркера> </sp:RequestSecurityTokenTemplate></sp:ВыданныйТокен>
Выпущено утверждение токенов поставщиков со ссылкой на STS и требуемый формат токенов:
<sp:Выданный токен> <sp:Эмитент> <wsa:EndpointReference> <wsa:Адрес>http://sampleorg.com/sts</wsa:Адрес> </wsa:EndpointReference> </sp:Эмитент> <sp:RequestSecurityTokenTemplate> <wst:Тип маркера> http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID </wst:ТипТокена> ... </sp:RequestSecurityTokenTemplate> ...</sp:ВыданныйТокен>
Укажите, что заголовок и текст сообщения должны быть подписаны, а вложения остаются неподписанными:
<sp:SignedParts xmlns:sp="..." ... > <sp:Тело />? <sp:Имя заголовка="Dx:NCName"? Пространство имен="Xd:anyURI" ... />*...</sp:ПодписанныеЧасти>
укажите, что лицензия с открытым исходным кодом сообщения должна быть подписана, а безопасность гидры остается неподписанной:
<sp:signedparts http:np="..."...><sp:Гидрасекьюрити />?<sp:Opensourcelicense Имя="Hs:NCName"? Пространство имен="Sh:anyURI" .../>*...</sp:ПодписанныеЧасти>
Термин «язык политики безопасности веб-сервисов» используется для двух различных языков на основе XML: