ヘッダーをスキップ
Oracle Identity Federation管理者ガイド
10g(10.1.4.0.1)
B31476-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

9 高度なトピック

この章では、次に示すような、Oracle Identity Federationの管理に関するその他のトピックについて説明します。

9.1 コンフィギュレーション・アシスタント

Oracle Identity Federationには、次のタスクをサポートするためのコンフィギュレーション・アシスタントが用意されています。

コンフィギュレーション・アシスタントを使用した一時データ・ストアの変更

このコンフィギュレーション・アシスタントを使用すると、Oracle Identity Federationサーバーが使用する一時データ・ストアのタイプを変更できます。メモリーベースの一時ストアからRDBMSベースのストアに、またはRDBMSベースのストアからメモリーベースのストアに変更できます。

コンフィギュレーション・アシスタントは次のタスクを実行します。

  1. 必要に応じてRDBMSに接続し、Oracle Identity Federationデータベース表を作成します。

  2. 新しい一時データ・ストア・タイプにアプリケーションをパッケージングします。

  3. Oracle Identity Federationを再デプロイします。

  4. Oracle Identity Federation構成を更新して一時データ・ストアの新しいタイプを反映させます。

これらのタスクの詳細は、「コンフィギュレーション・アシスタントの操作」を参照してください。

使用方法の詳細は、「コマンドライン・コンフィギュレーション・アシスタントによる一時データ・ストアの変更」を参照してください。

コンフィギュレーション・アシスタントを使用したアンインストール

コンフィギュレーション・アシスタントは、サーバー削除を実行するコマンドライン・ツールとして呼び出されることもあります。使用方法の詳細は、「コンフィギュレーション・アシスタントを使用したアンインストール」を参照してください。

内容は次のとおりです。

9.1.1 コンフィギュレーション・アシスタントの前提条件

コンフィギュレーション・アシスタントを正しく実行するには、次の要件が満たされる必要があります。

  • Oracle Identity Federationが使用するファイルとそれが依存するコンポーネントが、それぞれの場所にコピーされる必要があります。

  • OC4Jがインストールされ、実行中である必要があります。

  • デプロイメント・ツール(dcmctl)がインストールされ、コンフィギュレーション・アシスタントから使用できる必要があります。

  • コンフィギュレーション・アシスタントが、OC4Jにアクセスし、構成できる適切な権限があるオペレーティング・システム・アカウントから実行されている必要があります。

  • LDAPリポジトリを使用してフェデレーション・レコードを格納するようにOracle Identity Federationを構成する場合、そのサーバーが稼働し、実行中である必要があります。

  • RDBMSを新しい一時データ・ストアとして設定している場合、使用するデータベース・インスタンスを参照して、ローカルにTNS名が定義されている必要があります。「ローカル・ネット・サービス名構成」エントリを作成するには、ネット・コンフィギュレーション・アシスタントを参照してください。

コンフィギュレーション・アシスタントは、タスクを実行する前に、コマンドラインで指定したパラメータを検証します。アシスタントは次の作業を行うことができます。

  • 必須パラメータが存在し、有効な値を持っていることを確認します。

  • LDAPサーバーまたはRDBMSサーバーに接続して、すべての接続パラメータを確認します。

検証エラーの場合、コンフィギュレーション・アシスタントはエラー・メッセージを表示して、ステータス・コード障害を返します。

9.1.2 コンフィギュレーション・アシスタントの操作

コンフィギュレーション・アシスタントは、Oracle Identity Federationの保守に関する多数のタスクを実行します。

9.1.2.1 リポジトリの保守

コンフィギュレーション・アシスタントは、フェデレーション・レコードやアーティファクトなどの各種のタスク、メッセージ、およびセッション情報に必要なバックエンド・リポジトリを構成および保守します。

9.1.2.2 デプロイメント

コンフィギュレーション・アシスタントは、Oracle Universal Installer経由で提供された構成データでearアプリケーション・ファイルを更新してから、OC4JインスタンスにOracle Identity Federationをデプロイします。

9.2 コマンドライン・ツール

この項では、Oracle Identity Federationコマンドライン・ツールについて詳しく説明します。

9.2.1 バルク・フェデレーション・ユーティリティ

管理者は、Oracle Identity Federationに用意されているコマンドライン・ツールを使用して、ユーザー・フェデレーション・レコードをバルク・ロードできます。

予備知識として、フェデレーションがユーザーと2つのプロバイダの間のアカウント・リンクを表すことに注意してください。一般に、2つのプロバイダはフェデレーションに含まれるデータを使用して個人を識別することに同意します。このため、フェデレーションが作成される際に、これらのプロバイダはそのユーザーを識別するために特定の情報を使用することに同意しています。

バルク・フェデレーション・ユーティリティを使用すると、管理者は、LDAPリポジトリにフェデレーション・レコードを作成するために使用できる、LDIFファイルを作成できます。これらのフェデレーション・レコードはユーザーとピア・プロバイダにリンクされます。

手順は次のとおりです。

  1. ユーティリティが入力ファイルから指示を読み込みます。特定のフェデレーション・レコードでは、入力データはフェデレーションを所有するユーザーのID、フェデレーションがリンクされるピア・プロバイダのID、および他のパラメータを含んでいることがあります。

  2. LDAPコマンドを含むLDIFファイルが作成されます。

  3. 続いて管理者はLDIFファイルを実行して、ターゲットLDAPサーバーにフェデレーション・レコードを移入します。

このように、このツールはLDAPサーバーと直接には相互作用しません。管理者はフェデレーション・データをバルク・ロードする前に、リポジトリに対する変更を分析することが可能です。

このユーティリティは、LDAPサーバーにLDIFファイルを作成する他に、作成されたすべてのフェデレーションのリストが含まれる結果ファイルを生成します。続いて管理者はこのファイルを、フェデレーションの作成対象となるピア・プロバイダに伝達できます。これは、ピアも同様に、リポジトリ内の対応するフェデレーション情報をロードする必要があるためです。

バルク・フェデレーション・ユーティリティの動作モード

バルク・ロード・ツールは、次の2つのモードで動作します。

  • 限定されたデータ・セット(ユーザーID、ピア・プロバイダIDなど)を使用して次の項目を作成するために作成モード。

    1. フェデレーション・データ

    2. 対応するLDAPコマンド

  • フェデレーション・データを含む入力ファイルを読み取る読取りモード。このモードでは、ツールはLDAPコマンドを含むLDIFファイルのみを生成します。フェデレーション・データは作成されません。

バルク・ロードのフロー

例として、SP-AおよびIdP-Bという名前の2つのプロバイダを考えます。各プロバイダはシステム上に10人のユーザーを持ち、管理者は、バルク・フェデレーション・ロード・ユーティリティを使用して、これらすべてのユーザーにフェデレーションを作成しようとしています。

