ヘッダーをスキップ
Oracle Identity Managerベスト・プラクティス・ガイド
リリース9.0.3
E05088-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

6 Oracle Access Managerとの統合

この章では、ユーザーがOracle Identity Managerにログインする際に、Oracle Access Managerを使用してユーザーの認証および認可を管理する方法について説明します。

この章では、次の内容について説明します。


注意:

この章では、JBossをアプリケーション・サーバーとして統合で使用する方法について説明しますが、WebSphere、WebLogic、またはOracle Identity Managerでサポートされる他のJ2EEアプリケーション・サーバーにOracle Identity Managerがデプロイされる場合にも同じ構成手順が適用されます。

Oracle Identity Managerとの統合について

Oracle Access ManagerとOracle Identity Managerを統合すると、すべての顧客アプリケーションおよびプロセスに対するアイデンティティ管理にセキュアなWebベースのインフラストラクチャが提供されます。Oracle Identity Managerは、E-BusinessネットワークにデプロイされたOracle Identity Manager、エンタープライズ・リソースおよび他のドメイン間のアイデンティティおよびアクセス管理を統合します。Oracle Access Managerは、インターネット・アプリケーション間の顧客、パートナおよび従業員のアイデンティティを管理するため基盤となります。これらのユーザー・アイデンティティはセキュリティ・ポリシーと組み合され、Webでのやり取りを保護します。

この統合により、次の機能がOracle Identity Manager実装に追加されます。

統合アーキテクチャ

Oracle Identity Managerには2つの認証メカニズムがあります。

Oracle Identity ManagerでのOracle Access Managerシングル・サインオンにより、次のことが実現します。

図6-1に、Oracle Identity ManagerとOracle Access Manager間のシングル・サインオンのアーキテクチャを示します。

ユーザーがWebブラウザから管理およびユーザー・コンソールにアクセスします。WebGateがユーザーのHTTPリクエストを捕捉し、obSSOCookieの有無をチェックします。Cookieが存在しないまたは期限が切れている場合、ユーザーは資格証明をチャレンジされます。Oracle Access Managerが資格証明を検証し、ユーザーが認証されると、WebGateはリクエストされたリソースにユーザーをリダイレクトしてOracle Identity Managerにリクエストされたヘッダー変数を渡します。Oracle Identity Managerは、認証のかわりにHTTPヘッダー変数を読み取るように構成されており、HTTPヘッダーを読み取って変数に格納された値をログイン済ユーザーとして使用します。

図6-1 Oracle Identity Managerとの統合

Oracle Identity Managerでのシングル・サインオンの概要

プロセスの概要: Oracle Identity Managerでのシングル・サインオン

  1. ユーザーが管理およびユーザー・コンソールにアクセスしようとします。

  2. HTTPサーバーにデプロイされたWebGateがリクエストを捕捉します。

  3. WebGateは、アクセス・サーバーをチェックして、リソース(Oracle Identity ManagerのURL)が保護されているかどうかを判断します。

    アクセス・システムのセキュリティ・ポリシーには、認証スキーム、認可ルールおよび認証および認可の成功または失敗に基づいて許可された操作が指定されています。

  4. 有効なセッションが存在せず、リソースが保護されている場合、WebGateはユーザーに資格証明を求めます。

  5. 資格証明が検証されると、Oracle Access Managerはリソースのセキュリティ・ポリシーに定義されたアクションを実行し、Oracle Identity ManagerユーザーIDにマップされたHTTPヘッダー変数を設定します。

  6. 有効なセッションCookieが存在し、ユーザーがリソースへのアクセスを許可されると、WebGateはリクエストされたOracle Identity Managerリソースにユーザーをリダイレクトします。

  7. 管理およびユーザー・コンソールは、HTTPヘッダー変数を読み取り、その値をログイン済ユーザーとして設定します。

  8. 管理およびユーザー・コンソールは、アプリケーション・ページを生成し、Oracle Identity Managerで実行されるその後の認証チェックを保留します。

環境の準備

次のタスクを完了して統合のための環境を準備します。

タスクの概要: 統合のための環境の準備

  1. サポートされるディレクトリ・サーバーをベンダーの指示に従ってインストールします。

  2. ディレクトリ・サーバーをLDAPリポジトリとして使用して、Oracle Access Managerをインストールおよび構成します。

  3. Oracle Identity Manager J2EEアプリケーション・サーバーがHTTPサーバーによってプロキシされていることを確認します。

  4. ベンダーの指示に従って、Cookieを許可するようにWebブラウザを構成します。

  5. Oracle Identity Manager用にOracle Access Managerを設定します。

    詳細は、「Oracle Identity Manager用のOracle Access Managerシングル・サインオンの設定」を参照してください。

