Sun Java System Instant Messaging 7.2 管理ガイド

第 5 章 Instant Messaging のシングルサインオン (SSO) の有効化

シングルサインオンとは、エンドユーザーが認証 (つまりユーザー ID とパスワードによるログイン) を一度行うと複数のアプリケーションにアクセスできるようになることです。Sun JavaTM System Access Manager は、Sun Java System サーバーの SSO 用として使用される、公式のゲートウェイです。つまり、Access Manager にログインしないと、SSO 用に設定されたほかのサーバーにアクセスできません。

たとえば、適切に設定されている場合、Access Manager ログイン画面でサインインすれば、別のウィンドウで Instant Messenger にアクセスする際に再度サインインする必要がなくなります。同様に、Sun Java System Calendar Server が適切に設定されている場合、Access Manager ログイン画面でサインインすれば、別のウィンドウでカレンダにアクセスする際に再度サインインする必要がなくなります。

Messaging Server など、その他の Communications Suite サーバーでは、SSO の配備方法が 2 つ用意されています。1 つ目は Access Manager を使用する方法、2 つ目はトラストサークル技術を使用する方法です。トラストサークルを使用する方法は従来の SSO 実装方法であり、Instant Messaging では使用されません。この方法は Access Manager SSO では利用できない機能をいくつか備えていますが、今後の開発はすべて Access Manager に基づいて行われます。この章では、Access Manager を使って Instant Messaging の SSO を有効にする方法について、次の各節で説明します。

SSO の制限事項と注意点

Access Manager ベースの SSO とポリシーをサポートする Instant Messaging の設定

2 つの iim.conf パラメータが Instant Messaging SSO をサポートします。

表 5–1 Instant Messaging シングルサインオンパラメータ

パラメータ 

説明 

iim_server.usesso

Instant Messaging サーバーが認証時に SSO プロバイダに依存すべきかどうかを決定します。Access Manager Session API を使えば、Instant Messaging サーバーは、クライアントから送信されてきたセッション ID を検証できます。

可能な値は次のとおりです。 

0 – SSO プロバイダを使用しません。

1 – SSO プロバイダを使用します。ただし、SSO 検証が失敗した場合には LDAP を使用します。

-1 – SSO プロバイダのみを使用し、SSO 認証が失敗しても LDAP 認証を試みません。

デフォルト: configure ユーティリティーの実行時に SSO 向けに Access Manager を使用することを選択した場合は 1。それ以外の場合のデフォルト値は、0 です。

iim_server.ssoprovider

com.sun.im.provider.SSOProvider インタフェースを実装するクラスを指定します。iim_server.usesso0 と等しくなく、かつこのオプションが設定されていない場合、サーバーは、Instant Messaging の内部で定義されたデフォルトの Access Manager ベースの SSO プロバイダを使用します。通常、このパラメータは変更しません。

デフォルト: なし 

ProcedureInstant Messaging の SSO を有効にする

  1. Access Manager SDK が Instant Messaging サーバーと同じホスト上にインストールされていることを確認します。

    詳細は、『Sun Java Communications Suite 5 インストールガイド』を参照してください。

  2. Instant Messaging サービスが組織に割り当てられていることを、Access Manager コンソール (amconsole) で確認します。

    Messaging Server など、その他の Communications Suite サーバー製品を配備内で使用している場合、Access Manager– ベースのサービスを Instant Messaging 用に手動で設定する必要がある可能性があります。

    手順については、「シングルサインオンおよびポリシー管理をサポートするための Access Manager のサブ組織への Instant Messaging および Presence サービスの追加」を参照してください。

  3. configure ユーティリティーを実行します。

    手順については、「インストール後に Instant Messaging を設定する」を参照してください。

  4. Access Manager を SSO 用に使用するかどうかのプロンプトが表示されたら、「はい」を選択します。

  5. iim.policy.module パラメータを identity に設定します。

    1. iim.conf を開き、iim.policy.module パラメータを探します。

    2. このパラメータを次のように設定します。


      iim.policy.module = "identity"
      
  6. Instant Messaging サーバーを再起動します。

    imadmin start

Instant Messaging の SSO のトラブルシューティング

SSO に問題がある場合に最初にすべきことは、xmppd.log サーバーログファイルとクライアントログファイルにエラーが含まれていないかチェックすることです。ロギングレベルを上げると作業が容易になる可能性があります。新しいロギングレベルは、サーバーを再起動しないと有効になりません。

Instant Messaging サービスが組織とその親組織に割り当てられていることを、Access Manager コンソール (amconsole) で確認します。詳細は、「シングルサインオンおよびポリシー管理をサポートするための Access Manager のサブ組織への Instant Messaging および Presence サービスの追加」を参照してください。

iim.conf 内で im_server.usesso パラメータが 0 に設定されていないことを確認します。このパラメータについては、表 5–1を参照してください。これが 0 に設定されている場合は、「Instant Messaging の SSO を有効にする」の手順を実行します。

Instant Messaging に直接ログインできない場合、次のいずれかに類似したエラーが xmppd.log 内に含まれていないか確認します。


DEBUG xmppd [com.sun.im.service.util.Worker3] Service        \\
URL not found:session.com.iplanet.sso.SSOException: Service URL not found:

INFO xmppd [com.sun.im.service.util.Worker 3] [Identity]     \\
Failed to create SSO token for USERNAME

INFO xmppd [org.netbeans.lib.collab.util.Worker 1] [LDAP]     \\
pops does not have required objectclass for storing to ldap

これらのエラーのいずれかが存在する場合は、次の手順で問題を解決します。

  1. amconsole からユーザーを作成し、そのユーザーに認証、設定、Instant Messaging、および Presence サービスを追加します。

  2. 作成したユーザーを使ってログインを試みます。

  3. amldapuser のパスワードが amconsole から正しく設定されていることを確認します。

  4. o=siroe.com などのドメインに認証設定サービスインスタンスが含まれているかどうかをチェックします。

  5. 認証設定サービスインスタンスの認証モジュールが LDAP またはメンバーシップに設定されているかどうかをチェックします。その値は REQUIRED/SUFFICIENT の状態を示しているべきです。

    Instant Messaging がサポートするログインは、ユーザー名とパスワードによるログインだけです。認証チェーンを使用している場合、それを無効にしないと Instant Messaging を使用できません。

  6. LDAP またはメンバーシップ認証モジュールで、COREamldapuser パスワードを入力します。

  7. コア認証モジュール設定の「組織認証設定」ドロップダウンメニューと「管理者認証設定」ドロップダウンメニューの下で、新しく作成された ldapService 認証設定サービスインスタンスを選択します。

  8. 再度ログインします。