ヘッダーをスキップ
Oracle Identity Manager JBoss Application Server用インストレーションおよび構成ガイド
リリース9.1.0.1
B52972-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

8 Oracle Identity ManagerおよびIBM WebSphere Application Serverのインストール後の構成

Oracle Identity Managerをインストールした後で、場合によっては、アプリケーションを使用する前にインストール後のタスクを実行する必要があります。デプロイメントと要件によっては、インストール後のタスクの一部はオプションです。

この章では次の項目について説明します。


注意:

この章の例はMicrosoft Windowsに対応しています。ただし、インストール後のタスクはUNIXでも必要です。

8.1 Oracle Identity Managerの起動

ここでは、Microsoft Windows、UNIXでのOracle Identity Managerの起動方法について説明します。

Oracle Identity Managerを起動するには、次のようにします。

  1. データベースが起動されて実行していることを確認します。

  2. 次のいずれかのスクリプトを実行して、Oracle Identity Managerを起動します。Oracle Identity Managerの起動スクリプトを実行すると、JBoss Application Serverも起動されます。

    Microsoft Windowsの場合

    OIM_HOME\xellerate\bin\xlStartServer.bat

    UNIXの場合

    OIM_HOME/xellerate/bin/xlStartServer.sh

8.2 Oracle Identity Managerの停止

Oracle Identity Managerを正常に停止するには、次のいずれかのスクリプトを実行してJBoss Application Serverを停止します。

Microsoft Windowsの場合

JBOSS_HOME\bin\shutdown.bat -S

UNIXの場合

JBOSS_HOME/bin/shutdown.sh -S

8.3 管理およびユーザー・コンソールへのアクセス

JBoss Application ServerとOracle Identity Managerを起動すると、管理およびユーザー・コンソールにアクセスできます。

管理およびユーザー・コンソールにアクセスするには、次のようにします。

  1. Webブラウザを使用して次のURLを参照します。

    http://hostname:port/xlWebApp
    

    このURLのhostnameの箇所には、アプリケーション・サーバーのホスト・コンピュータの名前を指定します。portの箇所には、サーバーがリスニングしているポートを指定します。JBoss Application Serverのデフォルトのポート番号は8080です。


    注意:

    アプリケーション名xlWebAppでは大文字と小文字が区別されます。

    次に例を示します。

    http://localhost:8080/xlWebApp
    
  2. Oracle Identity Managerのログイン・ページが表示されたら、ユーザー名とパスワードを使用してログインします。

8.4 インストールを確認するための診断ダッシュボードの使用

診断ダッシュボードでは、インストール後の環境で次の項目をテストして各コンポーネントを確認します。

診断ダッシュボードは、パッケージと一緒にコンポーネントのサポート対象バージョンすべてについてもチェックします。


注意:

詳細は、「診断ダッシュボードの使用方法」を参照してください。

8.5 起動または再起動後のバックアップxlconfig.xmlファイルの削除

Oracle Identity Managerの任意のコンポーネントを初めて起動するか、またはxlconfig.xmlファイル内のパスワードを変更した後で起動すると、Oracle Identity Managerによってパスワードの暗号化と保存が行われます。その際、変更がファイルに保存される前に、xlconfig.xmlのバックアップ・コピーも作成されます。これらのバックアップ・ファイルには、旧来のプレーンテキストを使用したパスワードが保存されます。このバックアップ・ファイルには、xlconfig.xml.xという形式で名前が付けられます。xの箇所には、xlconfig.xml.0、xlconfig.xml.1といった順に、最新の番号が付けられていきます。


注意:

Oracle Identity Managerの任意のコンポーネントを最初に起動した後、またはxlconfig.xmlのパスワードの変更後に再起動した後は、新しいパスワードが正常に機能していることを確認してから、バックアップ・ファイルを必ず削除してください。

8.6 キーストア・パスワードの変更

Oracle Identity Managerのキーストアのパスワードは、インストール時にxellerateに設定されます。インストーラ・スクリプトおよびインストール・ログには、このデフォルトのパスワードが含まれています。本番用のインストールにおいては、必ずこのキーストア・パスワードを変更することをお薦めします。