Oracle Identity Manager用のOracle Access Managerシングル・サインオンの設定

次の手順では、HTTPサーバーでのWebGateの設定およびOracle Identity Managerでのシングル・サインオンのためのOracle Access Managerの構成について説明します。

フォームベースの認証は、ASCII文字またはASCII以外の文字を使用するログインに対して構成できます。ブラウザの制限により、Basic認証スキームはASCIIログイン資格証明のみを受け入れます。


関連資料:

Oracle Access Managerでの認証および認可の構成方法の詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

HTTPサーバーでWebGateを設定する手順

  1. サポートされるLDAPサーバーを使用して、サポートされるプラットフォームにOracle Access Managerをインストールおよび構成します。

    詳細は、『Oracle Access Managerインストレーション・ガイド』を参照してください。

  2. WebGateをOracle Identity Manager HTTPサーバーにインストールします。

    WebGateは、HTTPサービスをサポートするアプリケーション・サーバー(BEA Weblogicなど)に対してインストールしないでください。アプリケーション・サーバーがJBoss、IBM WebSphereまたはBEA Weblogicの場合は、Apache、iPlanet、Oracle HTTP ServerなどのHTTPサーバーをインストールします。

  3. HTTPサーバーを構成して、ユーザー・リクエストをJ2EEアプリケーション・サーバーに、Oracle Identity Managerからのレスポンスをユーザーに転送するようにします。

Oracle Access Managerでシングル・サインオンを構成する手順

  1. アクセス・システムのランディング・ページで、「ポリシー・マネージャ」リンクをクリックし、「ポリシー・ドメインの作成」をクリックします。

  2. ポリシー・ドメインと、Oracle Identity ManagerのURLへのアクセスを制限するポリシーを作成します。

  3. アクセス・システム・コンソールで、Oracle Identity Managerのホスト識別子を定義します。

  4. 「ポリシー・マネージャ」リンクをクリックし、Oracle Identity Managerポリシー・ドメインのリンクをクリックして「リソース」タブを選択し、Oracle Access Managerで保護するリソースを定義します。

  5. 「認可ルール」タブを選択し、Oracle Identity ManagerのURLにアクセスできる認証済ユーザーを決定する認可ルールを定義します。

  6. 「デフォルト・ルール」タブを選択します。

    「認証ルール」サブタブが選択されています。

  7. Basic Over LDAPなどの認証ルールを定義します。

  8. 「アクション」サブタブを選択し、認可に成功した場合にカスタムHTTPヘッダー変数を設定する認可アクションを定義します。

    ヘッダー変数には、Oracle Identity ManagerユーザーIDにマップされている値を入力する必要があります。

  9. 「ポリシー」タブを選択して「追加」をクリックし、Oracle Identity Managerポリシー・ドメインにアクセス・ポリシーを定義し、そのポリシーにOracle Identity ManagerのURLリソースを追加します。

Oracle Access Managerによるシングル・サインオンのためのOracle Identity Managerの設定

次の手順では、Oracle Access Managerと統合するためにOracle Identity Managerを設定する方法について説明します。

Oracle Identity Managerに対してシングル・サインオンを構成する手順

  1. アプリケーション・サーバーを正常に停止します。

  2. プレーン・テキスト・エディタを起動し、次のファイルを開きます。

    <XL_HOME>\xellerate\config\xlconfig.xml

  3. 次のシングル・サインオン構成(シングル・サインオンなしのデフォルト設定)を探します。

    <web-client>
    <Authentication>Default</Authentication>
    <AuthHeader>REMOTE_USER</AuthHeader>
    </web-client>
    
    
  4. 次のようにして、シングル・サインオン構成を編集します。

    <SSO_HEADER_NAME>をシングル・サインオン・システムで構成された適切なヘッダーで置き換えます。

    <web-client>
    <Authentication>SSO</Authentication>
    <AuthHeader><SSO_HEADER_NAME></AuthHeader>
    </web-client>
    
    

    ASCII以外の文字のログインによるシングル・サインオンを有効化するには、ASCII以外のヘッダー値をデコードするデコード・クラス名を含める必要があります。次のようにデコード・クラス名を追加してシングル・サインオン構成を編集します。

    <web-client>
    <Authentication>SSO</Authentication>
    <AuthHeader><SSO_HEADER_NAME></AuthHeader>
    <AuthHeaderDecoder>com.thortech.xl.security.auth.CoreIDSSOAuthHeaderDecoder</AuthHeaderDecoder>
    </web-client>
    
    

    <SSO_HEADER_NAME>をシングル・サインオン・システムで構成された適切なヘッダーで置き換えます。

  5. アプリケーション・サーバーおよびWebサーバー構成を変更してシングル・サインオンを有効化します。

    詳細は、アプリケーション・サーバーおよびWebサーバーのベンダーのドキュメントを参照してください。

  6. アプリケーション・サーバーを再起動します。

