ヘッダーをスキップ
Oracle Identity Manager JBoss用インストレーション・ガイド
リリース9.0.3
E05089-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

7 Oracle Identity ManagerサーバーおよびJBossのインストール後の構成

Oracle Identity Managerをインストールした後、アプリケーションを使用する前に、この章で説明するインストール後のタスクの実行について検討する必要があります。Oracle Identity Managerのデプロイによって異なりますが、タスクの一部は実行しないことも可能です。ここでは、次のインストール後のタスクについて説明します。


注意:

この章の例はWindowsのものですが、インストール後のタスクはUNIXとLinuxにも適用されます。

WindowsインストールでのJBossポートの予約

次の手順を実行して、WindowsインストールでJBossの必要なポートを予約します。

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

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

Oracle Identity ManagerにはOracle Identity Managerサーバー用とデータベース用の2つのキーストアがあります。インストール時に両方のパスワードはxellerateに設定されます。すべての本番インストールでキーストア・パスワードを変更することをお薦めします。どちらのキーストアのキーストア・パスワードもkeytoolを使用して変更できます。

キーストア・パスワードを変更するには、次のようにします。

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

  2. <XL_HOME>\xellerate\configディレクトリにナビゲートします。

  3. 次のオプションを指定してkeytoolを実行します。

    <JAVA_HOME>\jre\bin\keytool -storepasswd -new <new_password> -storepass xellerate -keystore .xlkeystore -storetype JKS
    
    

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

    表7-1 keytoolのコマンド・オプション

    オプション 説明

    <JAVA_HOME>

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

    <new_password>

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

    -keystore <option>

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

    -storetype <option>

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


  4. プレーン・テキスト・エディタを起動し、<XL_HOME>\xellerate\config\xlconfig.xmlを開きます。

  5. <xl-configuration>.<Security>.<XLPKIProvider>.<KeyStore>セクションを編集して、キーストア・パスワードを指定します。


    注意:

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

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

    • (通常の文字で)パスワードを入力します。たとえば、次のブロックがあるとします。

      <Security>
      <XLPKIProvider>
      <KeyStore>
      <Location>.xlkeystore</Location>
      <Password encrypted="true">xYr5V2FfkRYHxKXHeT9dDg==</Password>
      <Type>JKS</Type>
      <Provider>sun.security.provider.Sun</Provider>
      </KeyStore>
      
      

      これを次のように変更します。

      <Security>
      <XLPKIProvider>
      <KeyStore>
      <Location>.xlkeystore</Location>
      <Password encrypted="false">newpassword</Password>
      <Type>JKS</Type>
      <Provider>sun.security.provider.Sun</Provider>
      </KeyStore>
      
      
  6. アプリケーション・サーバーを再起動します。

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

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


    注意:

    UNIXまたはLinuxでは、次のコマンドを使用してshellコマンドの履歴を消去してもよいでしょう。

    history -c


ログ・レベルの設定

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

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

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

コンポーネントは、<XL_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

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

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

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

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

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

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

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

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

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

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

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

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

    • DEBUG

    • INFO

    • WARN

    • ERROR

    • FATAL

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

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

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


関連資料:

Oracle Access Managerを利用するOracle Identity 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. アプリケーション・サーバーを再起動します。

1つのデータベースを使用する複数JBossインストールの構成

ロード・バランサに接続されている複数の非クラスタJBossインストールが1つのデータベースを指定している場合、個々のJBossインスタンスが異なるJMS表を使用するように構成する必要があります。

同じOracle Identity Managerデータベースを使用する2番目およびその他すべてのJBossインスタンスで次の手順を実行して、それらのインスタンスが異なるJMS表を使用するようにします。

  1. プレーン・テキスト・エディタを起動して、ディレクトリ<JBOSS_HOME>\server\default\deploy\jmsにナビゲートし、ファイル<database_name>-jdbc2-service.xmlを開きます。

    <database_name>は、複数のJBossインスタンスで使用される共通のデータベースを表すことに注意してください。

  2. <database_name>-jdbc2-service.xmlのsqlPropertiesセクションのすべての問合せと文において、JMS_MESSAGESおよびJMS_TRANSACTIONSで表される表の名前を、有効で新しい一意の値に変更します。

  3. ファイルの最後に次の文を追加します。

    DELETE_TEMPORARY_MESSAGES = DELETE FROM <NEW_JMS_MESSAGES_NAME>
        WHERE TXOP='T'
    CREATE_IDX_MESSAGE_TXOP_TXID = CREATE INDEX
        <NEW_JMS_MESSAGES_NAME>_TXOP_TXID ON <NEW_JMS_MESSAGES_NAME> (TXOP, TXID)
    CREATE_IDX_MESSAGE_DESTINATION = CREATE INDEX
        <NEW_JMS_MESSAGES_NAME>_DESTINATION ON <NEW_JMS_MESSAGES_NAME>(DESTINATION)
    
    

    注意:

    <NEW_JMS_MESSAGES_NAME>は、手順2で変更したJMS_MESSAGES表の新しい名前です。

  4. ファイルを保存して閉じます。

カスタム認証の構成

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

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


注意:

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

JBossアプリケーション・サーバーでカスタム認証を有効にするには、カスタム認証モジュール・クラスを実装します。すると、Oracle Identity Managerは標準の認証要求をカスタム認証モジュールに委任します。

JBossのカスタム認証を実装するには:

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

    <login-module>
         <thirdPartyLoginModule>CustomLoginModule</thirdPartyLoginModule>
    </login-module>
    
    
  2. オプション。テキスト・エディタで<JBOSS_HOME>/config/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ディレクトリにコピーしてください。

JNDIネームスペースの保護

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

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

  1. テキスト・エディタで<XL_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>