SPNEGO を使用した SSO の有効化

Windows 環境で LDAP サーバーに Active Directory を使用している場合は、Simple and Protected GSSAPI Negotiation Mechanism(SPNEGO)を使用してシングルサインオン(SSO)を有効化することができます。SSO が有効になっている場合、LiveCycle のユーザーログインページは必要とされず、表示されません。

また、HTTP ヘッダーを使用して SSO を有効化することもできます(HTTP ヘッダーの使用による SSO の有効化を参照)。

  1. SSO を有効化するために使用するドメインを決定します。LiveCycle サーバーとユーザーは、同じ Windows ドメインまたは信頼されたドメインの一部である必要があります。

  2. Active Directory に、LiveCycle サーバーを表すユーザーを作成します(ユーザーアカウントの作成を参照)。複数のドメインで SPNEGO を使用するように設定している場合、これらの各ユーザーのパスワードが異なっていることを確認してください。パスワードが同じ場合、SPNEGO SSO は機能しません。

  3. サービスプリンシパル名をマップします(サービスプリンシパル名(SPN)のマッピングを参照)。

  4. ドメインコントローラーを設定します(Kerberos 整合性チェックの失敗の回避を参照)。

  5. ドメインの追加または既存のドメインの編集と変換で説明されているとおりに、エンタープライズドメインを追加または編集します。エンタープライズドメインを作成または編集するときは、次のタスクを実行する必要があります。

    • Active Directory の情報を含むディレクトリを追加または編集します。

    • 認証プロバイダーとして LDAP を追加します。

    • 認証プロバイダーとして Kerberos を追加します。Kerberos の新規認証ページまたは認証を編集ページに、以下の情報を入力します。

      • 認証プロバイダー:Kerberos

      • DNS IP:LiveCycle を実行しているサーバーの DNS IP アドレス。この IP アドレスは、コマンドラインで ipconfig/all を実行して確認できます。

      • KDC ホスト:認証に使用する Active Directory サーバーの完全修飾ホスト名または IP アドレス。

      • サービスユーザー:KtPass ツールに渡されるサービスプリンシパル名(SPN)。前に挙げた例では、サービスパスワードは HTTP/lcserver.um.lc.com です。

      • サービス領域:Active Directory のドメイン名。前に挙げた例では、サービスパスワードは UM.LC.COM. です。

      • サービスパスワード:サービスユーザーのパスワード。前に挙げた例では、サービスパスワードは password です。

      • SPNEGO を有効にする:シングルサインオン(SSO)で SPNEGO を使用できるようにします。このオプションを選択します。

  6. SPNEGO クライアントブラウザー設定を設定します(SPNEGO クライアントブラウザー設定の構成を参照)。

ユーザーアカウントの作成

  1. SPNEGO の場合、LiveCycle となるドメインコントローラー上にある Active Directory 内のユーザーとしてサービスを登録します。そのドメインコントローラーで、スタートメニュー/管理ツール/Active Directory ユーザーとコンピューターに移動します。「管理ツール」がスタートメニューにない場合は、コントロールパネルを使用します。

  2. Users フォルダーをクリックして、ユーザーのリストを表示します。

  3. Users フォルダーを右クリックし、新規作成/ユーザーを選択します。

  4. 「姓」、「名」および「ユーザーログオン名」を入力し、「次へ」をクリックします。例えば、次の値を設定します。

    • :umspnego

    • ユーザーログオン名:spnegodemo

  5. パスワードを入力します。例えば、「password」というパスワードを設定します。「パスワードを無期限にする」を選択し、それ以外のオプションは選択しません。

  6. 「次へ」をクリックし、「完了」をクリックします。