JBoss用プロキシとしてのApacheの構成

管理およびユーザー・コンソールは、JBoss、BEA Weblogic、IBM WebSphereなどのJ2EEアプリケーション・サーバーで稼働します。アクセス・ゲートは、これらのアプリケーション・サーバーに直接インストールできません。Apache、Oracle HTTP Server、iPlanetなどのWebサーバーは、これらのアプリケーション・サーバーの手前にデプロイできます。アクセス・ゲートをWebサーバーにデプロイして、リクエストをOracle Identity Managerアプリケーションにルーティングし、レスポンスをユーザーに転送するようにWebサーバーを構成することができます。

JBossなどのアプリケーション・サーバーの場合、mod_jkプラグインまたはJBossプラグインという追加プラグインをWebサーバーにデプロイする必要があります。mod_jkプラグインは、Apache Tomcat WebサイトのTomcatコネクタ・セクションから取得できます。公開時点でのURLは次のとおりです。

http://tomcat.apache.org/download-connectors.cgi

Apache HTTPサーバーをJBoss用プロキシとして構成する手順

  1. Oracle Access ManagerでサポートされるApache HTTPサーバーのバージョンをダウンロードおよびインストールします。

  2. 最新の安定したバージョンのJakarta(Tomcat)mod_jkプラグインを次のURLからダウンロードします。

    http://tomcat.apache.org/download-connectors.cgi

  3. ファイルを抽出して、名前をmod_jk.soに変更します。

  4. このファイルを次のディレクトリにコピーします。

    Apache_install_dir\modules

  5. 次のテキスト・ファイルをApache_install_dir\confディレクトリに作成します。

    • mod-jk.conf

    • workers.properties

    • uriworkermap.properties

    uriworkermap.propertiesおよびworkers.propertiesの名前を変更しないでください。名前を変更すると、構成が機能しなくなることがあります。これらのファイルの場所は、worker_fileとworker_mount_fileの2つのレジストリ・キーの下に定義されます。これらのファイルは、HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\version_numberにあります。

  6. 次の構成をmod-jk.confファイルにコピーします。

    # Load mod_jk module
    # Specify the file name of the mod_jk lib
    LoadModule jk_module modules/mod_jk.so
    
    # Where to find workers.properties
    JkWorkersFile conf/workers.properties
    
    # Where to put jk logs
    JkLogFile logs/mod_jk.log
    
    # Set the jk log level [debug/error/info]
    JkLogLevel info
    
    # Select the log format
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
    
    # JkOptions indicates to send SSK KEY SIZE
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    
    # JkRequestLogFormat
    JkRequestLogFormat "%w %V %T"
    
    # Mount  your  applications
    JkMount /application/* loadbalancer
    
    # You can use external file for mount points.
    # It will be checkded for updates each 60 seconds.
    # The format of the file is: /url=worker
    # /examples/*=loadbalancer
    JkMountFile conf/uriworkermap.properties
    
    # Add shared memory.
    # This directive is present with 1.2.10 and
    # later versions of mod_jk, and is needed for
    # for load balancing to work properly
    JkShmFile logs/jk.shm
    
    # Add jkstatus for managing runtime data
    <Location /jkstatus/>
            JkMount status
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
    </Location>
    
    
  7. 次の構成をworkers.propertiesファイルにコピーします。

    # Define the list of workers that will be used
    # for mapping requests
    worker.list=loadbalancer
    
    # Define node1
    worker.node1.port=8009
    worker.node1.host=<Put your Identity Manager App Server FQDN name here>
    worker.node1.type=ajp13
    worker.node1.lbfactor=1
    worker.node1.local_worker=1 (1)
    worker.node1.cachesize=10
    #Load-balancing behaviour
    worker.loadbalancer.type=lb
    worker.loadbalancer.balance_workers=node1
    worker.loadbalancer.sticky_session=1
    worker.loadbalancer.local_worker_only=1
    
    
  8. 次の構成をuriworkermap.propertiesファイルにコピーします。

    マッピングは、workers.propertiesファイルに定義されたworker.listエントリに応じて構成します。次の例に示されてはいますが、必ずしもloadbalancerではありません。

    # Simple worker configuration file
    # Mount the servlet context to the ajp13 worker
    /jmx-console=loadbalancer
    /jmx-console/*=loadbalancer
    /web-console=loadbalancer
    /web-console/*=loadbalancer
    /xlWebApp=loadbalancer
    /xlWebApp/*=loadbalancer
    /Nexaweb=loadbalancer
    /Nexaweb/*=loadbalancer