キーストア・パスワードを変更するには、.xlkeystoreのstorepassおよび.xlkeystoreのxellエントリのkeypassを変更する必要があります。これら2つの値は同一である必要があります。keytoolを使用し、次の手順に従ってキーストアのパスワードを変更します。

  1. Oracle Identity Managerのホスト・コンピュータでコマンド・プロンプトを開きます。

  2. OIM_HOME\xellerate\configディレクトリに移動します。

  3. 次のオプションを指定してkeytoolを実行し、ストアパスを変更します。

    JAVA_HOME\jre\bin\keytool -storepasswd -new new_password -storepass xellerate
    -keystore .xlkeystore -storetype JKS
    
  4. 次のオプションを使用してkeytoolを実行し、.xlkeystoreのxellエントリのキーパスを変更します。

    JAVA_HOME\jre\bin\keytool -keypasswd -alias xell -keypass xellerate -new new_password
    -keystore .xlkeystore -storepass new_password
    

    注意:

    手順3で入力したパスワードでnew_passwordを置き換えます。

    表8-1に、このkeytoolの例で使用したオプションを示します。

    表8-1 keytoolユーティリティのコマンド・オプション

    オプション 説明

    JAVA_HOME

    アプリケーション・サーバーに関連するJavaディレクトリの場所

    new_password

    キーストアの新しいパスワード

    -keystore option

    パスワードを変更するキーストア(Oracle Identity Managerでは.xlkeystore、データベースでは.xldatabasekey)

    -storetype option

    .xlkeystoreの場合はJKS、.xldatabasekeyの場合はJCEKS


  5. テキスト・エディタでOIM_HOME\xellerate\config\xlconfig.xmlファイルを開きます。

  6. <xl-configuration>.<Security>.<XLPKIProvider>.<KeyStore>セクション、<xl-configuration>.<Security>.<XLPKIProvider>.<Keys>セクションおよび<RMSecurity>.<KeyStore>セクションを編集して、キーストア・パスワードを次のように指定します。


    注意:

    データベースのキーストア(.xldatabasekey)のパスワードを更新するには、構成ファイルの<XLSymmetricProvider>.<KeyStore>セクションを変更します。

    • パスワード・タグをencrypted="false"に変更します。

    • パスワードをクリアテキストで入力します。次に例を示します。

      <Security>
      <XLPKIProvider>
      <KeyStore>
            <Location>.xlkeystore</Location>
            <Password encrypted="false">new_password</Password>
            <Type>JKS</Type>
            <Provider>sun.security.provider.Sun</Provider>
      </KeyStore>
      <Keys>
      <PrivateKey>
      <Alias>xell</Alias>
      <Password encrypted="false">new_password</Password>
      </PrivateKey>
      </Keys>
      <RMSecurity>
      <KeyStore>
      <Location>.xlkeystore</Location>
      <Password encrypted="false">new_password</Password>
      <Type>JKS</Type>
      <Provider>sun.security.provider.Sun</Provider>
      </KeyStore>
      
  7. xlconfig.xmlファイルを保存して閉じます。

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

    アプリケーション・サーバーを停止して起動すると、構成ファイルのバックアップが作成されます。構成ファイル(新しいパスワードを含む)が読み込まれ、ファイル内でパスワードは暗号化されます。

  9. ここまでの手順がすべて正常に終了したら、バックアップ・ファイルを削除することができます。


    注意:

    UNIXの場合は、次のコマンドを使用してシェルのコマンド履歴もクリアできます。

    history -c


8.7 JDBC接続プールのチューニング

Oracle Identity Managerで使用するJDBC接続プールのチューニングを実装するには、JBOSS_HOME/server/default/deploy/xell-ds.xmlファイルを開き、次の変更を実装します。


注意:

JBoss Application Serverでのクラスタ・インストールのOracle Identity Managerでは、xell-ds.xmlファイルはJBOSS_HOME/server/all/farmにあります。

Oracle Identity Managerで使用されるJDBC接続プール用に推奨されたチューニングを実装することを強くお薦めします。これは、アプリケーションの使用方法に基づいてさらにチューニングできます。


  1. jdbc/xlDSプールについては、</local-tx-datasource>の前に次の行を挿入します。

    <min-pool-size>30</min-pool-size>
    <max-pool-size>50</max-pool-size>
    <blocking-timeout-millis>15000</blocking-timeout-millis>
    <idle-timeout-minutes>15</idle-timeout-minutes>
    
  2. jdbc/xlXADSプールについては、</xa-datasource>の前に手順1で示したコードを挿入します。

  3. JBoss Application Serverを再起動します。