サービスプリンシパル名(SPN)のマッピング

  1. KtPass ユーティリティを入手します。このユーティリティは、SPN を REALM にマップする場合に使用します。KtPass ユーティリティは、Windows Server ツールパックまたはリソースキットの一部として入手できます(「Windows Server 2003 Service Pack 1 のサポートツール」を参照)。

  2. コマンドプロンプトで、次の引数を指定して ktpass を実行します。

    ktpass -princ HTTP/host@REALM -mapuser user

    例えば、次のようにテキストを入力します。

    ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo

    指定する値は、次のとおりです。

    host:LiveCycle サーバーの完全修飾名または一意の URL です。この例では、lcserver.um.lc.com に設定しています。

    REALM:ドメインコントローラーの Active Directory 領域です。この例では、UM.LC.COM に設定しています。領域は大文字で入力してください。Windows 2003 の領域を決めるには、次の手順を実行します。
    • 「マイコンピューター」を右クリックし、「プロパティ」を選択します。

    • 「コンピューター名」タブをクリックします。「ドメイン名」の値が領域名です。

    user:前のタスクで作成したユーザーアカウントのログイン名です。この例では、spnegodemo に設定しています。

次のようなエラーが発生することがあります。

DsCrackNames returned 0x2 in the name entry for spnegodemo.  
ktpass:failed getting target domain for specified user. 

この場合、次のようにユーザーを spnegodemo@um.lc.com に指定してください。

ktpass -princ HTTP/lcserver.um.lc.com@UM.LC.COM -mapuser spnegodemo

Kerberos 整合性チェックの失敗の回避

  1. そのドメインコントローラーで、スタートメニュー/管理ツール/Active Directory ユーザーとコンピューターに移動します。「管理ツール」がスタートメニューにない場合は、コントロールパネルを使用します。

  2. Users フォルダーをクリックして、ユーザーのリストを表示します。

  3. 前のタスクで作成したユーザーアカウントを右クリックします。この例では、ユーザーアカウントは spnegodemo です。

  4. 「パスワードのリセット」をクリックします。

  5. 以前に入力したものと同じパスワードを入力し、確認します。この例では、password に設定されています。

  6. 「ユーザーは次回ログオン時にパスワード変更が必要」を選択解除し、「OK」をクリックします。

SPNEGO クライアントブラウザー設定の構成

SPNEGO ベースの認証を機能させるには、ユーザーアカウントを作成しているドメインにクライアントコンピューターが含まれている必要があります。また、SPNEGO ベースの認証を許可するようにクライアントブラウザーを設定する必要があります。さらに、SPNEGO ベースの認証を必要とするサイトを、信頼できるサイトにする必要があります。

http://lcserver:8080 など、コンピューター名を使用してサーバーにアクセスする場合、Internet Explorer での設定は不要です。入力した URL にドット(「.」)が含まれていない場合は、Internet Explorer はそのサイトをローカルなイントラネットサイトとして扱います。サイトに完全修飾名を使用している場合は、サイトを信頼できるサイトとして追加する必要があります。

Internet Explorer 6.x の設定

  1. ツール/インターネットオプションに移動し、「セキュリティ」タブをクリックします。

  2. イントラネットのアイコンをクリックし、「サイト」をクリックします。

  3. 「詳細設定」をクリックし、「次の Web サイトをゾーンに追加する」ボックスに、LiveCycle サーバーの URL を入力します。例えば、http://lcserver.um.lc.com と入力します。

  4. ダイアログボックスがすべて閉じるまで、各ダイアログボックスで「OK」をクリックします。

  5. LiveCycle サーバーの URL にアクセスして、設定をテストします。例えば、ブラウザーの URL ボックスに、「http://lcserver.um.lc.com:8080/um/login?um_no_redirect=true」と入力します。

Mozilla Firefox の設定

  1. ブラウザーの URL ボックスに、「about:config」と入力します。

    about:config - Mozilla Firefox ダイアログボックスが表示されます。

  2. 「フィルター」ボックスに、negotiate

  3. 表示されたリストで、network.negotiate-auth.trusted-uri をダブルクリックし、環境に応じて、次のいずれかのコマンドを入力します。

    .um.lc.com - um.lc.com で終わる URL では SPNEGO を許可するように Firefox が設定されます。先頭に必ずドット(「.」)を含めてください。

    lcserver.um.lc.com - 特定のサーバーだけに SPNEGO を許可するように Firefox が設定されます。ドット(「.」)から始めないでください。

  4. アプリケーションにアクセスして、設定をテストします。ターゲットアプリケーションのようこそページが表示されます。