【SDN記事の紹介】Sun and Microsoft Interoperate for Web Authentication, Part 2(Sun Java System Access Manager and SharePoint Portal Server 2003)
Translate to English : (Yahoo!)/ (Google)/ (Microsoft)月曜日 7 30, 2007
こんにちは。ご無沙汰しております。お元気ですか?
私はすっかり夏バテです。。。
今日は、SDN(Sun Developer Network)の記事を紹介します。Sun and Microsoft Interoperate for Web Authentication, Part 2 (Sun Java System Access Manager and SharePoint Portal Server 2003)ってことで、SharePoing Portal Server と Access ManagerのSSO連携について解説しています。
ReplayPassword プラグインという、Post-Authentication プラグイン(ユーザがAccess Managerで認証された後に特定の処理をさせるためのプラグイン)を使っているのが特徴的です。
画面のキャプチャもありますし、
- When an access request arrives at the SharePoint application through IIS, the SharePoint Agent intercepts the request and redirects it to Access Manager for authentication.
- After successful authentication,
ReplayPasswdencrypts the password with the shared key and stores the encrypted data in the Access Manager session, whose ID is then set in a special cookie in the form of an SSO Token ID.- The SharePoint Agent retrieves the encrypted password from the SSO Token and decrypts the information with the shared key. That way, the SharePoint Agent has in its possession the original credentials, which it then encodes according to the Base64 encoding method and places in the Basic Authentication HTTP header of the original HTTP request.
- Now that the HTTP request has a valid Basic Authentication HTTP header, IIS does not prompt for authentication. Subsequently, the user is allowed access to the resource requested.
以下、kimimasa の超訳。
- IIS と通じて、SharePoint上のアプリケーションにアクセスリクエストが十立つすると、SharePoint Agent(Access Manager のエージェントです。)はリクエストをインターセプトして、ユーザに認証をさせるために Access Manager にリダイレクトします。(Access Manager の認証画面に飛びます。)
- 認証が成功すると,
ReplayPasswdプラグインはパスワードを共通鍵で暗号化して、暗号化されたデータを Access Managerセッションに格納します。Access Manager セッションのIDは、SSO Token ID 形式で、シングルサインオンに使用する Cookie 内に埋め込まれます。- SharePoint Agent は暗号化されたパスワードを取り出して、共通鍵で復号します。このようにして、SharePoint Agent は元々のパスワードを取得して、Base64 でエンコードし、元々のHTTPリクエストに Basic Authentication HTTP header(ベーシック認証用のヘッダー)を付加します。
- これで、HTTPリクエストは、有効な Basic Authentication header(ベーシック認証用のヘッダー)を持つことになり、IIS は認証の為のプロンプトを表示することはなくなります。 続いて、ユーザは要求したリソースへのアクセスを許可されます(元々目的としている Webページが表示されるってことです。)。
- 社内の Windows 系のアプリと Java系のアプリで SSO したい。
- Basic 認証はお手頃だけど、パスワードが簡単にデコードできる状態で何度もネットワークを流れるのはちょっと抵抗あるなー。
Access Managerを使ってシングルサインオン統合基盤環境を構築しましょう!!15分くらいで読める軽めのドキュメントですのでよろしければ、是非ご覧下さい。
_kimimasa