8.8 Microsoft WindowsインストールでのJBoss Application Serverポートの予約

Microsoft WindowsインストールでJBoss Application Serverに必要なポートを予約するには、次のようにします。

  1. Windowsで「スタート」メニュー→「ファイル名を指定して実行」を選択します。「ファイル名を指定して実行」ダイアログ・ボックスが表示されます。

  2. 「ファイル名を指定して実行」ダイアログ・ボックスにregedt32と入力し、「OK」をクリックします。「レジストリ エディタ」ウィンドウが表示されます。

  3. 次のレジストリ・キーにナビゲートします。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    
  4. このレジストリ・キーが存在していない場合は、次のようにReservedPorts値を作成します。

    1. 「編集」メニューの「新規」をポイントし、「複数行文字列値」をクリックします。

    2. 値の名前としてReservedPortsと入力し、[Enter]を押します。

  5. 「ReservedPorts」値をダブルクリックします。「複数行文字列の編集」ダイアログ・ボックスが表示されます。

  6. 「複数行文字列の編集」ダイアログ・ボックスの「値のデータ」ボックスに1098-1434と入力します。

  7. 「OK」をクリックして「複数行文字列の編集」ダイアログ・ボックスを閉じ、「レジストリ エディタ」ウィンドウも閉じます。

8.9 トランザクション・タイムアウトの増加

JBoss Application Serverのトランザクション・タイムアウトのデフォルト値が特定のトランザクションに対して低い可能性がある場合、その値を増やす必要があります。次の手順で指定する値をお薦めします。

JBOSS_HOME\server\default\conf\jboss-service.xmlファイルを開き、次のようにTransactionTimeout属性値を1200に設定します。

<attribute name="TransactionTimeout">1200</attribute>


注意:

クラスタJBoss Application Serverでは、対応するファイルはJBOSS_HOME\server\all\conf\jboss-service.xmlにあります。


関連項目:

その他のインストール後のタスクの詳細は、付録Bを参照してください。

8.10 JBoss Application Serverインストールのクリーンアップ

ここでは次の項目について説明します。

8.10.1 JBoss Application Serverのコンポーネントの削除

JBoss Application Serverインストールでは、一部のJBossコンポーネントにOracle Identity Managerには不要なものがあります。これらのファイルは、スタンドアロン・インストールとクラスタ・インストールの場合で異なります。

次のコンポーネントを削除できます。

  • キャッシュ無効化サービス(クラスタ・インストールの場合は保持)

  • J2EEクライアント・デプロイヤ・サービス

  • 統合HARデプロイヤ・サービスとHibernateセッション管理サービス

  • JMXコンソール

  • 管理コンソール

  • コンソール/電子メール・モニター・アラート

  • UUIDキー生成

  • JBossスケジューラ・マネージャ

  • スケジューラ・サービス

  • テスト・キューおよびトピック

  • メール・サービス

  • HTTP Invoker

  • CORBA/IIOP

  • AOPアプリケーション

  • Webサービス・サポート

8.10.2 ファイルおよびディレクトリの削除

次の各項では、Oracle Identity Managerのインストール後に削除できるファイルおよびディレクトリを示します。

8.10.2.1 非クラスタ・インストール

次のファイルをJBOSS_HOME/server/default/deployディレクトリから削除します。

  • cache-invalidation-service.xml

  • client-deployer-service.xml

  • monitoring-service.xml

  • scheduler-service.xml

  • schedule-manager-service.xml

  • mail-service.xml

  • uuid-key-generator.sar

次のディレクトリをJBOSS_HOME/server/default/deployディレクトリから削除します。

  • jboss-hibernate.deployer


    注意:

    このディレクトリは、存在する場合にのみ削除します。

  • jmx-console.war

  • management

  • http-invoker.sar

  • jboss-aop-jdk50.deployer

  • jbossws.sar

次のファイルを削除します。