必要な手順は次のとおりです。

  1. プロバイダ(たとえばSP-A)のいずれかが、作成されるフェデレーションのリストを含む入力ファイルを作成します。作成される各フェデレーション・データには、SP-AでのユーザーID、リモート・プロバイダID(IdP-B)、およびその他の情報が含まれます。

  2. 続いてSP-Aの管理者は、作成モードでバルク・ロード・ツールを使用します。ツールは入力ファイルを読み取り、SP-AフェデレーションLDAPサーバーのためのLDAPコマンドを含むLDIFファイルと、フェデレーション・データの出力ファイルの、2つのファイルを作成します。

  3. SP-A管理者は、LDIFファイルを使用して、SP-AのLDAPフェデレーション・サーバーにデータを移入します。この手順が完了すると、SP-Aにフェデレーション・レコードが作成されています。

  4. IdP-Bでは、管理者は出力ファイルを受信し、読取りモードのバルク・ロード・ユーティリティをそのファイルに適用します。ツールはファイルを読み取り、LDAPコマンドを含むLDIFファイルを作成します。

  5. 最後に、IdP-B管理者はLDAPフェデレーション・サーバーに対して、IdP-Bにフェデレーション・レコードを作成するLDAPコマンドを実行します。これで、両方のプロバイダにフェデレーションができました。

9.2.1.1 作成モード

作成モードでは、ツールは入力ファイルの内容に基づいて新しいフェデレーション・アカウント・リンク・データを生成します。各フェデレーション・レコードで、入力ファイルには次の情報が含まれます。

表9-1 バルク・ロードの作成モードにおける入力ファイルのフィールド

フィールド 説明 必須かどうか

UserID

Oracle Identity Federationがユーザー・データ・ストアで一意にユーザーを参照するために使用するユーザーIDです。

必須

UserDescription

LDAPフェデレーション・レコードに設定される、可読的なユーザーIDです。

必須

ProviderID

フェデレーションが作成されるピア・プロバイダのIDです。

必須

Version

フェデレーションのバージョンです。1.1、1.2、または2.0を指定します。

必須

Type

フェデレーションのタイプです。次の値が可能です。

  • OIF_IDP_SP(SPピア・プロバイダに対するIdPとして動作するOracle Identity Federation)

  • OIF_IDP_AFFILIATION(アフィリエーションまたはSPのグループに対するIdPとして動作するOracle Identity Federation)

  • OIF_SP_IDP(IdPピア・プロバイダに対するSPとして動作するOracle Identity Federation)

  • OIF_AFFILIATION_IDP(アフィリエーションまたはSPおよびIdPピア・プロバイダのグループの一部として動作するOracle Identity Federation)

必須

AffiliationID

Oracle Identity Federationがアフィリエーションとして動作する場合の構成におけるAffiliationIDです。注意: Oracle Identity FederationのProviderIDではありません。

タイプがOIF_AFFILIATION_IDPの場合は必須


作成モードで使用する入力ファイルのサンプルを次に示します。

UserID: user1b1
UserDescription: user1bb1
ProviderID: http://sp.oracle.com
Version: 2.0
Type: OIF_IDP_SP

UserID: user1b2
UserDescription: user1bb2
ProviderID: http://sp.oracle.com
Version: 2.0
Type: OIF_IDP_SP

UserID: user1b1
UserDescription: user1bb1
ProviderID: http://idp.oracle.com
Version: 2.0
Type: OIF_SP_IDP

9.2.1.2 読取りモード

読取りモードでは、ツールは既存のフェデレーション・アカウント・リンク・データを入力ファイルから読み取りますが、新しいフェデレーションは作成しません。各フェデレーション・レコードで、入力ファイルには次の情報が含まれます。

表9-2 バルク・ロードの読取りモードにおける入力ファイルのフィールド

フィールド 説明 必須かどうか

UserID

Oracle Identity Federationがユーザー・データ・ストアで一意にユーザーを参照するために使用するユーザーIDです。

必須

UserDescription

LDAPフェデレーション・レコードに設定される、可読的なユーザーIDです。

必須

ProviderID

フェデレーションが作成されるピア・プロバイダのIDです。

必須

Version

フェデレーションのバージョンです。1.1、1.2、または2.0を指定します。

必須

Type

フェデレーションのタイプです。次の値が可能です。

  • OIF_IDP_SP(SPピア・プロバイダに対するIdPとして動作するOracle Identity Federation)

  • OIF_IDP_AFFILIATION(アフィリエーションまたはSPのグループに対するIdPとして動作するOracle Identity Federation)

  • OIF_SP_IDP(IdPピア・プロバイダに対するSPとして動作するOracle Identity Federation)

  • OIF_AFFILIATION_IDP(アフィリエーションまたはSPおよびIdPピア・プロバイダのグループの一部として動作するOracle Identity Federation)

必須

AffiliationID

Oracle Identity Federationがアフィリエーションとして動作する場合の構成におけるAffiliationIDです。注意: Oracle Identity FederationのProviderIDではありません。

タイプがOIF_AFFILIATION_IDPの場合は必須

IdPNameID

これはフェデレーションのIdP名前識別子です。

必須

SPNameID

これはフェデレーションのSP名前識別子です。

オプション

Format

これはフェデレーションの名前識別子のフォーマットです。

オプション

Qualifier

これはフェデレーションの名前識別子の修飾子です。

オプション


読取りモードで使用する入力ファイルのサンプルを次に示します。

userid: user1b1
userdescription: user1bb1
providerid: http://sp.oracle.com
idpnameid: id-SHMeaEZkk4jqiHl32BmmIAcBy4o-
format: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
qualifier: http://sp.oracle.com
version: 2.0
type: OIF_IDP_SP

userid: user1b2
userdescription: user1bb2
providerid: http://sp.oracle.com
idpnameid: id-QTqtXv13IE493asxqGF-CoeBuRM-
format: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
qualifier: http://sp.oracle.com
version: 2.0
type: OIF_IDP_SP

userid: user1b1
userdescription: user1bb1
providerid: http://idp.oracle.com
idpnameid: id-He4Nvgeiz4BLzhRhlPzebViLQbU-
format: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
qualifier: http://stadm04.us.oracle.com:7780/fed/sp
version: 2.0
type: OIF_SP_IDP

9.2.1.3 バルク・ロードで生成される出力ファイル

作成モードと読取りモードの両方で、ツールは次の3つの出力ファイルを作成します。

  1. LDIFファイル

  2. 結果ファイル

  3. エラー・ファイル

LDIFファイル

このファイルには、管理者がLDAPサーバーに対して実行する必要があるLDAP文が含まれます。LDIFファイルを実行すると、サーバーにユーザー・フェデレーション・レコードが移入されます。この手順は通常、次のような形式のldapmodifyコマンドを使用して実行します。

ldapmodify –a –c –x –D "cn=Admin,dc=example,dc=com" –w PASSWORD
    -h LDAP_HOSTNAME –p LDAP_PORT –f LDIF_FILE

結果ファイル

結果ファイルには、作成されたフェデレーション・レコードについての情報が含まれます。このファイルは通常、サード・パーティ・プロバイダに伝達され、フェデレーション・リポジトリに対応するフェデレーション・レコードを移入するために使用されます。

結果ファイルの説明は表9-2を参照してください。

エラー・ファイル

エラー・ファイルには、処理できなかった入力エントリのレコードが含まれます。エラー・レコードの構成要素は次のとおりです。

  • USERID: データ・ストアで一意にユーザーを参照するためにOracle Identity Federationによって使用される識別子です。

  • ProviderID: フェデレーションが作成されるピア・プロバイダのIDです。

