第 4 章
シングルサインオンの実装
シングルサインオンを使用すると、エンドユーザーは 1 回認証を受ければ、もう一度認証を受けなくても複数のアプリケーションを使用できます。シングルサインオンがメールアプリケーションで有効になっている場合、たとえば Communications Express にログインすると、もう一度認証を受けなくてもメールアプリケーションを使用できます。シングルサインオンは、Identity Server があってもなくても実行できます。
|
注
|
カレンダーとメール、およびアドレス帳とメールユーザーインタフェースとの間の相互運用性を実現するために、Messenger Express または Messenger Express Multiplexor (MEM) と、Communications Express は同じホストに配備されなければなりません。アプリケーションが別のホストに配備されると、セキュリティ上の理由から、ブラウザはアプリケーション間の相互運用を許可しません。
|
|
この章には、以下の節があります。
Identity Server を使用したシングルサインオンの設定
以下の節では、Communications Express を Identity Server のシングルサインオンで設定し、使用する方法について説明します。
Communications Express で Identity Server によるシングルサインオンを有効にする
Communications Express が Identity Server で配備されると、Identity Server のシングルサインオンメカニズムを認証に使用します。表 4-1 に示すすべてのパラメータは、設定ウィザードが呼び出されると設定されます。パラメータの設定中は、表 4-1 に示すガイドラインに従ってください。
|
注
|
- uwcauth.identity.binddn および uwcauth.identity.bindcred の値は、Identity Server のインストール時に入力した値に対応していなければなりません。
たとえば uwcauth.identity.binddn=uid=amAdmin, ou=People, o=siroe.example.com, o=example.com and uwcauth.identity.bindcred=password などです。
- uwcauth.identity.binddn および uwcauth.identity.bindcred の値は必ず割り当ててください。
- バグ番号 4920222 が解決するまで、 Identity Server 関連の jar ファイル (<UWC-deployed-path>/ WEB-INF/lib の am_sdk.jar and am_services.jar) は一時ディレクトリに移動する必要があります。
|
|
Identity Server SSO を操作できるようにするには、uwcauth.properties ファイルにある Communications Express 固有のパラメータ (表 4-1) を変更します。
表 4-1 UWC 固有のパラメータを設定し、Identity Server セッションを使用して Messenger Express にアクセスする
パラメータ
|
デフォルト値
|
目的
|
uwcauth.identity.enabled
|
true
|
Identity Server が使用可能かどうかを指定する
Identity Server が使用可能になると、この属性が「true」になる
|
uwcauth.identity.login.url
|
|
Identity Server の SSO を使用可能にする設定変数を指定する。このパラメータは Identity Server がネーミングサービスを実行する URL を示す
uwcauth.identity.login.url=http://siroe.example.com:85/amserver/UI/login など
|
uwcauth.identity.cookiename
|
iPlanetDirectoryPro
|
Identity Server で使用する Cookie 名を指定する
uwcauth.identity.cookiename の値は、Identity Server に設定した値に対応する
|
uwcauth.identity.binddn
|
amAdmin のバインド DN
|
amAdmin の完全な DN を指定する
例
uid=amAdmin, ou=People, o=siroe.example.com, o=example.com
|
uwcauth.identity.bindcred
|
amAdminBindCred
|
amAdmin のパスワードを指定する
|
uwcauth.http.port
|
80
|
Communications Express が非 SSL ポート上に設定されたときに、Communications Express が待機するポート番号を指定する
|
uwcauth.https.port
|
443
|
Communications Express が Web Server 上に設定されたときに、Communications Express が待機する https ポート番号を指定する
|
Messaging Express で Identity Server によるシングルサインオンを有効にする
管理者として、msg-svr_install_root/sbin/configutil ツールを使用して、表 4-2 に一覧表示されているパラメータを設定できます。インストーラはこれらのパラメータを設定するため、これらのパラメータはインストールしたあとで明示的に設定する必要があります。
configutil ツールの詳細については、http://docs.sun.com/db/prod/entsys?l=ja にある『Sun Java System Messaging Server 管理ガイド』の第 3 章「一般的なメッセージング機能を設定する」を参照してください。
UWC ユーザーが Identity Server セッションを使用して Messenger Express にアクセスできるように、Sun Java System Messaging Server 設定にリストされた Messenger Express 固有のパラメータを変更できます。
表 4-2 UWC ユーザーが Identity Server セッションを使用して Messenger Express にアクセスできるように Messaging Server 設定の Messenger Express 固有のパラメータを設定する
パラメータ
|
例
|
目的
|
local.webmail.sso.amnamingurl
|
|
Identity Server の SSO を有効にする
変数は Identity Server がネーミングサービスを実行する URL を示す。
例
configutil -o local. webmail.sso.amnamingurl -v http://siroe.example.com:85/amserver/namingservice
|
local.webmail.sso.uwcenabled
|
1
|
UWC ユーザが Messenger Express にアクセスできるようにする
|
local.webmail.sso.uwclogouturl
|
http://siroe.example.com:85/base/UWCmain?op=logout
Communications Express が /uwc などルート以外の URI に配備された場合は、このパラメータの値は
http://siroe.example.com:85/uwc/base/UWCmain?op=logout
|
Messenger Express が UWC セッションを無効にする URL を指定する
|
local.webmail.sso.uwcport
|
85
|
UWC の HTTP ポートを指定する
|
local.webmail.sso.uwccontexturi
|
uwc
|
UWC が配備されるパスを指定する
UWC がルート以外の URI に配備される場合だけ、このパラメータを指定する。たとえば UWC が /uwc に配備される場合は、local.webmail.sso.uwccontexturi=uwc
|
local.webmail.sso.amcookiename
|
iPlanetDirectoryPro
|
Identity Server セッション Cookie を指定する
uwcauth.properties ファイルで、uwcauth.appprefix の値が local.webmail.sso.amcookiename の値に設定されているようにすること
|
local.webmail.sso.uwchome
|
|
「マストヘッド」のホームリンクへアクセスするのに必要な URL を指定する
|
UWC と Identity Server SSO との動作方法
- Identity Server が使用可能な場合、認証は Identity Server によって実行され、uwcauth.identity.cookiename in uwcauth.properties ファイルで指定した名前で Cookie が設定されます。
- Communications Express は、Identity Server SDK を使用して Identity Server ネーミング URL に要求を送信し、Cookie の有効性を検査します。Identity Server ネーミング URL は、以下の形式の値のキーから生成されます。
<protocol>://<host>:<port>/<content URI>
たとえば http://siroe.example.com:/amserver
たとえば http://siroe.com:80/amserver
- クレデンシャルの検査に成功すると、UWC は、ユーザー ID と組織 DN を SSO SDK から受け取ります。
- UWC はそのユーザーに使用できるサービスを検査し、ローカルセッションを作成します。
- Identity Server セッションがタイムアウトするか、ユーザーがログアウトして削除された場合は、UWC セッションは無効になり、UWC ログインページへリダイレクトされます。
Messaging SSO を使用したシングルサインオンの設定
この節では、Communications Express を Messaging Server のシングルサインオンで設定し、使用する方法について説明します。設定ウィザードでは、SSO 関連の必須パラメータを何も設定しません。以下で説明する 1 番目と 2 番目の節で説明するように、必須パラメータは手作業で設定する必要があります。
Messaging SSO を使用して Communications Express を使用可能にする
uwcauth.properties ファイルにあるメール固有のパラメータ (表 4-3) を変更して、Communications Express ユーザーが Messaging SSO を使用して Messenger Express にアクセスできるようにします。
表 4-3 uwcauth.properties ファイルでの メール固有パラメータの設定
パラメータ
|
デフォルト値
|
目的
|
uwcauth.sessioncookie
|
JSESSIONID
|
サーブレットコンテナがセッションを追跡するために使用する Cookie の名前を指定する
|
uwcauth.appprefix
|
|
ホストアプリケーションのプレフィックスを指定する
このプレフィックスは、シングルサインオン中に、ほかの信頼されるアプリケーションが生成した Cookie を探すために使用される
配備に Messaging SSO を使用する場合、この属性はメッセージ設定中に設定された local.webmail.sso.prefix の値を割り当てられなければならない
|
uwcauth.appid
|
uwc
|
ホストアプリケーションの一意なアプリケーション ID を含む Cookie 名を指定する
|
uwcauth.cookiedomain
|
|
シングルサインオン Cookie の一部として保存されたドメイン名を指定する
「.example.com」のように、ピリオド (.) から始まる必要がある。この例では、完全指定ホスト名は siroe.example.com
|
uwcauth.messagingsso.enable
|
true
|
Messaging によるすべてのシングルサインオン機能を有効または無効にする
このパラメータを「true」に設定すると、シングルサインオンが有効になり、「false」に設定すると、シングルサインオンが無効になる
|
uwcauth.messagingsso.cookiepath
|
/
|
シングルサインオン Cookie の一部として保存されたドメインまたはパスを指定する
|
uwcauth.messagingsso.singlesignoff
|
true
|
「true」に設定されると、UWC と Messenger Express の両方のセッションが無効になり、ユーザーはログインページにリダイレクトされる。設定されない場合は、Messenger Express セッションだけが無効になる
|
messagingsso.xxx.url
|
http://servername/ VerifySSO?
|
SSO Cookie を検査するために使用する URL を指定する
xxx の値は、サーバーのアプリケーション ID で置き換える必要がある
たとえばアプリケーション ID が「msg60」である Messaging Server で SSO を有効にする場合、以下の設定パラメータを追加する必要がある
mesagingsso.msg60.url=http://servername/VerifySSO?
ここで xxx の値は、Messenger Express で local.webmail.sso.id に割り当てた値と同一でなければならない
|
messagingsso.uwc.url
|
http://servername:85/VerifySSO?
Communications Express が /uwc などルート以外の URI に配備された場合は、このパラメータのデフォルト値は
http://servername:85/uwc/VerifySSO?
|
UWC サーバーの検査 URL を指定する
このサーバーの uwcauth.appid の値を編集した場合は、messagingsso.uwc.url 内の uwc を新規の uwcauth.appid で置き換える
|
messagingsso.appid
|
ims
|
UWC はこの Cookie を使用して、ログアウト要求を Messenger Express に発行するかどうか決定する
messagingsso.appid の値は、メッセージングの設定中に設定された local.webmail.sso.id の値と同じでなければならない
|
Messaging SSO を使用して Messaging Server を使用可能にする
configutil ユーティリティ (msg-svr_install_root/sbin/configutil) を使用してメール固有のパラメータ (表 4-4) を変更して、UWC ユーザーが Messaging SSO を使用して Messenger Express にアクセスできるようにします。
表 4-4 UWC ユーザーが Messaging SSO を使用して Messenger Express にアクセスできるように、Messaging Server 設定の Messenger Express パラメータを設定する
パラメータ
|
例
|
目的
|
local.sso.<uwc-appid>.verifyurl
|
http://siroe.example.com:85/VerifySSO?
Communications Express が /uwc などルート以外の URI に配備された場合は、このパラメータのデフォルト値は
http://siroe.example.com:85/uwc/VerifySSO?
|
UWC で Cookie を検査するために Messenger Express が使用する URL を指定する
<uwc-appid> の値は、uwcauth.properties ファイルで指定された appid の値に対応していなければならない
|
local.webmail.sso.cookiedomain
|
.example.com
|
このパラメータの文字列値は、Messenger Express HTTP サーバーが、すべての SSO Cookie の Cookie ドメイン値を設定するために使用する
「.example.com」のように、ピリオド (.) から始まる必要がある。この例では、完全指定ホスト名は siroe.example.com
このパラメータに指定した値は、uwcauth.cookiedomain で入力した値と同じでなければならない
|
local.webmail.sso.enable
|
1
|
Messaging SSO によるすべてのシングルサインオン機能を有効または無効にする
|
local.webmail.sso.ims.verifyurl
|
http://siroe.example.com/VerifySSO?
ここで、Webmail がポート 80 に配備されているとする
|
SSO Cookie を検査するために使用する URL を指定する
|
local.webmail.sso.prefix
|
|
SSO のためにほかの信頼されるアプリケーションが生成した Cookie を探すために、使用されるホストアプリケーションのプレフィックスを指定する
この値は、uwcauth.appprefix で入力した値に対応していなければならない
|
local.webmail.sso.singlesignoff
|
1
|
true に設定するとサーバーは、ユーザーのログアウト時にそのユーザーのシングルサインオン Cookie のうち、sso.apprefix の値に一致するすべてを削除する
false に設定すると、サーバーはそのシングルサインオンユーザーの Cookie だけを削除する
|
local.webmail.sso.uwcenabled
|
1
|
UWC ユーザーが Messenger Express にアクセスできるようにする。またはアクセスを無効にする
|
local.webmail.sso.uwclogouturl
|
http://siroe.example.com:85/base/UWCMain?op=logout
Communications Express が /uwc などルート以外の URI に配備された場合は、このパラメータのデフォルト値は
http://siroe.example.com:85/uwc/base/UWCMain?op=logout
|
Messenger Express が UWC セッションを無効にする URL を指定する
|
local.webmail.sso.uwcport
|
85
|
UWC の HTTP ポートを指定する
|
local.webmail.sso.uwccontexturi
|
uwc
|
UWC が配備されるパスを指定する
UWC がルート以外の URI に配備される場合だけ、このパラメータを指定する。たとえば UWC が「/uwc」に配備される場合は、local.webmail.sso.uwccontexturi=uwc
|
local.webmail.sso.uwchome
|
http://www.sun.com
|
「マスト」ヘッダーのホームリンクへアクセスするのに必要な URL を指定します。
|
Communications Express が Messaging SSO を操作する方法
図 4-1 Messaging SSO を使用したシングルサインオンの設定
ユーザーが Communications Express にログインすると、統合 Web クライアントがユーザーを認証し、セッションの Cookie をブラウザに保持します。このセッションの Cookie 名は、以下の形式になります。
uwcauth.appprefix + "-" + uwcauth.appid.
Messenger Express で SSO が使用可能で、Messenger Express が UWC からアクセスされるとき、
- Messenger Express は local.webmail.sso.prefix で設定された値で始まる名前の Cookie すべてを受け取ります。UWC appid を含む Cookie が選択されて、検査されます。
- Messenger Express は、パラメータ local.webmail.sso.uwccontexturi および local.webmail.sso.uwcport を使用して、適切な UWC URL を作成します。
uwcport は、Communications Express が配備されるポートです。
たとえば UWC および Messenger Express が siroe.varrius.com に配備される場合、Messenger Express は以下の形式の URL 文字列を作成します。
http(s)://siroe.varrius.com:local.webmail.sso.uwcport/local.webmail.sso.uwccontexturi
- Messenger Express は、local.sso.uwc.verifyurl に検査要求を送信して、UWC で Cookie の値を確認します。
- UWC がユーザークレデンシャルの認証後、Messenger Express は、ユーザー ID およびドメイン情報を受け取ります。
- Messenger Express はローカルセッションを作成し、そのユーザーのメールボックスを表示します。
- ユーザーがログアウトをクリックすると、ログアウト要求が Messenger Express に送られて、Messenger Express セッションが無効になります。Messenger Express セッションを無効にした後、ユーザーを Communications Express のログアウト URL にリダイレクトします。Communications Express ではセッションを無効にし、ユーザーをログインページにリダイレクトします。
Identity Server SSO および Messaging SSO の両方に共通するパラメータの設定
|
注
|
Communications Express および Messaging SSO では、同じプロトコル (http または https) を使用して配備されなければなりません。
|
|
uwcconfig.properties ファイル内で共通する UWC 固有パラメータを表 4-5 にリストします。Communications Express の設定時にこれらのパラメータが設定されます。
表 4-5 Communications Express の設定時に設定される共通の UWC 固有パラメータ
パラメータ
|
例
|
説明
|
mail.deployed
|
true
|
UWC でのメールアクセスを有効または無効にする
Messenger Express が配備されると、この属性が「true」になる
|
webmail.host
|
siroe.example.com
|
Messenger Express (または MEM) のホスト名を指定する Messenger Express のホスト名は、UWC のホスト名と対応していなければならない
|
webmail.port
|
80
|
Messenger Express が実行しているポート番号を指定する
|
Communications Express 内で Messenger Express にアクセスする
Communications Express では、以下の順序で LDAP 属性の値を基に、ユーザーに「メール」タブを表示するかどうかを決定します。
mailDeployed (appl level) -> inetDomainStatus(domain level) -> mailDomainStatus(domain level) -> inetUserStatus(user level) -> mailUserStatus(user level)
LDAP 属性の詳細については、『Sun Java System Communications Services 6 Schema Reference Guide』を参照してください。