JBOSS_HOME/server/default/deploy/jms/jbossmq-destinations-service.xml

JBOSS_HOME/server/default/conf/jboss-service.xmlファイルを開き、次の属性を削除します。

<attribute name'"RMI_IIOPService">jboss:service=CorbaORB</attribute>

8.10.2.2 クラスタ・インストール

次のファイルをJBOSS_HOME/server/all/deployディレクトリから削除します。

  • client-deployer-service.xml

  • monitoring-service.xml

  • scheduler-service.xml

  • schedule-manager-service.xml

  • mail-service.xml

  • jboss-aop-jdk50.deployer

  • jbossws.sar

次のディレクトリをJBOSS_HOME/server/all/deployディレクトリから削除します。

  • httpha-invoker.sar

  • jboss-hibernate.deployer

  • jmx-console.war

  • management

  • uuid-key-generator.sar

次のファイルを削除します。

JBOSS_HOME/server/all/deploy-hasingleton/jms/jbossmq-destinations-service.xml

JBOSS_HOME/server/all/conf/jboss-service.xmlファイルを開き、次の属性を削除します。

<attribute name'"RMI_IIOPService">jboss:service=CorbaORB</attribute>

8.11 アダプタ・コンパイル用コンパイラ・パスの設定

アダプタをコンパイルする、あるいはアダプタを持つデプロイメント・マネージャのXMLファイルをインポートするには、コンパイラ・パスを設定する必要があります。アダプタ・コンパイル用のコンパイラ・パスを設定するには、先にDesign Consoleをインストールしておく必要があります。Design Consoleのインストールおよびアダプタ・コンパイル用コンパイラ・パスの設定方法は、第9章「Oracle Identity Manager Design Consoleのインストールと構成」を参照してください。

8.12 JBoss Application Serverのxell-ds.xmlファイルのOracle Identity Managerデータベース・パスワードの暗号化

デフォルトでは、JBoss Application Serverは、データ・ソース・パスワードを暗号化しません。詳細は、次のJBossドキュメントを参照してください。

http://wiki.jboss.org/wiki/Wiki.jsp?page=EncryptingDataSourcePasswords

この項では、JBoss Application ServerのデプロイでOracle Identity Managerデータベース・パスワードを暗号化する方法を説明します。具体的には、次の手順を実行してパスワードを手動で暗号化し、クリアテキスト・パスワードではなく暗号化されたパスワードにアクセスできるようにxell-ds.xmlおよびlogin-config.xmlファイルを変更します。


注意:

クラスタ・インストールでは、クラスタのすべてのノードでこの手順を繰り返します。

  1. コンソール・ウィンドウを開き、JBOSS_HOMEディレクトリに移動します。

  2. 次のいずれかのコマンドを実行して、Oracle Identity Managerデータベース・パスワードを暗号化します。このコマンドのpasswordは、暗号化する実際のパスワードに置き換えてください。

    UNIX/Linux

    java -cp "JBOSS_HOME/lib/jboss-jmx.jar:lib/jboss-common.jar:server/
    default/lib/jboss-jca.jar:server/default/lib/jbosssx.jar"
    org.jboss.resource.security.SecureIdentityLoginModule password
    

    Microsoft Windows

    java -cp "JBOSS_HOME/lib/jboss-jmx.jar;lib/jboss-common.jar;server/
    default/lib/jboss-jca.jar;server/default/lib/jbosssx.jar" 
    org.jboss.resource.security.SecureIdentityLoginModule password
    
  3. 前の手順のコマンドを実行すると、指定したパスワードがエンコード形式で返されます。たとえば、パスワードWelcome1は、3146f9cc50afd6a6df8592078de921bcとしてエンコードされます。エンコードされたパスワードを選択し、コピーします。

  4. テキスト・エディタで、JBOSS_HOME/server/default/deploy/xell-ds.xmlファイルを開きます。

  5. <user-name>および<password>要素を、<local-tx-datasource>要素から削除します。

  6. 次の<security-domain>要素を、<local-tx-datasource>要素の末尾に追加します。

    <security-domain>EncryptDBPassword</security-domain>
    
  7. <xa-datasource-property name="User">および<xa-datasource-property name="Password">要素を、<xa-datasource>要素から削除します。

  8. 次の<security-domain>要素を、<xa-datasource>要素の末尾に追加します。

    <security-domain>EncryptXADBPassword</security-domain>
    
  9. JBOSS_HOME/server/default/deploy/xell-ds.xmlファイルを保存して閉じます。

  10. テキスト・エディタで、JBOSS_HOME/server/default/conf/login-config.xmlファイルを開きます。

  11. 次の要素を<application-policy>要素に追加します。


    注意:

    datasource_usernameをデータソース・ユーザー名に置き換え、encoded_passwordを手順3でコピーしたエンコードされたパスワードに置き換えます。

    <application-policy name = "EncryptDBPassword">
     <authentication>
      <login-module code = "org.jboss.resource.security.SecureIdentityLoginModule"
     flag = "required">
       <module-option name = "username">datasource_username</module-option>
       <module-option name = "password">encoded_password</module-option>
       <module-option name =
     "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=jdbc/xlDS</modu
    le-option>
      </login-module>
     </authentication>
    </application-policy>
    
    <application-policy name = "EncryptXADBPassword">
     <authentication>
      <login-module code = "org.jboss.resource.security.SecureIdentityLoginModule"
     flag = "required">
       <module-option name = "username">datasource_username</module-option>
       <module-option name = "password">encoded_password</module-option>
       <module-option name =
     "managedConnectionFactoryName">jboss.jca:service=XATxCM,name=jdbc/xlXADS</modu
    le-option>
      </login-module>
     </authentication>
    </application-policy>
    
  12. JBOSS_HOME/server/default/deploy/login-config.xmlファイルを保存して閉じます。

