8

初めて SAML 対応の SOAP サービスを実装しようとしていますが、SAML 実装における Secure Token Service (STS) の役割に関して概念的な質問があります。

ユーザー ---> Web アプリケーション ---SOAP/SAML --> メッセージング アプリケーション

基本的なシナリオは、ユーザーが自分のユーザー名とパスワードを使用して Web アプリケーションにログインし、Web アプリケーションが外部サービスを使用してユーザーを認証および承認し、認証/承認が成功すると、Web アプリケーションがユーザーとして Sender Vouches SAML アサーションを作成することです。サブジェクトは、秘密鍵でアサーションに署名し、WS-S を使用してアサーションを SOAP エンベロープにパッケージ化し、メッセージング アプリケーションへの SOAP 呼び出しを行います。メッセージング アプリケーションが要求を受信すると、Web アプリケーションの公開鍵を使用して署名を検証し、SAML アサーションから認証ステートメントと属性ステートメントを取り出し、それらに基づいてエンド ポイントで認証ポリシーを適用します。

上記のシナリオでわかるように、外部 STS は関与していませんでしたが、SAML について読んだ文献のほとんどは、STS が絶対に必要であることを示唆しています。私が持っている質問は、STS が絶対に必要な理由が見当たらないので、上記のシナリオで何か間違ったことをしているということです。確かに STS があればいいのですが、少なくとも私の意見では、STS がなくても自分のユース ケースに SAML を実装することをやめることはできません。

4

2 に答える 2

21

いいえ、Web サービスの SAML トークンに STS は必要ありません。STS は 1 つのトークン (「トークン」にはユーザー名 + パスワードなどを含む) を別のトークンと交換するため、Web サービス コンシューマーが入力トークン (通常はユーザー名 + パスワードまたは署名 + X.509 証明書を簡単に使用するため) を送信できるという点で便利です。ケース) を STS に送信し、SAML アサーションを取得する準備が整いました。

Web サービス プロバイダーによって受け入れられる SAML トークンを作成する機能がある場合は、ぜひお試しください。STS は必要ありません。ネットワーク上の実際の SOAP メッセージは、作成に STS が関与しているかどうかに関係なく同一です。

私は数年前にいくつかのブログエントリを書きました。

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

SAML で保護された SOAP メッセージの構造

Sun Access Manager 7.1 はOpenAMに取って代わられましたが、原則は同じままです。特に、2 番目のエントリは実際の製品とは無関係です。

于 2009-01-28T07:07:42.487 に答える
0

オープン ソースの SAML ツールキットのいずれかを利用できます。アプリケーションが Java で記述されていて、JBoss または Weblogic で実行している場合、SAML サポートが組み込まれています。

于 2009-04-18T21:35:31.947 に答える