OpenID 認証方式

OpenID 認証方式では、ユーザが OpenID プロバイダによって認証情報をサブミットできます。OpenID プロバイダはユーザを認証し、認証レスポンスをポリシー サーバに送信します。ポリシー サーバはレスポンスを確認し、認証プロセスを完了して、リソースへのアクセスを許可します。
casso126jjp
OpenID 認証方式では、ユーザが OpenID プロバイダによって認証情報をサブミットできます。OpenID プロバイダはユーザを認証し、認証レスポンスをポリシー サーバに送信します。ポリシー サーバはレスポンスを確認し、認証プロセスを完了して、リソースへのアクセスを許可します。
シナリオの目的は対象読者が以下のことを実行できるようにすることです。
  • OpenID 認証プロセスがどのように動作するかを識別する。
  • 認証方式を有効にするように必要なエージェント側のコンポーネントを設定する。
  • 認証方式を有効にするように必要なポリシー サーバ側のコンポーネントを設定する。
Single Sign-On
r12.5 は、OpenID バージョン 1.1 および 2.0、ならびに OpenID Attribute Exchange バージョン 1.0 をサポートしています。
2
Single Sign-On
での OpenID 認証の動作の仕組み
OpenID 認証プロセスのフローは、以下の手順のとおりです。
  1. ユーザはリソースをリクエストします。
  2. エージェントはリクエストをインターセプトし、リソースが保護されているかどうかを確認するためにポリシー サーバにアクセスします。
  3. ポリシー サーバは、リソースが OpenID 認証方式で保護されていることを判定し、エージェントでユーザを OpenID フォーム認証情報コレクタ(FCC)にリダイレクトするようリクエストします。
  4. エージェントはユーザを FCC にリダイレクトします。
  5. ユーザは以下のいずれかのタスクを完了します。FCC をどのようにカスタマイズするかによって、この手順でのワークフローが決定されます。ユーザは以下のことを実行できます。
    • OpenID プロバイダを選択し、プロバイダ サイトで OpenID 認証情報をサブミットする。
    • OpenID プロバイダを選択し、OpenID ユーザ名をサブミットする。
    • OpenID を選択し、完全な OpenID ユーザ識別子をサブミットする。
  6. FCC は OpenID ユーザ識別子を構築して、それをポリシー サーバに渡します。
  7. ポリシー サーバは OpenID 認証リクエストを構築して、認証用の OpenID プロバイダにユーザをリダイレクトします。
  8. ユーザはプロバイダ固有の認証情報を使用して、OpenID プロバイダでの認証を行います。
  9. OpenID プロバイダは、正常な認証のレスポンスを FCC にリダイレクトします。
  10. エージェントは、認証のレスポンスをポリシー サーバに渡します。
  11. ポリシー サーバはプロバイダ認証レスポンスを確認し、それを使用して最初の必要なクレームの値を判定します。ポリシー サーバは、クレーム値に一致する属性を持ったユーザを見つけるためにポリシー ドメインのユーザ ディレクトリをすべて検索します。一致すると、ポリシー サーバはユーザを認証します。
    注:
    この認証方式は、認証の匿名モードをサポートします。匿名モードでは、ポリシー サーバは、ユーザにマップするためにクレーム値を使用
    しません
    。ポリシー サーバは、認証方式で定義した匿名ユーザに一致するユーザを見つけるためにポリシー ドメインでユーザ ディレクトリをすべて検索します。
  12. ポリシー サーバは、FCC に認証されたユーザのセッション詳細を返します。
  13. FCC はセッション Cookie を作成して、それを Web ブラウザに渡します。ユーザはリクエストされたリソースにリダイレクトされます。また、ポリシー サーバは認可決定をすべて維持します。
OpenID 認証方式を設定する
このセクションでは、ポリシー サーバ管理者がどのように OpenID 認証方式を設定できるかについて説明します。以下の図で必要なタスクについて説明します。
Configure OpenID authentication
Web エージェント OpenID プラグインの有効化
OpenID プラグインは Web エージェント設定ファイル(WebAgent.conf)で参照されます。プラグインは、エージェントが OpenID プロバイダと通信し、ポリシー サーバに OpenID プロバイダ認証レスポンスを伝えられるようにするために必要です。
エージェント所有者に連絡し、必要なプラグインを有効にするように指示します。
以下の手順に従います。
  1. Web エージェント ホスト システムにログインします。
  2. Web エージェント設定ファイルを開きます。
    注:
    ファイルのデフォルトの場所は Web サーバ タイプによって異なります。
    • IIS
      agent_home\bin\IIS
      • agent_home
        エージェント インストール パスを指定します。
    • Oracle iPlanet(iPlanet/SunOne)
      web_server_home/https-hostname/config
      • web_server_home
        Web サーバのインストール パスを指定します。
    • Apache、IBM HTTP サーバ、および Oracle HTTP サーバ
      web_server_home
      /conf
      • web_server_home
        Web サーバのインストール パスを指定します。
    • (Windows)Domino
      C:\lotus\domino
    • (UNIX)Domino
      $HOME/notesdata
  3. OpenID プラグインをロードする行のコメントを外します。
    例:
    #LoadPlugin="C:\Program Files\CA\webagent\bin\OpenIDPlugin.dll"
  4. ファイルを保存します。
  5. Web サーバを再起動します。
