https://blogs.oracle.com/owsm/entry/identity_propgation_for_rest_apis
以前のエントリで、OWSMがREST APIを保護するような機能が追加されたことを説明しました。これまでに、OWSMのRESTセキュリティサポートに関する質問や、REST APIでのSSOやID伝播の実現方法に関する質問をいくつかいただいています。
FMW PS6 (11.1.1.7.0) released!REST APIでのID伝播の実現方法を紹介する前に、REST APIを呼び出すことが可能な様々な種類のクライアントを識別することが有用かと考えます。クライアントは以下のように分類できます。
https://blogs.oracle.com/owsm/entry/fmw_ps6_11_1_1
http://orablogs-jp.blogspot.jp/2013/04/fmw-ps6-111170-released.html
- サーバー(Java EE REST) クライアント
これらを組み合わせる 標準的なRESTスタック(Jersey JAX-RS、JBoss REST Easyなど)を使って構築されたもの - ブラウザクライアント
- Thickクライアント(Outlookなど)
- Java SEクライアント(もしくはサーバーやブラウザ以外の環境で実行するクライアント)
- モバイルクライアント
JEE Clients - Server to Server communication
Server間のREST通信で、ID伝播をしたい場合、SAMLの使用をお勧めします。 OWSMは、SAML Bearer Tokenをサポートしています。OWSMは現在保護されたRESTクライアントをサポートしていませんが、RESTクライアントをプログラム的なモデルを使って構築し、OPSS Trust APIやOpenSAMLなどのようなライブラリを使って、必要なSAMLトークンを構築し、HTTPヘッダに注入することができます(下図。図をクリックすると拡大します)。以下のエントリをフォローされている方のために言えば、この写真はこのブログの記事で説明したように、SOAPの場合と非常に類似しています。
Identity Propagation across Web and Web Service - 11g唯一の違いは、OWSMエージェントはRESTクライアントの保護機能がないため、別のライブラリやツールキットを使う必要がある、という点です。
https://blogs.oracle.com/owsm/entry/identity_propagation_across_web_and
http://orablogs-jp.blogspot.jp/2012/06/identity-propagation-across-web-and-web.html
ブラウザベースのクライアントが呼び出すREST APIを保護する場合、2つのやり方があります。
- OAMのみを使う
- OAMをOWSMと組み合わせて使う
Identity Propagation vs. SSO
多くの人が同義として使っていますが、重要なのは、ID伝播とSSOは同じではないということです。(ユーザーのアイデンティティがアプリケーションで利用できるという点では)両者の正味の効果は同じですが、重要な違いがあります。ID伝播の場合、ログイン・ログアウトの概念がありません。つまり、基本的にWeb SSOセッションの概念がないということです。
REST APIを呼び出す様々なクライアントがあり、そのうちの一つがブラウザベースのクライアントである場合、OAMとOWSMはよりよい組み合わせです。
0 件のコメント:
コメントを投稿