9.2.1.4 構文と例

バルク・ロード・ユーティリティは、次のようにコマンドラインで呼び出します。

java -jar bulkload.jar <parameters>

パラメータは次のとおりです。

  • -f INPUT_FILE: 作成するフェデレーション・レコードを指定する情報が含まれているファイルです。

  • -dir OUTPUT_DIR: LDIFファイル、結果ファイルおよびエラー・ファイルなどの出力ファイルが作成されるディレクトリです。

  • -oifdir OIF_DIR: 最上位のOracle Identity Federationディレクトリです。このディレクトリには通常、bin、conf、libおよびlogの各ディレクトリが含まれています。

  • -c: 作成モードです。フェデレーション・レコードを作成する必要があることを示します。ツールにより、IdPNameID、FormatおよびQualifierの各フィールドが生成されます。

  • -rr: 読取りモードです。フェデレーション・レコード情報が入力ファイルに含まれることと、フェデレーション・データを作成しないことを示します。情報をファイルから読み取って、LDIFファイルおよび結果ファイルを作成します。

例1

java -jar fed/lib/bulkload.jar -f user-fed-data.dat -dir /saveDir -oifdir $ORACLE_HOME/fed -c

このコマンドはツールに対して、フェデレーションを作成する対象となるユーザーのリストを含むファイルを読み取り、レコードを作成するために管理者がLDAPサーバーに対して実行できるLDIFファイル、およびフェデレーションが作成されたピア・プロバイダに送信されるフェデレーション情報を含むファイルを作成するよう指示します。

例2

java -jar fed/lib/bulkload.jar -f peer-user-fed-data.dat -dir /saveDir -oifdir $ORACLE_HOME/fed -r

このコマンドはツールに対して、ピア・プロバイダによって送信されたファイル(たとえばバルク・ロード・ツールによって作成されたファイル)を読み取り、フェデレーション・レコードを作成するためのコマンドを含む入力ファイルに基づいてLDIFファイルを作成するように指示します。

例3

この例は、この項で説明した概念をまとめて、フェデレーション・ユーザーのバルク・ロードが実行するすべての手順を最初から最後まで示しています。

この例で、ユーザーの入力ファイルはIdP側で作成され、IdPフェデレーション・サーバーに移入されます。続いてSPが結果ファイルを使用して、SPサーバーにデータ・レコードを移入するために必要なデータを生成します。

  1. 入力ファイルを作成します。

    UserID: buser9
    UserDescription: buser9
    ProviderID: http://platinum-ob.us.oracle.com:7780/fed/sp
    Version: 1.2
    Type: OIF_IDP_SP
    
    UserID: buser10
    UserDescription: buser10
    ProviderID: http://goofy.us.oracle.com:7785/fed/sp
    Version: 1.2
    Type: OIF_IDP_SP
    
    
  2. Oracle_Home\fed\libディレクトリにナビゲートし、result.ldifおよびresult.txtファイルを生成します。次に例を示します。

    D:\osfshome2\jdk\bin\java -jar bulkload.jar -f users
       -dir D:\osfshome2\fed\lib -oifdir D:\osfshome2\fed -c
    
    
  3. IdPディレクトリにresult.ldifをインポートします。次に例を示します。

    ldapmodify -h platinum-ob.us.oracle.com -a -f result.ldif
       -D "cn=orcladmin" -w malibu97 -p 13060
    
    
  4. SPにresult.txtファイルをコピーし、SPに合せてファイルのserverid、type、userid、userdescriptionおよびprovideridの値を変更します。

  5. SPで、バルク・ツールにresult.txtファイルを読み込んでLDIFファイルを生成します。次に例を示します。

    C:\OraHome_030306>jdk\bin\java -jar fed\lib\bulkload.jar
       -f c:\orahome_030306\fed\lib\result.txt
       -dir c:\orahome_030306\fed
       -oifdir c:\orahome_030306\fed -r
    
    
  6. 生成されたLDIFファイルをSPのディレクトリにインポートします。

    ldapmodify –a –c –x –D "cn=Directory Manager" –w 97malibu
       –h akeim2.us.oracle.com –p 440 –f result.ldif
    
    

これでフェデレーションが作成されました。ユーザーはシングル・サインオンでき、SPでログインする必要はもうありません。

9.2.2 コマンドライン・コンフィギュレーション・アシスタントによる一時データ・ストアの変更

このユーティリティの説明は、「コンフィギュレーション・アシスタント」を参照してください。

9.2.2.1 構文と例

インストール・コンフィギュレーション・アシスタントは、次のようにコマンドラインで呼び出します(RDBMSのパスワードを求めるプロンプトが表示されます)。

java -jar $ORACLE_HOME/fed/lib/install.jar <parameters>

パラメータは次のとおりです。

  • -oh $ORACLE_HOME: Oracle Application Serverのインストール・ディレクトリを参照するORACLE_HOME変数の場所です。必須。

  • -transient <TYPE> Oracle Identity Federationで一時データ・ストアとして使用するリポジトリのタイプ。可能な値はmemoryまたはRDBMSです。必須。

  • -dbtnsname <TNSNAME>: RDBMS TNS名です。一時データ・ストアにRDBMSを使用する場合は必須。

  • -dbusername <USERNAME>: RDBMSユーザー名です。一時データ・ストアにRDBMSを使用する場合は必須。

  • -uselocalconfig <BOOLEAN>: -transient rdbmsとともに使用するオプションのパラメータで、このインスタンスのローカル構成設定がデータベースに現在格納されている設定を上書きするかどうかを制御します。可能な値は「true」または「false」です。「true」の場合、Oracle Identity Federationサーバーのローカル・ファイルでの構成設定が、選択されたデータベースに現在格納されている設定のかわりに使用されます。「false」のまたはこのパラメータがない場合は、RDBMSに格納されている設定(存在する場合)がローカル構成ファイルを上書きします。デフォルトは「false」です。

    前述のとおり、一時データ・ストアとしてRDBMSを使用する場合に指定可能なオプションのパラメータです。

要件

コンフィギュレーション・アシスタントを実行する前に、次の環境変数を設定します。

  • $ORACLE_HOME: Oracleホーム・ディレクトリを参照している環境変数。次に例を示します。

    • Windowsの場合

      set ORACLE_HOME=c:\DIR

    • Linux bashシェルの場合

      export ORACLE_HOME=/DIR

  • Linuxでは、LD_LIBRARY_PATH$ORACLE_HOME/libディレクトリが含まれるように設定する必要があります。ここでは、ORACLE_HOME環境変数がすでに設定されると想定しています。次に例を示します。

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    
  • Windowsでは、PATH環境変数に%ORACLE_HOME%/libおよび%ORACLE_HOME%/binディレクトリが含まれるように設定する必要があります。ここでは、ORACLE_HOME環境変数がすでに設定されると想定しています。次に例を示します。

    set PATH=%ORACLE_HOME%/bin;ORACLE_HOME%/lib;%path%
    
    

例1

$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/fed/lib/install.jar -oh ORACLE_HOME -transient memory

一時データがメモリーに格納されることに注意してください。

例2

