この章では、Oracle Identity Management統合に関連する問題について説明します。
Oracle Identity Managementは、個別または集合で使用できる多数のアプリケーションから構成されます。
この章の内容は次のとおりです。
この項では、Oracle Access Management Access Manager、Oracle Adaptive Access ManagerおよびOracle Identity Managerの統合に関連する問題について説明します。次の項目が含まれます。
Access Manager、Oracle Adaptive Access ManagerおよびOracle Identity Managerの統合環境において、エンド・ユーザーがOIMとLDAPで正しくないパスワードを何度も提供してロックされ、そのユーザーがOAAMのログイン・ページで有効な資格証明を提供した場合、ユーザーのアクセスは拒否され、次のようなエラー・メッセージが表示されます。
Sorry, the identification you entered was not recognized. Please try again.
ロックされたユーザーは、パスワードを忘れた場合のフローによって自身のロックを解除できる「パスワードを忘れた場合はこちら」リンクを含む、ロックされたアカウント用のページにリダイレクトされません。自身のロック解除を実行するには、ユーザーがパスワード入力ページで「パスワードを忘れた場合」リンクをクリックする必要があります。
Access ManagerとOracle Identity Managerの統合環境では、ロックされたユーザーは、ロックされたアカウント用のページにリダイレクトされ、そのページで「パスワードを忘れた場合はこちら」リンクを利用できます。
OAAM 11gリリース1 PS2 (11.1.1.3)、OIM 11gリリース2 PS1 (11.1.2.1)統合環境、またはOAAMリリース2 PS1 (11.1.2.1)とOIMリリース1 PS2 (11.1.1.3)の統合環境では、エンド・ユーザーが、パスワードの有効期限切れフロー、パスワードを忘れた場合のフローまたはパスワードの変更フローで、デフォルトのパスワード・ポリシーに違反するパスワードを入力すると、次のメッセージが表示されます。
An error occurred while attempting to change your password. Please try again
エラー・ログ・ファイルには、無効なクラスに関する次のような例外が表示されます。
<Apr 13, 2013 5:06:09 AM CST> <Error> <oracle.oaam> <BEA-000000> <failed to changePassword(john.doe@example.com) javax.ejb.EJBException: Problem deserializing error response; nested exception is: java.io.InvalidClassException: oracle.iam.identity.exception.IdentityException; local class incompatible: stream classdesc serialVersionUID = 1935467088360363654, local class serialVersionUID = -7391301560574640548; nested exception is: java.io.InvalidClassException: oracle.iam.identity.exception.IdentityException; local class incompatible: stream classdesc serialVersionUID = 1935467088360363654, local class serialVersionUID = -7391301560574640548 at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException( RemoteBusinessIntfProxy.java:121) at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessI ntfProxy.java:96) at $Proxy163.changePasswordx(Unknown Source) at oracle.iam.identity.usermgmt.api.UserManagerDelegate.changePassword(Unknown Source) ...etc Caused By: java.io.InvalidClassException: oracle.iam.identity.exception.IdentityException; local class incompatible: stream classdesc serialVersionUID = 1935467088360363654, local class serialVersionUID = -7391301560574640548 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582) ...etc
パスワードに関連するフローは、定義済のパスワード・ポリシーに準拠する有効なパスワードを提供した場合に正しく動作します。このエラーがフローに影響を与えることはありません。
OAAMサーバーは、アイデンティティ・ストアで無効になっているユーザーを無効ユーザーとして扱います。そのようなユーザーがOAAMサーバーを使用してログインしようとすると、次の例のように無効メッセージのためのメッセージがユーザーに対して表示されます。
Sorry, the identification you entered was not recognized. Please try again
OAAMのパスワード・ページには、ユーザーが登録されているかどうかにかかわらず、「パスワードを忘れた場合」のフローを開始するためのリンクが表示されます。
この項では、Oracle Access Management Access ManagerおよびOracle Adaptive Access Managerの統合に関連する問題について説明します。次の項目が含まれます。
第11.2.1項「OAAMBasicおよびOAAMAdvancedスキームを使用したAccess ManagerとOracle Adaptive Access Managerの統合は推奨されない」
第11.2.3項「bharosa.uio.default.is_oam_integratedをFalseに設定する必要がある」
OAAMBasicおよびOAAMAdvanced認証スキームを使用するOracle Access Management Access ManagerとOracle Adaptive Access Managerの統合は11.1.2.2から非推奨であり、12.1.4以降のリリースではサポートされなくなります。OAAMBasicおよびOAAMAdvancedでの統合ではなく、信頼できる認証プロトコル(TAP)を使用するOracle Access Management Access ManagerとOracle Adaptive Access Managerの統合を使用することをお薦めします。TAPを使用したAccess ManagerとOracle Adaptive Access Managerの統合の詳細は、『Oracle Fusion Middleware Oracle Identity Management Suite統合ガイド』を参照してください。
OAAMとAccess Managerの統合環境で、SSL保護リソースにアクセスすると、OAAMはhttpプロトコルとSSLポートを使用してログイン・ページのURLにリダイレクトして、エラーが発生します。これが発生するのは、OAAMサーバーの前面にSSLポートを使用するOracle HTTP Server (OHS)があり、SSLがOracle HTTP Serverで終了するときです。
この問題の回避方法:
次のプロパティを設定します(そうしない場合、OAAMは誤ってHTTPポートにリダイレクトします)。
oaam.uio.oam.cookie.redirect.hostname.attribute=rh oaam.uio.oam.cookie.redirect.path.attribute=ru
注意: このような手順は、TAPSchemeが使用されない統合のみに適用されます。 |
リバース・プロキシ設定を含むOracle HTTP Server構成ファイル(たとえばWEB_ORACLE_INSTANCE
/config/OHS/component_name/moduleconf/sso_vh.conf
)に次のコードを追加します。
###################################################### ## Entries Required by Oracle Adaptive Access Manager ###################################################### <Location /oaam_server> SetHandler weblogic-handler WebLogicCluster OAMHOST1.mycompany.com:14300, OAMHOST2.mycompany.com:14300 WLProxySSL ON WLProxySSLPassThrough ON </Location>
WebLogic SSLディレクティブがsso_vh.conf
ファイルに入力されたことを確認します。
Oracle HTTP Serverは、WebLogicのプロキシとして機能するため、デフォルトでは、特定のCGI環境変数はWebLogicに渡されません。これらには、ホストとポートが含まれます。WebLogicには、内部URLを適切に生成できるように仮想サイト名およびポートを使用していることを指示する必要があります。手順は次のとおりです。
IAMAccessDomainのWebLogic管理コンソールにログインします。
http://IADADMIN.mycompany.com/console
「クラスタ」をホーム・ページで選択するか、「ドメイン」構造メニューで「環境」→「クラスタ」を選択します。
「チェンジ・センター」ウィンドウの「ロックして編集」をクリックして、編集を有効にします。
クラスタ名(oaam_cluster)をクリックします。
「HTTP」を選択して、次の値を入力します。
フロントエンド・ホスト: sso.mycompany.com (IAM_LOGIN_URI)
フロントエンドHTTPポート: 80 (HTTP_PORT)
フロントエンドHTTPSポート: 443 (HTTP_SSL_PORT)
これによって、WebLogicで作成されたHTTPS URLが、ロード・バランサでポート443に転送されるようになります。
「保存」をクリックします。
「クラスタ」をホーム・ページで選択するか、「ドメイン」構造メニューで「環境」→「クラスタ」を選択します。
クラスタ名(oaam_admin_cluster)をクリックします。
「HTTP」を選択して、次の値を入力します。
フロントエンド・ホスト: IADADMIN.mycompany.com (IAD_DOMAIN_ADMIN_LBRVHN)
フロントエンドHTTPポート: 80 (HTTP_PORT)
「保存」をクリックします。
「チェンジ・センター」ウィンドウの「変更のアクティブ化」をクリックします。
WebLogic管理コンソールの左側のナビゲーションでbase_domainをクリックし、「Webアプリケーション」タブをクリックします。
下にスクロールして、「WebLogicプラグインの有効化」オプションを選択します。
「保存」をクリックします。
Oracle Access Management管理コンソールにログインして、Access Managerホストの詳細を確認します。ホストがロード・バランサを指し示していることと、HTTPSであることを確認します。
Access ManagerとOracle Adaptive Access Manager 11gリリース2 (11.1.2.3)の統合環境では、プロパティbharosa.uio.default.is_oam_integrated
をfalse
に設定する必要があります。