8.13 WebアプリケーションURLにアクセスするためのプロキシの構成(オプション)

デフォルトでは、Oracle Identity Managerは次のWebアプリケーションURLを使用します。場合によっては、次のURLへのアクセスを許可するためにプロキシを構成する必要があります。

8.14 ログ・レベルの設定(オプション)

Oracle Identity Managerでは、ロギングにlog4jが使用されます。JBoss対応のインストールでは、ロギングはjboss-log4j.xmlファイルで構成されます。

ログ・レベルは、デフォルトで警告に設定されています。ただし、DDMのログ・レベルはデフォルトでデバッグに設定されています。すべてのコンポーネントを一括して、または個別のコンポーネントごとにログ・レベルを変更できます。Oracle Identity Managerの通常操作では、このインストール後の構成手順は必須ではありません。

8.14.1 Oracle Identity Managerコンポーネントのロギング

コンポーネントは、OIM_HOME\xellerate\config\log.propertiesファイルのXELLERATEセクションで指定されます。次のようになります。

log4j.logger.XELLERATE=WARN
log4j.logger.XELLERATE.DDM=DEBUG
log4j.logger.XELLERATE.ACCOUNTMANAGEMENT=DEBUG
log4j.logger.XELLERATE.SERVER=DEBUG
log4j.logger.XELLERATE.RESOURCEMANAGEMENT=DEBUG
log4j.logger.XELLERATE.REQUESTS=DEBUG
log4j.logger.XELLERATE.WORKFLOW=DEBUG
log4j.logger.XELLERATE.WEBAPP=DEBUG
log4j.logger.XELLERATE.SCHEDULER=DEBUG
log4j.logger.XELLERATE.SCHEDULER.Task=DEBUG
log4j.logger.XELLERATE.ADAPTERS=DEBUG
log4j.logger.XELLERATE.JAVACLIENT=DEBUG
log4j.logger.XELLERATE.POLICIES=DEBUG
log4j.logger.XELLERATE.RULES=DEBUG
log4j.logger.XELLERATE.DATABASE=DEBUG
log4j.logger.XELLERATE.APIS=DEBUG
log4j.logger.XELLERATE.OBJECTMANAGEMENT=DEBUG
log4j.logger.XELLERATE.JMS=DEBUG
log4j.logger.XELLERATE.REMOTEMANAGER=DEBUG
log4j.logger.XELLERATE.CACHEMANAGEMENT=DEBUG
log4j.logger.XELLERATE.ATTESTATION=DEBUG
log4j.logger.XELLERATE.AUDITOR=DEBUG