$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/fed/lib/install.jar -oh ORACLE_HOME -transient rdbms -dbusername USERNAME -dbtnsname TNSNAME

一時データがRDBMSに格納されることに注意してください。

9.2.3 コマンドライン・コンフィギュレーション・アシスタントを使用したアンインストール

コンフィギュレーション・アシスタントには、次の処理を実行するためのアンインストール機能が用意されています。

  • アンインストールするOracle Identity Federationサーバーが作成したフェデレーション・レコードをすべて破棄します。

  • すべてのフェデレーション・レコードが最初の手順で破棄された場合、機密性が高くない補助データをすべて破棄します。Oracle Identity Federationは、LDAPフェデレーション・サーバーを使用してデータを格納する唯一のサーバーですから、構造データを破棄しても安全です。

  • インストール時にコンフィギュレーション・アシスタントがLDAPスキーマに追加した属性とオブジェクト・クラスを削除します。


    注意:

    Microsoft Active Directoryでは、ディレクトリのスキーマからエントリを削除できないため、この機能はサポートされません。

  • 永続データを格納するために使用するRDBMS一時表が存在する場合は破棄します。

コンフィギュレーション・アシスタントはアンインストーラに、次の内容を通知します。

  • Oracle Identity Federationが永続データを格納するためにRDBMSデータベースを使用したかどうか

  • フェデレーション・レコードを格納するためにLDAPストアが使用されたかどうか

LDAP処理またはRDBMS処理を実行する必要がある場合、アンインストール・ツールは、LDAPまたはRDBMS接続情報を尋ねます。その情報は、続いてコンフィギュレーション・アシスタントに渡されます。この方法により、管理者はLDAPサーバーまたはRDBMSサーバーで管理タスクを実行するために必要な正しい情報や資格証明を指定できます。


関連項目:

Oracle Identity Federationのアンインストールの詳細は、「Oracle Identity Federationのアンインストール」を参照してください。

9.2.3.1 構文と例

アンインストール・コンフィギュレーション・アシスタントは、次のようにコマンドラインで呼び出します(LDAP/RDBMSのパスワードを求めるプロンプトが表示されます)。

java -jar $ORACLE_HOME/fed/lib/uninstall.jar <parameters>

パラメータは次のとおりです。

  • -uninstall - アンインストール・プロセスを起動します。必須。

  • -oh ORACLE_HOME: OracleASインストール・ディレクトリを参照するORACLE_HOME変数の場所です。必須。

  • -removefed true|false: LDAPサーバーからフェデレーション・レコードを削除するかどうかを示します。

  • -LDAP true|false: LDAPサーバーからOracle Identity Federationスキーマを削除するかどうかを示します。

  • -ldaptype: リポジトリのタイプを示します。可能な値はoidmsadiplanetおよびtivoliです。

  • -ldapurl: LDAP URLです。

  • -ldapusername: LDAP管理者のユーザー名です。

  • -db: RDBMSサーバーから一時Oracle Identity Federation表を削除するかどうかを示します。

  • -dbtnsname <TNSNAME>: RDBMS TNS名です。-dbtrueの場合に必要です。

  • -dbusername <USERNAME>: RDBMSユーザー名です。-dbtrueの場合に必要です。


注意:

パラメータと可能な値のリストを表示するには、パラメータを指定しないでツールを実行します。

要件

Oracle Identity Federationによって作成されたRDBMS表を削除する場合は、アンインストール・ツールを実行する前に、次の手順を実行します。

  • 環境変数を設定します。

    Linuxの場合

    LD_LIBRARY_PATH変数に$ORACLE_HOME/libディレクトリが含まれるように設定します。ここでは、ORACLE_HOME環境変数がすでに設定されると想定しています。次に例を示します。

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib

    Windowsの場合

    PATH環境変数に%ORACLE_HOME%/libおよび%ORACLE_HOME%/binディレクトリが含まれるように設定します。ここでは、ORACLE_HOME環境変数がすでに設定されると想定しています。次に例を示します。

    set PATH=%ORACLE_HOME%/bin;ORACLE_HOME%/lib;%path%

  • RDBMSを参照しているTNS名を取得します。この値は$ORACLE_HOME/network/admin/tnsnames.oraファイルにある、データベースへの接続に使用する接続情報を参照する識別子です。

例1

java -jar fed/lib/uninstall.jar -uninstall -oh $ORACLE_HOME -removefed true -ldap false -ldapurl ldap://ldap.com -ldapusername admin -db false

このコマンドはLDAPサーバーからすべてのフェデレーション・レコードを削除します。

例2

java -jar fed/lib/uninstall.jar -uninstall -oh ORACLE_HOME -removefed true -ldap true -ldaptype oid -ldapurl ldap://ldap.com -ldapusername admin -db false

このコマンドは、次の内容を実行します。

  • LDAPサーバーからすべてのフェデレーション・レコードを削除します。

  • LDAPサーバーからOracle Identity Federationスキーマを削除します。

例3

java -jar fed/lib/uninstall.jar -uninstall -oh ORACLE_HOME -removefed true -ldap true -ldaptype oid -ldapurl ldap://ldap.com -ldapusername admin -db true -dbtnsname orcl -dbusername scott

このコマンドは、次の内容を実行します。

  • LDAPサーバーからすべてのフェデレーション・レコードを削除します。

  • LDAPサーバーからOracle Identity Federationスキーマを削除します。

  • RDBMSサーバーから一時Oracle Identity Federation表を削除します。

9.2.4 コマンドラインのフェデレーション削除ツール

Oracle Identity Federation 10.1.4.2.0のパッチ・セットでは、フェデレーション・データ・ストアからフェデレーション・レコードの一括削除操作を実行するための新しいコマンドライン・ツールを提供しています。

このツールは、リモート・プロバイダに通知することなく、フェデレーション・データ・ストアとして使用しているLDAPサーバーからフェデレーション・レコードを直接削除します。そのため、Liberty 1.x/SAML 2.0プロトコルは実行されず、フェデレーション・レコードをローカルで削除したことがプロバイダに通知されません。

次の場合、ツールを使用してフェデレーション・レコードを削除します。

  • リモート・プロバイダがすでに存在しない場合

  • リモート・プロバイダがトラスト・サークルにない場合

  • リモート・プロバイダがフェデレーション終了プロトコルをサポートしていない場合

  • ローカル管理者が、リモート・プロバイダに通知せずにフェデレーション・レコードを削除する場合


注意:

フェデレーション・レコードを削除し、リモート・プロバイダに通知する場合は、Oracle Identity Federation管理コンソールの「アイデンティティ・フェデレーション」タブを使用し、フェデレーションを削除します。この操作を実行すると、リモート・プロバイダに接続し、レコードが削除されたことが通知されます。

フェデレーション削除ツールは、様々な方法で使用できます。

  • 特定のユーザーのすべてのフェデレーション・レコードの削除

  • 特定のリモート・プロバイダにリンクされたすべてのフェデレーション・レコードの削除

  • ユーザーのリストのすべてのフェデレーション・レコードの削除

それぞれのタイプの使用例は、次を参照してください。

9.2.4.1 構文と例

コマンドラインから、次のとおりフェデレーション削除ツールを起動します(コマンドの実行時にLDAPパスワードを入力します)。

