WS-SecurityPolicy - WS-SecurityPolicy
WS-SecurityPolicy это веб-сервисы спецификация, созданная IBM и 12 соавторов, ставших ОАЗИС стандарт, начиная с версии 1.2. Он расширяет основные протоколы безопасности, указанные в WS-Безопасность, WS-Trust и WS-SecureConversation предлагая механизмы для представления возможностей и требований веб-служб в виде политик. Утверждения политики безопасности основаны на Фреймворк WS-Policy.
Утверждения политики могут использоваться для требования более общих атрибутов безопасности, таких как безопасность транспортного уровня. <TransportBinding>, безопасность на уровне сообщений <AsymmetricBinding> или отметки времени, и определенные атрибуты, такие как типы токенов.
Большинство утверждений политики можно найти в следующих категориях:
- Утверждения защиты идентифицируют элементы сообщения, которые должны быть подписаны, зашифрованы или существовать.
- Утверждения токенов определяют разрешенные форматы токенов (SAML, X509, имя пользователя и т. Д.).
- Утверждения привязки безопасности управляют основными мерами безопасности, такими как безопасность на уровне транспорта и сообщений, набор криптографических алгоритмов и требуемые временные метки.
- Поддержка утверждений токена добавляет такие функции, как вход пользователя в систему с использованием токена имени пользователя.
Политики могут использоваться для управления инструментами разработки для генерации кода с определенными возможностями или могут использоваться во время выполнения для согласования аспектов безопасности связи веб-служб. Политики могут быть прикреплены к WSDL такие элементы, как служба, порт, операция и сообщение, как определено во вложении политики WS.[1]
Образцы политик
Пространства имен, используемые следующими 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>
Включите отметку времени:
<sp:IncludeTimestamp />
Используйте безопасность на транспортном уровне (https) или на уровне сообщений (XML Dsig / XML Enc):
<ExactlyOne> <sp:TransportBinding>...</sp:TransportBinding> <sp:AsymmetricBinding>...</sp:AsymmetricBinding ></ExactlyOne>
Чтобы определить утверждение SAML как маркер безопасности:
<sp:IssuedToken> <sp:RequestSecurityTokenTemplate> <wst:TokenType>...#SAMLV2.0</wst:TokenType> </sp:RequestSecurityTokenTemplate></sp:IssuedToken>
Утверждение выданного токена поставщиками со ссылкой на STS и требуемый формат токена:
<sp:IssuedToken> <sp:Issuer> <wsa:EndpointReference> <wsa:Address>http://sampleorg.com/sts</wsa:Address> </wsa:EndpointReference> </sp:Issuer> <sp:RequestSecurityTokenTemplate> <wst:TokenType> http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID </wst:TokenType> ... </sp:RequestSecurityTokenTemplate> ...</sp:IssuedToken>
Укажите, что заголовок и тело сообщения должны быть подписаны, а вложения не должны быть подписаны:
<sp:SignedParts xmlns:sp="..." ... > <sp:Body />? <sp:Header Name="Dx:NCName"? Namespace="Xd:anyURI" ... />*...</sp:SignedParts>
Сообщите, что лицензия с открытым исходным кодом сообщения должна быть подписана, а безопасность Hydra не подписана:
<sp:signedparts http:np="..."...><sp:Hydrasecurity />?<sp:Opensourcelicense Name="Hs:NCName"? Namespace="Sh:anyURI" .../>*...</sp:SignedParts>
Другие языки политик WS
Период, термин Язык политики безопасности веб-служб используется для двух разных языков на основе XML:
- Как описано выше, на основе структуры WS-Policy, определенной в,[2] опубликовано как версия 1.3 в феврале 2009 г.
- WSPL на основе XACML-профиль для Web-сервисов, но это не было завершено.[3]
Смотрите также
Рекомендации
- ^ http://www.w3.org/TR/ws-policy-attach/ WS-Policy - Приложение
- ^ 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 Примеры использования и требования языка политик веб-сервисов (черновик)