OpenID フォーム認証情報コレクタのカスタマイズ
サンプル OpenID FCC は Web エージェント インストールに含まれています。FCC はユーザが次の方法で認証できるようにするために必要です。
  • OpenID プロバイダのユーザ名の入力。
  • 完全な OpenID 識別子の入力。
デフォルトでは、FCC は多くの OpenID プロバイダを表示します。エージェント所有者に連絡し、FCC を変更して、保護されているアプリケーションがサポートするプロバイダのみを表示するように指示します。
デフォルトの FCC ファイルのほとんどのプロバイダでは、OpenID 認証方式のサポートが廃止されました。これらを使用したり、FCC ファイルを変更してプロバイダを削除したりしないでください。FCC ファイルのデフォルト プロバイダのリストの Yahoo および Verisign のみが OpenID を引き続きサポートします(Verisign は 2016 年 9 月から OpenID のサポートを廃止します)。
以下の手順に従います。
  1. Web エージェント ホスト システムにログインします。
  2. 以下の場所に移動します。
    agent_home\samples\forms
    • agent_home
      Web エージェントのインストール パスを指定します。
  3. テキスト エディタで以下のファイルを開きます。
    openid.fcc
  4. FCC を確認します。必要とする OpenID プロバイダが利用可能かどうか、またはプロファイルを追加する必要があるかどうかを判定します。デフォルトのプロバイダは、以下のセクションにあります。
    var providers_large var providers_small
  5. コメントして、FCC から不要なプロバイダを削除します。プロバイダ名でコメントを開始します。プロファイルの終りでコメントを終了します。
    例:
    /*google : { name : 'Google', url : 'https://www.google.com/accounts/o8/id' },*/
  6. プロバイダを追加する必要がある場合は、large または small プロバイダ セクションでカスタム プロバイダ ID を探します。
    例:
    }/*, myprovider : { name : 'MyProvider', label : 'Enter your provider username', url : 'http://ca.com/{username}/', image : 'images/image.png' }*/
    注:
    個別のプロバイダ セクションは FCC が表示するプロバイダ アイコンのサイズに対応します。
  7. large セクション内のアイコンのサポートされているサイズは、100 ピクセル x 60 ピクセルです。FCC は 5 つまでの大きいアイコンを表示できます。
    • small セクション内のアイコンのサポートされているサイズは、24 ピクセル x 24 ピクセルです。FCC は 11 個までの小さいアイコンを表示できます。
  8. 以下の文字を削除して、新しいプロバイダを追加します。
    /* */
  9. ラベルと名前の値を更新します。ラベル値は、ユーザがプロバイダ アイコンをクリックした後に表示されるテキストを決定します。
    例:
    myprovider : { name : 'Foward Inc', label : 'Enter your Forward Inc user name', url : 'http://ca.com/{username}/', image : 'images/image.png' }
    注:
    Forward, Inc. は架空の会社名であり、厳密に説明のみを目的として使用されています。現存する会社を参照するものではありません。
  10. URL 値を更新します。URL 値は OpenID ユーザ識別子を表します。ポリシー サーバは、OpenID プロバイダにユーザの識別子を転送します。
    例:
    myprovider : { name : 'Foward Inc', label : 'Enter your Forward Inc user name', url : 'http://{username}.forwardinc.com/' image : 'images/image.png' }
  11. イメージ値を更新します。イメージ値は、FCC で表示するプロバイダ アイコンの場所を表します。
    例:
    myprovider : { name : 'Foward Inc', label : 'Enter your Forward Inc user name', url : 'http://{username}.forwardinc.com/' image : 'images/forwardinc.png' }
  12. デフォルトでは、FCC は、プロバイダ ID が FCC で設定され有効にされる順序でプロバイダ アイコンを表示します。アイコンの順序を変更する場合は、それに応じてプロバイダ ID の順序を調整します。
    重要:
    デフォルト プロバイダ ID には以下のイメージ インデックス プロパティが含まれます。
    imageidx
    プロパティを削除したり変更
    しない
    でください。プロパティは、FCC が正しいプロバイダ アイコンを表示することを確認します。
  13. スクリプトを保存します。
  14. Web サーバを再起動します。
