Oracle Fusion Middlewareリリース・ノート 11gリリース1(11.1.1) for Microsoft Windows(32-Bit) B55923-02 |
|
戻る |
次へ |
この章では、Oracle Identity Federationに関連する問題について説明します。内容は次のとおりです。
この項では、一般的な問題および回避方法について説明します。内容は次のとおりです。
データベース表を認証エンジンとして使用し、パスワードがMD5またはSHAのいずれかでハッシュされて格納されている場合、base64形式である必要があります。
ハッシュされたパスワードはbase64でエンコードされた形式であるか、{SHA}または{MD5}の接頭辞を持ちます。次に例を示します。
{SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=
相互にミラー化されている2つ以上のOracle Identity Federationサーバーがあり、フロントエンドにロード・バランサがある高可用性環境でSSLを設定する場合、次の2つの方法があります。
SSL接続がユーザーとロード・バランサの間をつなぐように、ロード・バランサでSSLを構成します。この場合、ロード・バランサによって使用されるキーストアおよび証明書には、ロード・バランサのアドレスを参照するCNが含まれます。
ロード・バランサとWLS/Oracle Identity Federation間の通信では、SSLの使用は任意です(SSLを使用する場合、Oracle WebLogic Serverでは、キーストアおよび証明書がロード・バランサによって信頼されているかぎり、どのキーストアや証明書でも使用できます)。
SSL接続がユーザーとOracle Identity Federationサーバーの間をつなぐように、Oracle Identity FederationサーバーでSSLを構成します。この場合、Oracle WebLogic ServerまたはOracle Identity Federationインストール環境のキーストアおよび証明書のCNでは、ロード・バランサのアドレスを参照する必要があります。ユーザーはロード・バランサのホスト名を使用して接続するため、証明書CNはロード・バランサのアドレスと同じである必要があります。
つまり、ユーザーに接続されるSSLエンドポイント(ロード・バランサまたはOracle WebLogic Server/Oracle Identity Federation)のキーストアおよび証明書には、ロード・バランサのホスト名に設定されたCNが含まれる必要があります。ユーザーは、そのアドレスを使用してOracle Identity Federationに接続するためです。
Oracle Bug#8606743に従って記載されています。
問題
Windowsで、Oracle Identity Federationホームページのリソース使用率のセクションにある、Oracle Identity Federationがデプロイされている管理対象サーバーに関するCPUおよびメモリー使用率のメトリックに値0が常に表示されます。
回避方法
次の手順に従って問題を修正します。
Oracle Identity Federationの監視に使用されているFusion Middleware ControlエージェントのOracleインスタンス・ホームに移動します。
opmnctl
コマンドを実行してemagent
プロセスを停止します。
$INST_HOME/bin/opmnctl stopproc ias-component=EMAGENT
emctl
コマンドを実行してemagent
プロセスを起動します。
$INST_HOME/EMAGENT/EMAGENT/bin/emctl start agent
この項では、構成に関する問題およびその回避方法について説明します。内容は次のとおりです。
サイトで同じドメインにOracle SOA SuiteとOracle Identity Federationが含まれている場合、『Oracle Fusion Middleware Administrator's Guide for Oracle Identity Federation』のWLST
の設定手順は、WLST
でOracle Identity Federationコマンドを正常に実行するには不十分です。
これは、IdMドメインをインストールし、Oracle SOAインストールで拡張した場合に起こります。SOAインストールによってORACLE_HOME
環境変数が変更されます。Oracle Identity FederationのWLST
環境はORACLE_HOME
のIdM値に依存するため、これによって環境が損われます。
WLST
コマンドを使用できるようにするには、次の手順に従います。
『Oracle Fusion Middleware Administrator's Guide for Oracle Identity Federation』のWLST環境の設定に関する項に記載されている手順を実行します。
OIF-ORACLE_HOME/fed/script/*.py
をWL_HOME/common/wlst
へコピーします。
CLASSPATH
環境変数をOIF-ORACLE_HOME/fed/scripts
に追加します。
Oracle Virtual DirectoryをOracle Identity Federationのユーザー・ストアまたは認証エンジンとして使用するには、ローカル・ストレージ・アダプタを構成し、インストール時またはインストール後の構成時に必要に応じてコンテキスト・ルートを作成する必要があります。
このタスクの詳細は、『Oracle Fusion Middleware Oracle Virtual Directory管理者ガイド』の「Oracle Virtual Directoryアダプタの作成と構成」を参照してください。
フェデレーションの編集ページで、リモートWSフェデレーション・サービス・プロバイダのOracle Identity Federation(OIF)設定に「SSOトークン・タイプ」というプロパティが含まれています。IdP共通設定ページから値を継承するか、これをオーバーライドするかを選択できます。OIFの設定に表示されるプロパティの数は「SSOトークン・タイプ」の値に依存します。
「SSOトークン・タイプ」を別の値でオーバーライドする(SAML2.0からSAML1.1へ変更するなど)よう選択した場合、OIFの設定に表示されるプロパティの数は、「適用」ボタンをクリックするまで変わりません。
また、「デフォルト名前IDフォーマット」の値を永続識別子または一時/単発識別子にオーバーライドして「SSOトークン・タイプ」の値をSAML2.0からSAML1.1またはSAML1.0に変更した場合、「デフォルト名前IDフォーマット」の値が空になることに注意してください。続行するには、このプロパティをリストの有効な値に再設定します。
WSフェデレーションの信頼できるサービス・プロバイダを作成する場合、次の手順で「Microsoft Webブラウザ・フェデレーテッド・サインオンの使用」に値を設定する必要があります。
Fusion Middleware Controlで、「フェデレーション」→「フェデレーションの編集」と移動します。
WSフェデレーションの信頼できるサービス・プロバイダを新規に作成するよう選択し、「編集」をクリックします。
「信頼できるプロバイダ設定」セクションでチェック・ボックスを選択または選択解除して「Microsoft Webブラウザ・フェデレーテッド・サインオンの使用」に値を設定します。
「適用」をクリックします。
フェデレーション・ストアがXMLベースの場合、レコードの削除後、そのレコードがフェデレーテッド・アイデンティティ表に表示され続けます。
次のシナリオで問題について説明します。
フェデレーション・データ・ストアはXMLです。
「フェデレーテッド・アイデンティティによるユーザーのマップ」を使用してフェデレーテッドSSOを実行します。
Fusion Middleware ControlでOracle Identity Federationインスタンスを特定し、「管理」→「アイデンティティ」→「フェデレーテッド・アイデンティティ」と移動します。
作成されたフェデレーション・レコードをクリックし、削除します。
削除後も、フェデレーテッド・レコードが表にあります。レコードの削除をさらに試みると、エラーになります。
回避方法は、「検索」をクリックして表を手動でリフレッシュすることです。
問題
この問題は、Fusion Middleware ControlでOracle Access Managerをサービス・プロバイダ統合モジュールとして構成した場合に起こります。スキーム(OIF-password-protected
など)にデフォルトが設定されていますが、ラジオ・ボタンが無効なため、デフォルト認証スキームを設定できません。
解決策
優先使用するデフォルトの認証スキームを設定するには、次の手順に従います。
現在デフォルトとして設定されているが、無効なスキームの「作成」チェック・ボックスを選択します。
作成する認証スキームの「作成」チェック・ボックスを選択します。
デフォルトとして設定するスキームのラジオ・ボタンをクリックします。
スキームを作成しない場合のみステップ1のスキームの「作成」チェック・ボックスを選択解除します。
ページで、すべての必要なプロパティを指定します。
「Oracle Access Managerの構成」ボタンをクリックして変更を適用します。
これで、デフォルト認証スキームが選択したものに設定されました。
注意: また、認証スキームを削除する場合、デフォルト・スキームを削除しないようにしてください。スキームを削除する必要がある場合、削除前にデフォルトを別の認証スキームに変更します。 |
SAML 1.xプロトコルで、アーティファクト・プロファイルを使用して10g Oracle Identity Federationサーバーと11g Oracle Identity Federationサーバーを連携させるには、2つのサーバーの間にBasic認証またはクライアント証明書認証を設定する必要があります。
手順は次を参照してください。
11gリリース1(11.1.1)の『Oracle Fusion Middleware Administrator's Guide for Oracle Identity Federation』のSOAPエンドポイントの保護に関する項
10g(10.1.4.0.1)の『Oracle Identity Federation管理者ガイド』のOracle Identity FederationがSPである場合に関する項
この項では、Oracle Fusion Middleware管理者ガイド for Oracle Identity Federation(部品番号E13400-01)の訂正箇所を示します。内容は次のとおりです。
Oracle Identity Federationでは、署名と暗号化キーストアに対する1つのパスワードの構成のみサポートされ、そのパスワードを使用してキーストアと秘密鍵の両方を開きます。これは、キーストアが異なるストア・パスワードとキー・パスワードで構成されている場合、Oracle Identity Federationで秘密鍵にアクセスしようとすると、エラーになるということです。
このエラーを回避するには、構成されているキーの別名の秘密鍵パスワードをキーストア・パスワードと同じにします。
注意: Oracle Identity Federation 11gリリース1(11.1.1)では、キーストア・パスワードに合せてキー・パスワードを変更する場合、古いキーストアやウォレットを構成から削除する必要があります。 |
3.2.2.2項「Oracle Single Sign-OnとOHSの統合」に含まれる次の一連の手順を置き換えてください。
$AS_INST/config/OHS/$OHS_NAME/disabled/mod_osso.conf
を$AS_INST/config/OHS/$OHS_NAME/moduleconf
にコピーします。OHSの起動時に、moduleconf
ディレクトリ内のすべてのファイルが読み込まれます。
$AS_INST/config/OHS/$OHS_NAME/moduleconf/mod_osso.conf
ファイルを開き、作成後に次のOHS config
ディレクトリにコピーされたOracle Single Sign-On構成ファイルを参照するように、OssoConfigFile
ディレクティブを設定します。
OssoConfigFile ${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/oif.server.com.osso.conf
正しいテキストは次のとおりです。
$AS_INST/config/OHS/$OHS_NAME/disabled/mod_osso.conf
を$AS_INST/config/OHS/$OHS_NAME/moduleconf
にコピーします。OHSの起動時に、moduleconf
ディレクトリ内のすべてのファイルが読み込まれます。
$AS_INST/config/OHS/$OHS_NAME/moduleconf/mod_osso.conf
ファイルを開きます。作成後に次のOHS config
ディレクトリにコピーされたOracle Single Sign-On構成ファイルを参照するように、OssoConfigFile
ディレクティブを設定します。
OssoConfigFile ${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/ ${COMPONENT_NAME}/oif.server.com.osso.conf
Location
要素を介して、Oracle SSOサーバーで保護する/fed/user/authnosso
URLを追加します。
mod_osso.conf
の例は次のようになります。
LoadModule osso_module ${ORACLE_HOME}/ohs/modules/mod_osso.so <IfModule mod_osso.c> OssoIpCheck off OssoIdleTimeout off OssoConfigFile ${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/ ${COMPONENT_NAME}/oif.server.com.osso.conf <Location /fed/user/authnosso> require valid-user AuthType Osso </Location> </IfModule>
5.10.3項「セキュリティおよび信頼 - 信頼性のあるCAおよびCRL」に含まれる次の文を変更してください。
「証明書検証ストアが有効化されている場合、Oracle Identity Federationでは、これを使用して受信メッセージの署名検証が必要な証明書が検証されます。」
正しい文は次のとおりです。
「証明書検証ストアが有効化されている場合、Oracle Identity Federationでは、これを使用してSAML/WSフェデレーション受信メッセージの署名検証が必要な証明書が検証されます。」
8.2.2項「SSLクライアントとしてのOracle Identity Federationの構成」に、次の下位項目を追加してください。この追加項目は、管理サーバーおよびOracle Identity Federationをホストする管理対象サーバーに対してSSLが有効化された後も、引き続きFusion Middleware ControlによってOracle Identity Federationサーバーが管理されることを確実にするための手順を示すものです。
Fusion Middleware ControlによるOracle Identity Federationターゲットの管理を確実にする方法
次の手順を行います。
$INSTANCE_HOME/EMAGENT/EMAGENT/sysman/emd/targets.xmlを探します。
'serviceURL'プロパティのプロトコルを正しいプロトコルに変更します。Oracle Identity Federationターゲットが(ホストとoracle_emd以外に)複数ある場合は、各ターゲットの'serviceURL'を変更する必要があります。
$INSTANCE_HOME/EMAGENT/EMAGENT/sysman/config/emd.propertiesを探します。
必要に応じて、'REPOSITORY_URL'のプロトコルを正しいプロトコルに更新します。EMエージェントは、このプロパティを使用してFusion Middleware Controlに接続します。
次のコマンドを使用してEMエージェントを停止します。
$INSTANCE_HOME/bin/opmnctl stopproc ias-component=EMAGNET
次のコマンドを使用してEMエージェントを保護します。
$INSTANCE_HOME/EMAGENT/EMAGENT/bin/emctl secure fmagent -admin_host <host> -admin_port <port> -admin_user <username> [-admin_pwd <pwd>]
次のコマンドを使用してEMエージェントを再起動します。
$INSTANCE_HOME/bin/opmnctl startproc ias-component=EMAGNET
インストール後、コンフィギュレーション・アシスタントでは、MBeansを使用してOracle Identity Federationサーバーへの大量の構成の更新が実行されます。このサーバーへの通知が行われるように、別のタスクによって、構成ファイルが変更されているかどうかが定期的にチェックされます。
この手順の実行中に解析エラーが発生すると、診断ログ・ファイルに次のようなメッセージが記録されます。
$DOMAIN_HOME/servers/wls_oif1/logs/wls_oif1-diagnostic.log . [org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.] at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalExcept ion(AbstractUnmarshallerImpl.java:315) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmar shalException(UnmarshallerImpl.java:514) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0( UnmarshallerImpl.java:215) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(U nmarshallerImpl.java:184) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnm arshallerImpl.java:137) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnm arshallerImpl.java:184) at oracle.as.config.persistence.jaxb.JAXBXmlPersistenceManagerImpl.load( JAXBXmlPersistenceManagerImpl.java:156) ... 10 more Caused by: org.xml.sax.SAXParseException: XML document structures must start and end within the same entity. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAX ParseException(ErrorHandlerWrapper.java:195) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalErro r(ErrorHandlerWrapper.java:174) .
Oracle Identity Federationサーバーが稼働している(エラーなしで/fed/idp/metadata
にアクセスできる)場合、このメッセージは無害で、サーバーの安定性に影響しません。構成の変更は正常に実行され、すべてのサーバーに変更が通知されます。