java -jar $ORACLE_HOME/fed/lib/fedadmin.jar <parameters>

パラメータは次のとおりです。

  • -oh ORACLE_HOME: ORACLE_HOMEディレクトリです。必須。

  • -ldapurl url: LDAPフェデレーション・データ・ストアのURLです。

  • -ldapusername username: LDAPフェデレーション・データ・ストアへの接続に使用するLDAPユーザー名です。

  • -providerid id: フェデレーションを削除する必要のあるプロバイダIDです。

  • -userid id: フェデレーションを削除する必要のあるユーザーIDです。

  • -useridfile file: フェデレーションを削除する必要があるユーザーIDの一覧を含むファイルへの絶対パスです。

例1

特定のユーザーのすべてのフェデレーション・レコードを削除するため、管理者はユーザーの識別子を指定します。

たとえば、次のコマンドでは、ユーザーaliceのすべてのフェデレーション・レコードを削除します。

java -jar $ORACLE_HOME/fed/lib/fedadmin.jar -oh $ORACLE_HOME -ldapurl ldap://ldap.com -ldapusername ADMIN -userid alice


注意:

識別子の値は、「Oracle Identity Federation - 管理コンソール」の「ユーザー・データ・ストア」セクションで構成した「ユーザーID属性」と同じタイプである必要があります。

例2

特定のリモート・プロバイダにリンクされたすべてのフェデレーション・レコードを削除するため、管理者はリモート・プロバイダの識別子を指定します。

たとえば、次のコマンドでは、http://idp.com/idpで識別されるプロバイダにリンクされたすべてのフェデレーション・レコードを削除します。

java -jar $ORACLE_HOME/fed/lib/fedadmin.jar -oh $ORACLE_HOME -ldapurl ldap://ldap.com -ldapusername ADMIN -providerid http://idp.com/idp

例3

ユーザーのリストのすべてのフェデレーション・レコードを削除するため、管理者はユーザーの識別子を含むファイルを指定します。

たとえば、次のコマンドを実行します。

java -jar $ORACLE_HOME/fed/lib/fedadmin.jar -oh $ORACLE_HOME -ldapurl ldap://ldap.com -ldapusername ADMIN -useridfile users.txt

ファイルusers.txtには次のデータが含まれます。

alice
bob
charlie

このコマンドは、ユーザーalicebobおよびcharlieのすべてのフェデレーション・レコードを削除します。


注意:

識別子の値は、「Oracle Identity Federation - 管理コンソール」の「ユーザー・データ・ストア」セクションで構成した「ユーザーID属性」と同じタイプである必要があります。

9.3 Oracle Identity Federationのパフォーマンス管理

この項では、Oracle Identity Federationサーバーのパフォーマンスに関する次のトピックについて説明します。


関連資料:

『Oracle Application Serverパフォーマンス・ガイド』

9.3.1 同時接続制限の設定

2つのフェデレーション・サーバーの間の通信は、SOAP-over-HTTPプロトコルを使用して行われます。Oracle Identity Federationには、次のデフォルト接続制限が用意されています。

  • 1つのホストへの同時接続数は4.0に制限されます。

  • 最大合計接続数は100に制限されます。

適切な接続パラメータを設定して、デフォルトの制限より優先できます。

  1. Enterprise Managerコンソールにログオンします。

  2. コンソールで、「OC4J_FED」「管理」「サーバー・プロパティ」とナビゲートします。

  3. 「Javaオプション」構成に、次のエントリを追加します。

    -Dhttp.fed.host=VALUE1
    -Dhttp.fed.max.conn=VALUE2
    
    

    ここで、VALUE1およびVALUE2は管理者が設定する値です。

  4. OC4J_FEDを再起動します。

9.3.2 JDBC接続制限の設定

Oracle Identity Federationで一時データ・ストアにデータベースが使用される場合、サーバーは接続マネージャを使用してデータベースへのSQL接続を開いて保守します。

RDBMSを一時データ・ストアとして使用する場合、接続マネージャはデフォルトで次の設定を使用します。

JDBC接続設定 デフォルト値
最小接続数 1
最大接続数 150
非アクティブの最大タイムアウト(この長さの時間を経過して非アクティブの場合、接続を閉じる) 7200秒
接続待機タイムアウト(新しい接続を待機する時間の最大値) 30秒

管理者は、次の手順を使用してこれらの設定を無視できます。

  1. Enterprise Managerコンソールにログオンします。

  2. コンソールで、「OC4J_FED」「管理」「サーバー・プロパティ」とナビゲートします。

  3. 設定値に対応する「Javaオプション」構成に、次のエントリを追加します。

    • -Dfed.jdbc.min.conn=VALUE(最小接続数に設定する値)

    • -Dfed.jdbc.max.conn=VALUE(最大接続数に設定する値)

    • -Dfed.jdbc.max.usage=VALUE(非アクティブの最大タイムアウトに設定する秒数)

    • -Dfed.jdbc.max.timeout=VALUE(接続待機タイムアウトに設定する秒数)

  4. 設定を保存し、OC4J_FEDを再起動します。

9.3.3 Oracle HTTP Serverのチューニング

Oracle HTTP Serverは、デフォルトで、一般的な使用事例にあわせて構成されています。

高負荷を効率的に処理するために、Oracle HTTP Serverをチューニングしてパフォーマンスを向上させる必要があることがあります。その場合は、ORACLE_HOME/Apache/Apache/conf/httpd.confファイルを開き、次のプロパティを変更します。


注意:

ここで指定する値は説明のためだけのものです。実際に使用するは、マシンやオペレーティング・システムの構成によって異なります。

設定 値の例 意味
KeepAlive off KeepAlive機能をオフにします。KeepAliveがオンの場合、接続はタイムアウトになるまで切断されません。
MaxClients 512 Apacheが同時に処理できるクライアント数を増やします。
MinSpareServers 20 Apacheが使用できるプロセス数の最小値です。
MaxSpareServers 250 Apacheが使用できるプロセス数の最大値です。注意: この設定はメモリーを大量に消費します。
StartServers 100 起動時に作成されるプロセス数です。注意: この設定はメモリーを大量に消費します。


注意:

また、Oracle Identity Federation(Oracle SSO、Oracle Access ManagerまたはSiteMinder)と統合されるIdMフレームワークをHTTP接続に関して最適化する必要があることもあります。

最後に、Oracle Identity Federationサーバーと統合されているIdMコンポーネントも考慮に入れ、設定を適切にチューニングします。たとえば、Oracle HTTP Serverの設定をOracleAS Single Sign-On用にチューニングすると、フェデレーション・サーバーのパフォーマンスを最適化する助けになることがあります。

9.4 高可用性

Oracle Identity Federationは、Oracle Application Serverを活用して、高可用性を確保するいくつかの戦略をサポートします。それらの戦略は、1つのアプリケーション・サーバー・インスタンスの内部と、複数のアプリケーション・サーバー・インスタンスを含むクラスタ全域の、どちらでも使用できます。Oracle Identity Federationがコールド・フェイルオーバー・クラスタ(CFC)と呼ばれるアクティブ/パッシブの高可用性構成をサポートします。この構成で、Oracle Application Server Infrastructureは通常、共有ストレージ・デバイスを持つ2ノードのハードウェア・クラスタにデプロイされます。この構成ではRDBMSを一時データ・ストアとして使用する必要があります。


