Sun Identity Manager 8.1 ビジネス管理者ガイド

X509 証明書認証の設定

次の情報と手順を使用して、Identity Manager の X509 証明書認証を設定します。

設定の必要条件

Identity Manager で X509 証明書ベースの認証をサポートするには、クライアントとサーバーの 2 方向の SSL 認証が正しく設定されているかを確認します。クライアントの観点では、これは、X509 準拠のユーザー証明書がブラウザにインポートされ (またはスマートカードリーダーで利用可能で)、ユーザー証明書に署名するために使用された信頼できる証明書が、Web アプリケーションサーバーの信頼できる証明書のキーストアにインポートされている必要があることを意味します。

さらに、使用したクライアント証明書がクライアント認証のために選択されている必要があります。

Procedureクライアント証明書の「クライアント証明書」オプションが選択されていることを確認する

  1. Internet Explorer を使用して、「ツール」を選択し、「インターネット オプション」を選択します。

  2. 「コンテンツ」タブを選択します。

  3. 「証明書」領域で、「証明書」をクリックします。

  4. クライアント証明書を選択し、「詳細」をクリックします。

  5. 「証明書の目的」領域で、「クライアント認証」オプションが選択されていることを確認します。

Identity Manager での X509 証明書認証の設定

ProcedureX509 証明書認証を設定する

  1. 管理者インタフェースに Configurator (または同等の権限を持つユーザー) としてログインします。

  2. 「設定」を選択し、「ログイン」を選択して、「ログイン」ページを表示します。

  3. 「ログインモジュールグループの管理」をクリックし、「ログインモジュールグループ」ページを表示します。

  4. リストからログインモジュールグループを選択します。

  5. 「ログインモジュールの割り当て」リストから Identity Manager の X509 証明書ログインモジュールを選択します。「ログインモジュールグループの修正」ページが表示されます。

  6. ログインの成功条件を設定します。

    次の値が有効です。

    • 「必須」。成功するにはこのログインモジュールが必須です。成功したか失敗したかにかかわらず、認証はリスト内の次のログインモジュールに進みます。ログインモジュールが 1 つしかない場合、管理者は正常にログインします。

    • 「必要条件」。成功するにはこのログインモジュールが必須です。成功すると、認証はリスト内の次のログインモジュールに進みます。失敗した場合、認証は続行しません。

    • 「十分条件」。このログインモジュールは成功するために必須ではありません。成功すると、認証は次のログインモジュールに進まず、管理者は正常にログインします。失敗すると、認証はリスト内の次のログインモジュールに進みます。

    • 「オプション」。このログインモジュールは成功するために必須ではありません。成功か失敗かに関係なく、認証はリスト内の次のログインモジュールに進みます。

  7. ログイン相関規則を選択します。組み込み規則またはカスタム相関規則を選択できます。(カスタム相関規則の作成については、次の節を参照してください。

  8. 「保存」をクリックして、「ログインモジュールグループの修正」ページに戻ります。

  9. オプションの作業として、ログインモジュールの順序を変更し (複数のログインモジュールがログインモジュールグループに割り当てられている場合)、「保存」をクリックします。

  10. ログインモジュールグループがログインアプリケーションに割り当てられていない場合はここで割り当てます。「ログインモジュールグループ」ページで、「ログインアプリケーションに戻る」をクリックし、ログインアプリケーションを選択します。ログインモジュールグループをログインアプリケーションに割り当てたら、「保存」をクリックします。


    注 –

    waveset.properties ファイルで allowLoginWithNoPreexistingUser オプションの値が true に設定されている場合、「Identity Manager X509 証明書ログインモジュール」を設定するときに、新規ユーザー命名規則を選択するプロンプトが表示されます。この規則は、関連付けられたログイン相関規則によってユーザーが検出されないときに作成される新しいユーザーの命名方法を決定するために使用されます。新規ユーザー命名規則では、ログイン相関規則と同じ入力引数を使用できます。user name used to create the new Identity Manager user account という 1 つの文字列が返されます。サンプルの新規ユーザー命名規則は、idm/sample/rulesNewUserNameRules.xml という名前で含まれます。


ログイン相関規則の作成とインポート

Identity Manager の X509 証明書ログインモジュールは、ログイン相関規則を使用して証明書データを該当する Identity Manager ユーザーにマップする方法を決定します。Identity Manager には、Correlate via X509 Certificate subjectDN という名前の組み込み型の相関規則が含まれます。

独自の相関規則を追加することもできます。例として、idm/sample/rules ディレクトリにある LoginCorrelationRules.xml を参照してください。

各相関規則は、次のガイドラインに従っている必要があります。

次の引数がログイン相関規則に渡されます。

次の証明書引数の命名規則がログイン相関規則に渡されます。

cert.field name.subfield name

次の例のような引数名を規則で使用できます。

ログイン相関規則は、渡された引数を使用して、1 つ以上の AttributeConditions のリストを返します。Identity Manager X509 証明書ログインモジュールは、これらを使用して関連付けられた Identity Manager ユーザーを検出します。

サンプルのログイン相関規則が、LoginCorrelationRules.xml という名前で、idm/sample/rules にあります。

カスタム相関規則を作成したら、その規則を Identity Manager にインポートする必要があります。管理者インタフェースで、「設定」を選択し、「交換ファイルのインポート」を選択して、ファイルインポート機能を使用します。

SSL 接続のテスト

SSL 接続をテストするには、SSL を使用して、設定済みのアプリケーションインタフェースの URL (例: https//idm007:7002/idm/user/login.jsp) にアクセスします。セキュアなサイトに入ったことを知らせるメッセージが表示され、Web サーバーに送信する個人用証明書を指定するようにリクエストされます。

問題の診断

X509 証明書を使用した認証の問題は、ログインフォームでエラーメッセージとして報告されます。

詳しい診断情報を得るには、Identity Manager サーバーで次のクラスとレベルのトレースを有効にします。

HTTP リクエスト内のクライアント証明書の属性が javaxservlet.request.X509Certificate 以外である場合、この属性が HTTP リクエスト内に見つからないことを知らせるメッセージが表示されます。

ProcedureHTTP リクエスト内のクライアント証明書の属性名を修正する

  1. SessionFactory のトレースを有効にして、HTTP 属性の完全なリストを表示し、X509Certificate の名前を特定します。

  2. Identity Manager のデバッグ機能 (「Identity Manager デバッグページ」) を使用して、LoginConfig オブジェクトを編集します。

  3. X509 証明書ログインモジュールの <LoginConfigEntry> 内の <AuthnProperty> の名前を正しい名前に変更します。

  4. 保存して、もう一度試します。

    さらに、Identity Manager X509 証明書ログインモジュールをログインアプリケーションから削除して、もう一度追加することが必要な場合があります。