8.14.2 JBoss Application Serverのためのログ・レベルの設定

jboss-log4j.xmlファイルは、JBoss Application Serverのすべてのロギングで使用されます。したがって、Oracle Identity ManagerコンポーネントではXellerateタグが使用されます。jboss-log4j.xmlファイルには次のようなXellerateの一般設定が含まれます。

<category name="XELLERATE">
  <priority value="WARN" />
</category>

一般設定のpriority valueを編集してすべてのコンポーネントのログ・レベルを変更するか、新しいロギング・カテゴリ要素を追加して特定のコンポーネントのログ・レベルを変更することができます。

追加できるカテゴリは、log.propertiesファイルのXELLERATEセクションに指定されています。詳細は、「Oracle Identity Managerコンポーネントのロギング」を参照してください。

たとえば、Oracle Identity Managerのレベルを変更するには、次の要素をjboss-log4j.xmlファイルに追加します。

<category name="XELLERATE.SERVER">
  <priority value="WARN" />
  <appender-ref ref="FILE"/>
</category>

JBoss Application ServerでOracle Identity Managerのログ・レベルを設定するには、次のようにします。

  1. テキスト・エディタでJBOSS_HOME\server\default\conf\jboss-log4j.xmlファイルを開きます。

    クラスタ・インストールでは、テキスト・エディタでJBOSS_HOME\server\all\conf\jboss-log4j.xmlファイルを開きます。

  2. 必要なコンポーネントの要素を挿入します。

  3. 必要なコンポーネントのpriority valueを適切なレベルに設定します。

    次に、サポートされるログ・レベルのリストを、ロギング情報の多い順に示します(DEBUGでは最も多くの情報がロギングされ、FATALでは最も少ない情報がロギングされます)。

    • DEBUG

    • INFO

    • WARN

    • ERROR

    • FATAL

  4. 変更内容を保存します。

8.15 Oracle Identity Managerのためのシングル・サインオン(SSO)の有効化(オプション)

次の手順で、ASCII文字のログインを使用するOracle Identity Managerに対してシングル・サインオンを有効にする方法を示します。非ASCII文字のログインに対応するシングル・サインオンを有効にする場合も、次の手順を使用しますが、手順4で説明する追加の構成が必要です。


関連項目:

Oracle Access Managerを利用するOracle Identity Managerでのシングル・サインオンの構成の詳細は、『Oracle Identity Managerベスト・プラクティス・ガイド』を参照してください。


注意:

英字のみのヘッダー名しか認証されません。ヘッダー名には特殊な文字や数字を使用しないことをお薦めします。

Oracle Identity Managerのためにシングル・サインオンを有効にするには、次のようにします。

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

  2. テキスト・エディタでOIM_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. アプリケーション・サーバーを再起動します。

8.16 カスタム認証の構成(オプション)

ここでは、カスタム認証ソリューションをOracle Identity Managerで使用する方法について説明します。

Oracle Identity Managerは、ユーザーを認証するためにJava Authentication and Authorization Service(JAAS)モジュールをデプロイしています。オフライン・メッセージ処理およびスケジュール済タスクの実行を必要とするような認証のいらないログインに対して、Oracle Identity Managerは署名ベースの認証を使用します。署名ベースの認証を取り扱う場合はJAASを使用する必要がありますが、標準の認証リクエストを取り扱う場合はカスタム認証ソリューションの使用が可能です。


注意:

アプリケーション・サーバーではOracle Identity Manager JAASモジュールを最初に呼び出される認証としてデプロイする必要があります。

JBoss Application Serverでカスタム認証を有効にするには、カスタム認証モジュール・クラスを実装します。すると、Oracle Identity Managerは標準の認証リクエストをカスタム認証モジュールに委任します。