注意:

高可用性構成がサポートされるためには、Oracle Identity Federationのインストール時に拡張インストール・オプションを選択しておく必要があります。詳細は、「拡張インストール手順」を参照してください。

高可用性に影響を与えるOracle Identity Federationの主要な機能について、次の項で説明します。

9.4.1 Webアプリケーション・セッション状態レプリケーション

Oracle Identity Federationは、OC4J上(OC4J_FEDコンテナ)にデプロイされたWebアプリケーションで、同一のクライアントからの複数のHTTPリクエストがアプリケーションにアクセスする必要があることがあります。しかし、OC4Jサーバー上で実行されるOracle Identity Federationに問題が起こった結果、OC4Jプロセスまたはインスタンスに障害が発生すると、クライアント・リクエストに関連付けられている状態が失われることがあります。そのような障害に対するいくつかの防止策を次に示します。

  1. RDBMSの一時データ・ストアとしての使用

    この構成では、Oracle Identity Federationが一時セッションとプロファイル状態をデータベースに保存します。アクティブなサーバー・インスタンスが停止すると、パッシブな(スタンバイ状態の)サーバー・インスタンスがオンラインになり、セッションとプロファイル状態をデータベースからリストアして、サーバー障害によるOracle Identity Federation状態の損失を回避します。高可用性のためには、一時データをRDBMSに格納することが必要です。この機能は、Oracle Identity Federationの複数のOC4Jプロセスまたはインスタンスで使用する必要があります。

  2. 複数のOC4Jプロセス上での実行

    この構成で、Oracle Identity Federationが実行されているOC4Jインスタンスは、複数のOC4Jプロセス用に構成されています。OC4Jインスタンス構成は1つ以上のOC4Jプロセスに対して有効で、これらのプロセスはWebセッション状態と相互に通信し、それによってOC4Jプロセス障害やハングのようなソフトウェアの問題に対する防御を提供します。

  3. 複数のOC4Jインスタンス上での実行

    この構成では、Oracle Identity Federationの複数のアクティブなインスタンスが、複数のOC4Jインスタンスにデプロイされています。Webセッション状態はOC4Jクラスタリング・フレームワークが提供するレプリケーション・ファシリティを使用してサーバー・インスタンスを横断してレプリケートされる必要があり、状態はOracle Enterprise Manager Application Server Controlを使用して管理されます。

ロード・バランサを使用する場合は、すべてのOracle Identity Federationセッションが確実に同一のサーバー・インスタンスに送られることが重要です。

9.4.2 構成情報の集中格納

Oracle Identity Federationは、RDBMS一時データ・ストア用に構成されている場合、構成情報をRDBMS一時データ・ストアに集中的に格納します。これにより、1つのフェデレーション・サーバー・インスタンスで構成変更が発生しても、他のすべてのサーバー・インスタンスが、最新の構成設定を確実に使用できます。


注意:

すべてのアクティブ・サーバー・インスタンスに変更が伝播するには約10秒かかります。

SAML 1.xまたはWS-Federationプロトコルを使用する場合は、ORACLE_HOME/fed/shareid/oblix/config/keystoreファイルを、様々なOracle Identity Federationインスタンスに手動でレプリケートする必要があります。このファイルにはピア・プロバイダの証明書が含まれます。証明書は、SAML 1.x/WS-Federationプロトコル・メッセージで署名を検証するために使用されます。

9.4.3 データ層

Oracle Identity Federationで高可用性を確保するには、サーバー(LDAP、RDBMSなど)で使用されている特定のデータ・リポジトリの高可用性を確保する必要があります。個別のデータ・ストアの構成の詳細は、製品およびベンダーのマニュアルを参照してください。

RDBMSリポジトリについては、Oracle9i Database Serverドキュメント・ライブラリの管理マニュアル・セットに含まれる『Oracle Database高可用性概要』を最初に一読することをお薦めします。

9.4.3.1 冗長LDAPサーバーの構成

サイトにLDAPサーバーの冗長インフラストラクチャが含まれる場合、たとえば、ディレクトリ・インスタンスが停止した場合にリクエストのルートを変更するロード・バランサがサーバーの前面にあるトポロジの場合は、次の手順を使用してOracle Identity Federationサーバーを構成します。

  1. Oracle Enterprise Managerコンソールにログオンします。

  2. コンソールで、「OC4J_FED」「管理」「サーバー・プロパティ」とナビゲートします。

  3. 「Javaオプション」フィールドに、次のエントリを追加します。

    -Dfed.ldap.ha=true

  4. 設定を保存し、OC4J_FEDを再起動します。

9.4.4 追加情報

Oracle Identity Federationインストールで活用できる他の高可用性機能の詳細は、『Oracle Application Server高可用性ガイド』を参照してください。

コールド・フェイルオーバー・クラスタでの高可用性構成の詳細は、10gリリース2(10.1.2)ドキュメント・ライブラリにある『Oracle Application Server高可用性ガイド』を参照してください。

9.5 Oracle Identity Federationでのロード・バランサの設定

この項では、ロード・バランサの背後へのOracle Identity Federationのインストールで必要になる構成その他の手順を説明します。

Oracle Identity Federationにロード・バランサを設定するには、次の手順に従います。


注意:

この手順はF5ロード・バランサに固有のものです。

  1. すべてのOracle Identity Federationインスタンスを、ロード・バランシングされた対応するホスト・マシンにインストールする場合は、標準的なインストール手順に従います。詳細は、第3章「Oracle Identity Federationのインストール」にあります。

  2. 仮想ホスト名を選択する必要はありません。拡張インストール手順ではコールド・フェイルオーバー・クラスタに対して必要になります。

  3. 拡張インストール手順で一時データ・ストアを選択します。

  4. 同一の一時データ・ストアを参照しているOracle Identity Federationインスタンスをすべてインストールします。

  5. F5ロード・バランサ管理コンソールで、すべてのOracle Identity Federationインスタンスにプールを作成し、このプールのアプリケーション永続性プロパティを有効にします。永続性タイプをActive HTTP Cookieと設定し、メソッドをinsertに設定し、セットの有効期限を任意の値に設定します。

  6. 新たに作成されたプールにマップされた仮想サーバー・メンバーを作成します。

  7. プール内のすべてのメンバー・ノード上でHTTP監視を有効にします。

  8. すべてのOracle Identity Federationサーバー・インスタンス上で、httpd.confファイル内のサーバー名とポートのパラメータを、仮想サーバーの名前とポートに変更します。

  9. ロード・バランシングされ、OracleAS Single Sign-Onと統合されたすべてのOracle Identity Federationサーバーで、コマンド・プロンプトから次のコマンドを実行することによって、ロード・バランシングされているすべてのOracle Identity Federationサーバーにロード・バランサのURL(たとえば、http://lbr.us.oracle.com:80)を登録します。

    <OIF_HOME>/sso/bin/ssoreg.bat -oracle_home_path %ORACLE_HOME% -site_name
        <Load_Balancer_Host_Name> -config_mod_osso TRUE -mod_osso_url
        <Load_Balancer_URL:Port>
    
    
  10. すべてのOracle Identity Federationサーバー上で、コマンド・プロンプトから次のコマンドを実行して構成を更新します。

    dcmctl updateconfig

  11. すべてのOracle Identity Federationサーバー・インスタンスにあるOracle Enterprise ManagerコンソールからHTTPサーバーを再起動します。

  12. Oracle Identity Federation管理コンソールの「サーバー構成」「サーバー・プロパティ」で、サーバーのホスト名およびポート番号を、仮想サーバーの名前とポート番号に変更します。

  13. Oracle Enterprise ManagerコンソールからOracle Identity Federationインスタンスを再起動します。

  14. ピア・プロバイダに新しいメタデータ・ファイルを配布します。

9.5.1 SAML 1.xまたはWS-Federationの追加の考慮事項

SAML 1.xまたはWS-Federationプロトコルを使用する場合は、ORACLE_HOME/fed/shareid/oblix/config/keystoreファイルを、様々なOracle Identity Federationインスタンスに手動でレプリケートする必要があります。このファイルにはピア・プロバイダの証明書が含まれます。証明書は、SAML 1.x/WS-Federationプロトコル・メッセージで署名を検証するために使用されます。

さらに、ロード・バランシング・モードでSAML 1.xまたはWS-FederationのSSOを設定する場合は、ロード・バランシングされたプロバイダのMyDomain、および他のプロバイダにあるドメインにあるURLが、ロード・バランサ・マシンのホスト名とアドレス(たとえば、ロード・バランシングされたOracle Identity Federationインスタンスのいずれかのホスト名およびアドレスでなく)を持っていることを確認します。

9.5.2 Oracle Identity Federation監視コンソールのその他の手順

Oracle Identity Federation監視コンソールは、ロード・バランシングされることができません。これは、1つのサーバーが1つ以上のOracle Identity Federationインスタンスの監視を担当するためです。このため、Oracle Identity Federationサーバー上と同様、コンソール上でも監視機能を正しく有効にするためにOracle HTTP Server設定を変更する必要があります。

監視処理で使用されるHTTPポートとURLがロード・バランサと統合されていないことを確認します。それには、/fedおよび/fedmonの各URLに対して行われたリクエストをローカルのOC4J_FEDコンテナに転送するOracle HTTP Server仮想ホストを作成します。

新しい仮想ホストには次の設定が必要です。

  • ローカル値に設定された仮想ホストに対する、ServerNamePortおよびListenの各ディレクティブ値

  • /fedおよび/fedmonの各URLを、OC4J_FEDコンテナに転送するOc4jMountディレクティブ

たとえば、ORACLE_HOME/Apache/Apache/conf/httpd.confにあるこのような仮想のホストの定義は、次のようになります。

Listen 7799
NameVirtualHost *:7799
<VirtualHost *:7799>
    ServerName local.machine.com
    <IfModule mod_oc4j.c>
        Oc4jMount /fed OC4J_FED
        Oc4jMount /fed/* OC4J_FED
        Oc4jMount /fedmon OC4J_FED
        Oc4jMount /fedmon/* OC4J_FED
    </IfModule>
</VirtualHost>

次の手順を実行します。

  1. 上の例を参照してhttpd.confファイルを変更します。

  2. 次のコマンドを実行します。

    dcm/bin/dcmctl updateconfig

  3. Oracle HTTP Serverを再起動します。

    opmn/bin/opmnctl restartproc process-type=HTTP_Server

  4. 仮想ホストを作成したら、仮想ホストのURLを使用して監視コンソールにアクセスします。

  5. 監視するOracle Identity FederationサーバーのURLを追加します。URLは、ロード・バランシングされたURLでなく、ローカルの仮想ホスト値を参照します。

これで監視コンソールは、Oracle Identity Federationサーバーを監視するために構成する準備ができました。

9.6 Oracle Identity Federationでのプロキシの設定

この項では、Oracle Identity Federationのプロキシ・サーバーを設定する方法を説明します。

Oracle Identity Federationはスタンドアロンとしての性質を持つため、アプリケーション・サーバー・プロキシを設定する通常の手順は使用できません。かわりに、ここで説明する手順を使用して、Oracle HTTP ServerをOracle Identity Federationのプロキシとして設定します。

  1. プロキシ・サーバー用にOracle HTTP Serverをインストールします。

  2. ORACLE_HOME/Apache/Apache/conf/httpd.confファイルを編集します。

    1. 次の行をコメント解除します。

      <IfModule mod_proxy.c>
          ProxyRequests On
      </IfModule>
      
      
    2. ProxyRequestsディレクティブの設定を解除します。

          ProxyRequests Off
      
      
    3. ProxyRequests Offの後に次のディレクティブを追加します。

      ProxyPass /sso HTTP://OIF-HOST:OIF-PORT/sso
      ProxyPass /fed HTTP://OIF-HOST:OIF-PORT/fed
      ProxyPass /shareid HTTP://OIF-HOST:OIF-PORT/shareid
      ProxyPassReverse /sso HTTP://OIF-HOST:OIF-PORT/sso
      ProxyPassReverse /fed HTTP://OIF-HOST:OIF-PORT/fed
      ProxyPassReverse /shareid HTTP://OIF-HOST:OIF-PORT/shareid
      
      #ProxyPass /fedadmin HTTP://OIF-HOST:OIF-PORT/fedadmin
      #ProxyPass /fedmon HTTP://OIF-HOST:OIF-PORT/fedmon
      #ProxyPass /uixi http://OIF-HOST:OIF-NON-SSL-PORT/uixi
      #ProxyPassReverse /fedadmin HTTP://OIF-HOST:OIF-PORT/fedadmin
      #ProxyPassReverse /fedmon HTTP://OIF-HOST:OIF-PORT/fedmon
      #ProxyPassReverse /uixi http://OIF-HOST:OIF-NON-SSL-PORT/uixi
      
      #ProxyPass /osso_login_success HTTP://OIF-HOST:OIF-PORT/
         osso_login_success
      #ProxyPass /osso_logout_success HTTP://OIF-HOST:OIF-PORT/
         osso_logout_success
      #ProxyPassReverse /osso_login_success HTTP://OIF-HOST:OIF-PORT/
         osso_login_success
      #ProxyPassReverse /osso_logout_success HTTP://OIF-HOST:OIF-PORT/
         osso_logout_success
      
      

      ここで、

      • HTTPは、開いている接続のためのhttp、またはプロキシからOracle Identity Federationへのセキュア接続のためのhttpsです。

      • OIF-HOSTは、Oracle Identity Federationサーバーのホスト名です。

      • OIF-PORTは、Oracle Identity Federationサーバーの、HTTPまたはHTTPSのポート番号です。HTTPポート80またはHTTPSポート443に対しては、入力を省略します。

      • OIF-NON-SSL-PORTは、Oracle Identity Federationサーバーのhttpポート番号です。HTTPポート80では入力を省略します。


      注意:

      • インターネット上のユーザーにOracle Identity Federationの管理コンソールや監視コンソールを公開する必要がある場合にかぎり、/fedadmin各ディレクティブまたは/fedmonディレクティブをコメント解除します。

      • /fedadminディレクティブと/fedmonディレクティブのいずれかまたは両方が有効である場合、/uixiディレクティブをコメント解除します。

      • Oracle Identity FederationをOracle Single Sign-On Serverと統合する場合は、/osso_login_successディレクティブと/osso_logout_successディレクティブをコメント解除します。



      注意:

      管理コンソールや監視コンソールは、プロキシ経由で使用できるようにしないことをお薦めします。

    4. mod_oc4jのインクルード文をコメントアウトします。

      #include "ORACLE_HOME/Apache/Apache/conf/mod_oc4j.conf
      
      
    5. プロキシからOracle Identity FederationサーバーへのSSLを使用する場合は、ProxyPassReverseディレクティブの後に、さらにディレクティブを追加します。

      SSLProxyWallet file:OHS_HOME/Apache/Apache/conf/ssl.wlt/default

      ここで、OHS_HOMEはプロキシOracle HTTP Serverのインストール・ディレクトリです。まだであれば、このウォレットにあるOracle Identity Federationサーバーの証明書を発行したCAの証明書のインポートも行います。詳細は、「Oracle Identity FederationでのSSLサーバーの構成」を参照してください。

  3. プロキシでSSLを使用する場合は、「Oracle Identity FederationでのSSLサーバーの構成」の指示に従います。mod_oc4j.confファイルの編集に関する項は省略します。

    SAML 1.xアーティファクト・プロファイルのIdP/ソース側にSSLクライアント証明書認証を要求する場合、プロキシのOracle HTTP Serverに対して次の作業を行います。

    1. ここに示すPerlスクリプトを適切な場所にコピーします。

      UNIXの場合: ORACLE_HOME/perl/lib/site_perl/5.6.1/Apache/SSLClientCertHeader.pm

      Windowsの場合: ORACLE_HOME\Apache\Apache\mod_perl\site\5.6.1\lib\Apache\SSLClientCertHeader.pm

      このスクリプトは、クライアント証明書認証を完了するためにOracle Identity Federationが使用するssl_client_certificateヘッダーを設定します。

      package Apache::SSLClientCertHeader;
      
      use Apache::Constants qw(OK DECLINED);
      use Apache::URI ();
      use strict;
      
      sub handler {
          my $r = shift;
          $r->subprocess_env;
          my $clientcert = $r->subprocess_env("SSL_CLIENT_CERT");
          my $outstr;
          # Remove newlines from certificate before setting header.
          for my $i (split "\n", $clientcert) {
              if (!($i =~ /^-/)) {
                  chomp($i);
                  $outstr .= $i;
              }
          }
          $r->header_in("ssl_client_cert", $outstr);
          return OK;
      }
      
      1;
      
      
    2. ORACLE_HOME/Apache/Apache/conf/ssl.confで、SSLクライアント証明書認証ポートに対応するVirtualHostに、次のディレクティブを追加します。

      <VirtualHost _default_:CLIENT-CERT-PORT>
          . . .
          SSLOptions +ExportCertData +CompatEnvVars
          PerlModule Apache::SSLClientCertHeader
          PerlFixupHandler Apache::SSLClientCertHeader
      </VirtualHost>
      
      

    Oracle Identity Federationサーバーをクライアント証明書モードに構成するだけの場合と同様に、先に既存の仮想ホストをコピーします。新しい仮想ホストは、プロキシのクライアント証明書ポート番号を持ちます。また、Oracle Identity Federation管理コンソールの「ドメイン」ページのレスポンダ・ポートを、プロキシ・サーバーのクライアント証明書ポートに更新します。

  4. 構成変更を有効にするために、Oracle HTTP Serverを再起動します。プロキシは、次を呼び出すことによりテストできます。

    HTTP://PROXY-HOST:PROXY_PORT/shareid/saml/ObSAMLTransferService

    エラーID TSE002のOracle Identity Federationエラーを受け取ります。

  5. Enterprise Managerコンソールの「ポート」ページを使用して、プロキシのHTTPポートまたはHTTPSポートを決定します。

    • Oracle HTTP Server Listenポート(http)

    • Oracle HTTP Server Listen(SSL)ポート(https)

  6. 外部URLに対してプロキシ・ホストおよびポートを使用するようにOracle Identity Federationを再構成します。Oracle Identity Federation管理コンソールで次の変更を行います。

    1. 「サーバー構成」「一般」:

      - サーバー・ホスト名

      - サーバー・ポート

      - SOAPポート

    2. 「SAML 1.x/WSフェデレーション」「ドメイン」「マイ・ドメイン」:

      - エラーURL

      - 転送URL

      - 応答者URL

      - ソースID(新しい応答者URLを再生成する場合は空白)

      - アイデンティティ・レルム・セキュア・トークン・サービス(STS) URL

      - 受信者URL

      - リソース・レルム・セキュア・トークン・サービス(STS) URL


    注意:

    署名証明書サブジェクトDNや発行者DNを変更しないでください。生成された証明書と一致する必要があります。

  7. 一般サーバー構成の変更を有効にするために、Oracle Identity Federationを再起動します。

  8. Oracle Access ManagerをIdMとして使用する場合、アクセス・システム・コンソールを使用してFed SSO認証スキームを更新します。

    「アクセス・システム・コンソール」「アクセス・システム構成」「認証管理」:

    フェデレーションSSO - SAML 1.x

    フェデレーションSSO - WSフェデレーション

    フェデレーションSSO - SAML 2.0/Liberty 1.x

    各スキームでプロキシのホストとポートを使用する場合は、「チャレンジ・リダイレクト」パラメータを変更します。

  9. 必要に応じて、このOracle Identity Federationを使用してパートナに変更を伝達します。SAML 2.0またはLiberty 1.xを使用するパートナは、新しいメタデータをダウンロードする必要があります。SAML 1.xまたはWS-Federationを使用するパートナは、手順6で設定したOracle Identity Federationのマイ・ドメイン構成を使用して、手動で構成を更新することが必要になります。

  10. Oracle Identity FederationをOracle Single Sign-Onと統合する場合は、いくつかの追加手順が必須です。

    1. Oracle Single Sign-On Partnerアプリケーションを更新します。

      - Oracle Single Sign-On管理コンソール(http://osso_host:osso_port/pls/orasso)に移動します。

      - 「シングル・サインオン管理」をクリックします。

      - 「パートナ・アプリケーション管理」をクリックします。

      - Oracle Identity Federationサーバーを参照しているパートナ・アプリケーションを選択し、アプリケーション構成を編集します。

      - http(s)、ホスト名およびポート番号を、プロキシのホームURL、成功URLおよびログアウトURLの値に置き換えます。

      「OK」をクリックします。

    2. policy.propertiesファイルを更新します。

      - Oracle Single Sign-OnデプロイメントのORACLE_HOME/sso/conf/policy.propertiesファイルを開きます。

      - http(s)、ホスト名およびポート番号を、プロキシのSASSOAuthnUrlおよびSASSOLogoutUrlエントリの値に置き換えます。

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

    3. Oracle Single Sign-OnデプロイメントのOC4J_SECURITYインスタンスを、次のコマンドを使用して再起動します。

      opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY