Нужно ли нам обязательно STS для SAML? - PullRequest
8 голосов
/ 27 января 2009

Я пытаюсь реализовать службы SOAP с поддержкой SAML, и у меня есть несколько концептуальных вопросов, касающихся роли службы Secure Token (STS) в реализации SAML.

Пользователь ---> Веб-приложение --- SOAP / SAML -> Приложение обмена сообщениями

В основном сценарий состоит в том, что пользователь входит в веб-приложение, используя свое имя пользователя и пароль, веб-приложение, в свою очередь, проверяет подлинность и авторизует пользователя с помощью внешней службы, при успешной аутентификации / авторизации веб-приложение создает утверждение SAML отправителя Vouches с пользователем в качестве субъекта, подписывает утверждение своим закрытым ключом, упаковывает утверждение в мыльный конверт с использованием WS-S и выполняет SOAP-вызов для приложения обмена сообщениями. Как только приложение обмена сообщениями получает запрос, оно проверяет подпись с помощью открытого ключа веб-приложения, извлекает операторы аутентификации и атрибутов из утверждения SAML и на их основе применяет политику аутентификации в конечной точке.

Как вы можете видеть в приведенном выше сценарии, внешние STS не использовались, однако большая часть литературы, которую я читал по SAML, предполагает, что STS абсолютно необходима. Вопрос, который у меня возникает, заключается в том, что я делаю что-то не так с вышеописанным сценарием, так как не вижу причин, по которым мне абсолютно необходима STS. Конечно, было бы неплохо иметь STS, но, по крайней мере, на мой взгляд, его отсутствие не мешает мне реализовать SAML для моего варианта использования.

Ответы [ 2 ]

21 голосов
/ 28 января 2009

Нет, вам не нужен STS для токенов SAML в веб-сервисах. Служба STS обменивает один токен (где «токен» включает в себя такие вещи, как имя пользователя + пароль) на другой, поэтому полезно, чтобы потребитель веб-службы мог отправить некоторый входной токен (обычно имя пользователя + пароль или подпись + сертификат X.509 для простого использования случаев) в STS и верните утверждение SAML, все готово к работе.

Теперь, если у вас есть возможность создавать токены SAML, которые будут приниматься вашим провайдером веб-услуг, имейте это в виду! STS не требуется - фактическое сообщение SOAP на проводе идентично независимо от того, участвовал ли STS в его создании.

Несколько лет назад я написал пару записей в блоге, в которых подробно излагаются некоторые из них:

Access Manager 7.1 Beta в Java EE Tools / NetBeans 5.5 Enterprise Pack

Анатомия сообщения SOAP с защитой SAML

Sun Access Manager 7.1 был заменен OpenAM , но принципы остались прежними. В частности, вторая запись не зависит от какого-либо фактического продукта.

0 голосов
/ 19 апреля 2009

Вы можете использовать любой набор инструментов SAML с открытым исходным кодом. Если ваше приложение написано на Java, и вы работаете на JBoss или Weblogic, поддержка SAML встроена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...