JBoss Application Serverのカスタム認証を実装するには、次のようにします。

  1. テキスト・エディタでOIM_HOME\config\xlconfig.xmlファイルを開き、使用するカスタム・ログイン・モジュール・クラスで次の要素CustomLoginModuleを置き換えます。

    <login-module>
         <thirdPartyLoginModule>CustomLoginModule</thirdPartyLoginModule>
    </login-module>
    
  2. (オプション)カスタム認証モジュールの構成プロパティを指定します。まず、JBOSS_HOME\server\default\conf\login-config.xmlファイルをテキスト・エディタで開きます。


    注意:

    クラスタ・インストールでは、テキスト・エディタでJBOSS_HOME\server\all\conf\login-config.xmlファイルを開きます。

    次に、com.thortech.xl.security.jboss.UsernamePasswordLoginModuleパッケージの<login-module>要素内にモジュール・オプションを追加します。すると、Oracle Identity Managerは特定のプロパティをカスタム認証モジュール・クラスに委任します。たとえば、次のrolesPropertiesモジュール・オプションはカスタム認証モジュール・クラスに委任されます。

      <application-policy name = "xellerate">
        <authentication>
          <login-module
            code="com.thortech.xl.security.jboss.XLClientLoginModule"
            flag="required">
          </login-module>
          <login-module code=
              "com.thortech.xl.security.jboss.UsernamePasswordLoginModule"
               flag = "required" >
             <module-option name =
               "unauthenticatedIdentity">Unknown</module-option>
             <module-option name =
               "data-source">java:/jdbc/xlDS</module-option>
             <module-option name = 
               "rolesProperties">customRoleProperties</module-option>
          </login-module>    </authentication>
      </application-policy>
    
  3. カスタム認証JARファイルをJBOSS_HOME\server\default\libディレクトリにコピーします。

8.17 JNDIネームスペースの保護(オプション)

カスタム認証ソリューションを指定するときは、指定ユーザーのみがリソースを表示するパーミッションを持つようにJava Naming and Directory Interface(JNDI)ネームスペースを保護する必要があります。JNDIネームスペースを保護する主要な目的は、同じアプリケーション・サーバー・インスタンスにインストールされている可能性がある悪質なアプリケーションからOracle Identity Managerを保護することです。悪質かどうかにかかわらず他のアプリケーションがOracle Identity Managerと同じアプリケーション・サーバー・インスタンスにインストールされていなくても、標準のセキュリティ対策としてJNDIネームスペースを保護する必要があります。

JNDIネームスペースを保護し、Oracle Identity ManagerがJNDIネームスペースにアクセスするように構成するには、次のようにします。

  1. テキスト・エディタでOIM_HOME\config\xlconfig.xmlファイルを開き、次の要素を<Discovery>要素に追加します。

    <java.naming.security.principal>
    <java.naming.security.credentials>
    
  2. オプションでJNDIパスワードを暗号化するには、次のように、trueの値を割り当てたencrypted属性を<java.naming.security.credentials>要素に追加し、その要素の値としてそのパスワードを割り当てます。

    <java.naming.security.credentials
      encrypted="true">password</java.naming.security.credentials>
    
  3. 次の要素を<Scheduler>要素に追加します。

    <CustomProperties>
      <org.quartz.dataSource.OracleDS.java.naming.security.principal>user
      </org.quartz.dataSource.OracleDS.java.naming.security.principal>
      <org.quartz.dataSource.OracleDS.java.naming.security.credentials>pwd
      </org.quartz.dataSource.OracleDS.java.naming.security.credentials></CustomProperties>
    

8.18 SPML Webサービスのデプロイ(オプション)

組織では、ユーザー・レコードの変更情報を交換する複数のプロビジョニング・システムを使用できます。また、複数のプロビジョニング・システムとの対話するアプリケーションを使用することもできます。SPML Webサービスは、Oracle Identity Managerに対してレイヤーを提供し、SPMLリクエストを解析してOracle Identity Managerコールに変換できるようにします。

SPML Webサービスは、デプロイ可能なエンタープライズ・アーカイブ(EAR)ファイルにパッケージ化されています。このファイルは、Oracle Identity Managerのインストール時に生成されます。

EARファイルはOracle Identity Managerのインストール時に生成されるため、SPML WebサービスをOracle Identity Managerの実行元アプリケーション・サーバーにデプロイするためのスクリプトは、Oracle Identity Managerホーム・ディレクトリにある別のバッチ・ファイルによって実行されます。SPML Webサービスをデプロイするには、このバッチ・ファイルを実行する必要があります。

SPML Webサービスの詳細は、『Oracle Identity Manager Toolsリファレンス』の第12章「SPML Webサービス」を参照してください。