OpenID プロバイダ設定ファイルの変更
製品には、OpenID プロバイダ設定ファイルがあります。ファイルは、保護されているアプリケーションがサポートする各プロバイダの設定の詳細を参照する必要があります。ファイルに正しい設定が含まれていないと、認証は失敗します。
  • デフォルトでは、ファイルには、OpenID FCC が利用可能にするすべてのプロバイダのサンプル設定が含まれます。サンプル設定を確認し、必要に応じてそれらを変更します。
    重要:
    値はサンプルのみです。認証方式を展開する前に、OpenID プロバイダでの設定をすべて確認することをお勧めします。
  • FCC にプロバイダを追加した場合は、プロバイダの設定を追加します。
以下の手順に従います。
  1. ポリシー サーバ ホスト システムにログインします。
  2. 以下の場所に移動します。
    siteminder_home\config\properties
    • siteminder_home
      ポリシー サーバのインストール パスを指定します。
  3. 以下のいずれかの手順を実行します。
    • デフォルトのプロバイダ設定ファイルを開きます。
      Openidproviders.xml
    • デフォルト設定ファイルをコピーして、別のインスタンスを作成します。設定するそれぞれの OpenID 認証方式で、その固有のプロバイダ設定ファイルを使用できます。
      例:
      認証方式の 1 つのインスタンス用に連邦政府の Identity, Credential, and Access Management (ICAM)コンプライアンスを有効にでき、別のインスタンスでは ICAM コンプライアンスを無効にできます。
  4. ファイルを確認し、必要とする OpenID プロバイダ設定が利用可能かどうか、または設定を追加する必要があるかどうかを判定します。
  5. 設定を追加する必要がある場合は、以下の手順に従います。
    1. 既存の OpenID プロバイダ ノードおよびその子ノードをすべてコピーします。すべての必須ノードおよびオプションのノードは、以下のノード内に含まれています。
      <OpenIDProvider> </OpenIDProvider>
    2. 新しい OpenID プロバイダ ノードおよびその子ノードをすべて以下のルート ノードに追加します。
      <TrustedOpenIDProviders> </TrustedOpenIDProviders>
  6. 以下のノードの説明を使用して、認証方式でサポートする各プロバイダの設定を設定します。
    • OpenIDProvider RequestType="value"
      プロバイダの設定の始まりを示します。
      • RequestType
        (オプション)プロバイダがサポートする方式のタイプを指定します。
        有効な値:
        ax または sreg。
        デフォルト:
        ax。
    • ProviderName
      サービスをホストする OpenID プロバイダの URL を指定します。値には、プロバイダ URL のカンマ区切りリストを含めることができます。
    • Required Claims
      OpenID プロバイダが認証リクエストの一部として返すクレームを指定します。プロバイダが必要なすべてのクレームを提供できない場合、認証は失敗します。このノードは少なくとも 1 つのクレーム ノードを必要とします。
      • クレーム
        個々の必要なクレームを定義します。
      • URI
        OpenID プロバイダ クレームの URI フォームを指定します。ポリシー サーバはこの値を使用して、認証リクエストを構築します。
        重要:
        ユーザ ディレクトリ内のユーザ属性に必要な最初のクレームの値がマップされていることを確認してください。ポリシー サーバはプロバイダ認証レスポンスに基づく最初の必要なクレームの値を判定します。ポリシー サーバは、クレーム値に一致するユーザを見つけるためにポリシー ドメインのユーザ ディレクトリをすべて検索します。ポリシー サーバでクレーム値をユーザ属性にマップできないと、認証に失敗します。
        値:
        値はプロバイダがサポートするスキーマのタイプに従う必要があります。
      • エイリアス
        (オプション) URI ノード値のわかりやすい名前を定義し、URI が格納または参照されないようにします。システムは、クレームを識別するためにエイリアスを使用します。
        値:
        任意の文字列。
        例:
        セッション ストアでユーザの最初の名前を返す URI を格納する代わりに、システムはフルネームとしてクレーム名を参照できます。
        注:
        システムは、セッション ストアに格納されるエイリアスに以下のプレフィックスを追加します。
        smopenidclaim
    • Optional Claims
      (オプション)OpenID プロバイダが認証リクエストの一部として返すオプションのクレームを指定します。プロバイダがオプションのクレームを提供できない場合、認証は失敗しません。このノードは少なくとも 1 つのクレーム ノードを必要とします。
    • Pape
      (オプション) ICAM コンプライアンスに必要なプロパティを定義します。ICAM コンプライアンス用の認証方式を設定している場合、このノードおよびすべての子ノードが必要です。
      • max_auth_age
        (オプション) OpenID プロバイダ ユーザ セッションが有効な期間を指定します。ユーザ セッションが有効な場合、OpenID プロバイダはプロバイダ固有の Cookie を使用して、保護されているリソースに対してユーザを認証します。セッションが期限切れの場合、ユーザは再認証するように指示されます。
        測定単位:
        デフォルト:
        0
        デフォルト値を残す場合、ユーザは有効なセッションにかかわらず OpenID プロバイダに対して認証する必要があります。
        値:
        値は正の整数である必要があります。
      • ポリシー
        (オプション) OpenID プロバイダが従う必要がある ICAM ポリシーのカンマ区切りリストを指定します。プロバイダがコンプライアンス レベルに従っていないと、認証は失敗します。
  7. ファイルを保存して閉じます。
エージェント設定オブジェクトの変更
ignore 拡張 ACO パラメータのデフォルト設定では、OpenID FCC は表示されません。管理 UI を使用して、デフォルトの設定を変更します。
以下の手順に従います。
  1. [インフラストラクチャ]-[エージェント設定オブジェクト]をクリックします。
  2. FCC にユーザ リクエストをリダイレクトするエージェント用のエージェント設定オブジェクトを特定します。
  3. 編集アイコンをクリックして、オブジェクトを開きます。
  4. 以下のパラメータを探します。
    IgnoreExt
  5. 編集アイコンをクリックし、以下の値を追加します。
    • .css
    • .js
    注:
    値はカンマで区切ります。
    例:
    .class, .gif, .jpg, .jpeg, .png, .fcc, .scc, .sfcc, .ccc, .ntc,.css,.js
  6. [OK]をクリックします。
  7. [サブミット]をクリックします。
    エージェント設定オブジェクトは除外されたリソース拡張で更新されます。
FCCCompatMode パラメータの無効化
エージェントは、旧バージョンの製品との下位互換性のため、FCCCompatMode 設定パラメータを使用します。新しいバージョンの製品(r12.5 など)については、特定の機能を使用する場合、セキュリティを向上させるためにこのパラメータを無効にする必要があります。
注:
この手順では、ポリシー サーバ上のエージェント設定オブジェクトを使用して中央でエージェントを設定することを想定しています。代わりにローカル エージェント設定方式を使用する場合は、LocalConfig.conf ファイル内の FCCCompatMode パラメータを無効にします。
以下の手順に従います。
  1. 管理 UI から、[インフラストラクチャ]-[エージェント設定オブジェクト]をクリックします。
  2. 目的のエージェント設定オブジェクトの隣の編集アイコンをクリックします。
  3. 以下のパラメータを探します。
    • FCCCompatMode
      4.x の Web エージェントまたはサード パーティのアプリケーションによって保護されているリソースに対してフォームを提供するよう FCC/NTC を有効にします。
      SMUSRMSG がカスタム認証方式に対してサポートされるのは、FCCCompatMode が yes に設定されている場合のみです。
      制限
      : yes、no
      デフォルト
      (従来のエージェント) Yes
      デフォルト:
      (フレームワーク エージェント) No
  4. 値が no に設定されていることを確認します。値が yes の場合は、以下の手順に進みます。
    1. パラメータの左側の[編集]アイコンをクリックします。
      [パラメータの編集]ダイアログ ボックスが表示されます。
    2. [値]フィールドを強調表示し、「no」と入力します。
    3. [OK]をクリックします。
      [パラメータの編集]ダイアログ ボックスが閉じます。
    4. [サブミット]をクリックします。
      FCCCompatMode パラメータが無効になり、確認メッセージが表示されます。
OpenID 認証方式の設定
管理 UI を使用して、OpenID 認証方式オブジェクトを設定します。
ネットワークに複数の Cookie ドメインが含まれ、それぞれの Cookie ドメインに認証方式が必要な場合は、Cookie ドメインごとに個別の認証方式オブジェクトを設定します。
注:
Solaris プラットフォーム上での操作の場合には、
sun.security.provider.Sun
プロバイダが最初のプロバイダとして登録されるように、ディレクトリ
jre_root
/lib/security にある java.security ファイルを変更します。
以下の手順に従います。
  1. [インフラストラクチャ]-[認証]-[認証方式]をクリックします。
  2. [認証方式の作成]をクリックします。
  3. 新しいオブジェクト オプションを選択し、[OK]をクリックします。
    [認証方式の作成]ページが表示されます。
  4. 名前および保護レベルを入力します。
  5. [認証方式タイプ]リストから OpenID テンプレートを選択します。
    方式固有の設定が表示されます。
  6. その他のパラメータを設定し、[サブミット]をクリックします。
重要:
プロキシ設定または後処理チェーン設定のいずれかを変更する場合は、ポリシー サーバを再起動します。
OpenID 認証方式を設定するためのタスクを完了しました。認証方式をポリシー レルムおよびエンタープライズ ポリシー管理(EPM)アプリケーション コンポーネントにバインドできます。