4 Access ManagerとOIGの統合に関する一般的な問題のトラブルシューティング
この項では、Oracle Identity GovernanceとAccess Managerとの統合環境で発生する可能性のある一般的な問題について示し、これらの解決方法を説明します。
表示される可能性のあるエラー・メッセージの詳細は、この項およびエラー・メッセージを参照してください。
その他のトラブルシューティング・リソースの詳細は、「My Oracle Supportを使用したその他のトラブルシューティング情報」を参照してください。
4.1 Access ManagerおよびOIG統合環境でのシングルサインオンの問題のトラブルシューティング
この項では、統合環境でのシングル・サインオンに関連した一般的な問題と解決方法を説明します。シングル・サインオンを使用することにより、ユーザーは、Access Managerに正常に認証されると、Oracle Identity Governanceリソースにアクセスできます。Access Managerにより保護されたOracle Identity Governanceリソースにアクセスすると、ユーザーは、Oracle Access Managementコンソールのログイン・ページを使用してAccess Managerにより資格証明に対してチャレンジされます。
この項では、次のシングル・サインオンの問題について説明します。
4.1.1 HTTPヘッダーの取得によるシングル・サインオンの問題の診断
HTTPヘッダーのチェックによってログインの問題に関する診断情報が得られる場合があります。問題のトラブルシューティング用に、HTTPヘッダーから情報を収集することが可能です。このためには、WebブラウザでHTTPトレースを有効にし、新しいユーザーとしてAccess Managerにログインして、ヘッダーで役に立つ情報を調べます。
4.1.2 Access ManagerによるOIGログイン・ページへのリダイレクト
OHS (http://
OHS_HOST:OHS_PORT
/identity
など)を使用してOracle Identity Governanceリソースにアクセスすると、ユーザーはOracle Access Managementコンソールのログイン・ページではなく、Oracle Identity Governanceログイン・ページにリダイレクトされます。
原因
Access Manager Webゲートがデプロイされていないか、正しく構成されていません。
解決策
httpd.conf
ファイルの最後に次のエントリが含まれていることを確認してください。
"include "webgate.conf"
ここで、webgate.conf
には、12c Webゲート構成が含まれています。
エントリが見つからない場合、Webゲートの構成ステップを見なおし、見落としているものがないか確認します。詳細は、『Oracle Fusion Middleware Oracle Access Manager WebGatesのインストール』のOracle Access ManagerのOracle HTTP Server Webゲートの構成に関する項および『Oracle Fusion Middleware Oracle Access Management管理者ガイド』のAccess Manager設定の構成に関する項を参照してください。
4.1.3 Access Managerによるユーザーの認証の失敗
次のエラーでユーザー・ログインに失敗します。
An incorrect Username or Password was specified.
原因
ユーザー認証はAccess Managerが担当していますが、認証に失敗しています。アイデンティティ・ストアの構成が誤っている可能性があります。
解決策
Oracle Access Managementコンソールでアイデンティティ・ストアが正しく構成されていることを確認してください。
この問題を解決するには、次のようにします。
- Oracle Access Managementコンソールにログインします。
- 「構成」→「ユーザー・アイデンティティ・ストア」→「OAMIDStore」に移動します。
- デフォルト・ストアおよびシステム・ストアの構成を確認します。
- 「接続テスト」をクリックして接続を確認します。
4.1.4 Oracle Access Managementコンソールのログイン操作エラーのトラブルシューティング
ユーザーにログインのためのOracle Access Managementコンソールが表示されず、次のエラー・メッセージが表示されます。
Oracle Access Manager Operation Error.
原因1
OAMサーバーが実行されていません。
解決策1
OAMサーバーを起動します。
原因2
WebゲートがOHSに正しくデプロイされておらず、OAMサーバー上の12cエージェントに対して正しく構成されていません。
エラー・メッセージが表示されます。たとえば: The AccessGate is unable to contact any Access Servers
。
問題は、SSOエージェントに関係している可能性があります。
『Oracle Access Management管理者ガイド』の「資格証明コレクションおよびログインの理解」を参照してください。解決策2
この問題を解決するには、次のようにします。
4.1.5 認証されたユーザーのOIGログインへのリダイレクトのトラブルシューティング
Oracle Access Managementコンソールを使用して認証されたユーザーが、資格証明を入力するためのOracle Identity Governanceログイン・ページにリダイレクトされます。
原因1
OIGドメインのセキュリティ・プロバイダが、Oracle WebLogic Serverで正しく構成されていません。
解決策1
WebLogicセキュリティ・プロバイダが、OIGドメインのセキュリティ・レルムに対して正しく構成されていることを確認します。LDAPオーセンティケータの設定をチェックしてください。詳細は、Oracle Identity Governanceセキュリティ・プロバイダ構成の検証を参照してください。
原因2
OAMIDAsserter
がOracle WebLogic Serverで正しく構成されていません。
解決策2
この問題を解決するには、次のようにします。
4.1.6 「パスワードを忘れた場合」、「新規アカウントの登録」または「ユーザー登録のトラッキング」フローでOIGにリダイレクトされるユーザー
Access Managerは、パスワード管理をOracle Identity Governanceに依存しています。ユーザーが初めてログインする場合、またはユーザー・パスワードが失効している場合、Access ManagerはユーザーをOracle Identity Governanceの「初回ログイン」ページにリダイレクトします。
Access Managerのログイン画面から、ユーザーはOracle Identity Governanceの「パスワードを忘れた場合」フロー、「自己登録」フローまたは「登録のトラッキング」フローにナビゲートできます。
原因
これらのフローを実行した際になんらかの逸脱やエラーが発生した場合には、oam-config.xml
(OAM_DOMAIN_HOME
/config/fmwconfig
)の構成が正しくありません。oam-config.xml
ファイルをエクスポートおよびインポートするステップについては、「OAM構成ファイルのエクスポートおよびインポート」を参照してください。
解決策
oam-config.xml
の内容が、次の例に類似していることを確認してください。特に、HOST
およびPORT
が、Oracle Identity Governanceリソースのフロントエンドとなるように構成されたOHS (またはサポートされている任意のWebサーバー)に対応していることを確認します。
Setting Name="IdentityManagement" Type="htf:map"> <Setting Name="IdentityServiceConfiguration" Type="htf:map"> <Setting Name="IdentityServiceProvider" Type="xsd:string">oracle.security.am.engines.idm.provider.OracleIdentityServiceProvider</Setting> <Setting Name="AnonymousAuthLevel" Type="xsd:integer">0</Setting> <Setting Name="IdentityServiceEnabled" Type="xsd:boolean">true</Setting> <Setting Name="IdentityServiceProviderConfiguration" Type="htf:map"> <Setting Name="AccountLockedURL" Type="xsd:string">/identity/faces/accountlocked</Setting> <Setting Name="ChallengeSetupNotDoneURL" Type="xsd:string">/identity/faces/firstlogin</Setting> <Setting Name="DateFormatPattern" Type="xsd:string">yyyy-MM-dd'T'HH:mm:ss'Z'</Setting> <Setting Name="ForcedPasswordChangeURL" Type="xsd:string">/identity/faces/firstlogin</Setting> <Setting Name="IdentityManagementServer" Type="xsd:string">OIM-SERVER-1</Setting> <Setting Name="PasswordExpiredURL" Type="xsd:string">/identity/faces/firstlogin</Setting> <Setting Name="LockoutAttempts" Type="xsd:integer">5</Setting> <Setting Name="LockoutDurationSeconds" Type="xsd:long">31536000</Setting> </Setting> </Setting> <Setting Name="RegistrationServiceConfiguration" Type="htf:map"> <Setting Name="RegistrationServiceProvider" Type="xsd:string">oracle.security.am.engines.idm.provider.DefaultRegistrationServiceProvider</Setting> <Setting Name="RegistrationServiceEnabled" Type="xsd:boolean">true</Setting> <Setting Name="RegistrationServiceProviderConfiguration" Type="htf:map"> <Setting Name="ForgotPasswordURL" Type="xsd:string">/identity/faces/forgotpassword</Setting> <Setting Name="NewUserRegistrationURL" Type="xsd:string">/identity/faces/register</Setting> <Setting Name="RegistrationManagementServer" Type="xsd:string">OIM-SERVER-1</Setting> <Setting Name="TrackUserRegistrationURL" Type="xsd:string">/identity/faces/trackregistration</Setting> </Setting> </Setting> <Setting Name="ServerConfiguration" Type="htf:map"> <Setting Name="OIM-SERVER-1" Type="htf:map"> <Setting Name="Host" Type="xsd:string">myhost1.example.com</Setting> <Setting Name="Port" Type="xsd:integer">7777</Setting> <Setting Name="SecureMode" Type="xsd:boolean">false</Setting> </Setting> </Setting> </Setting>
4.1.7 ループ内へのユーザー・リダイレクト
新しいユーザーがOracle Identity Management Self-Serviceへのアクセスを試み、正常に認証された後に、リダイレクトのループに入ります。サービス・ページがロードされず、ブラウザはスピンまたはリフレッシュし続けます。
原因
フロントエンドidentity
のWLCookieName
のOHS構成設定が正しくありません。
解決策
フロントエンドidentity
のOHS構成をチェックし、WLCookieName
ディレクティブがoimjsessionid
に設定されていることを確認します。設定されていない場合、Oracle Identity ManagementリソースのLocation
エントリごとに、このディレクティブをoimjsessionid
として設定してください。たとえば:
<Location /identity> SetHandler weblogic-handler WLCookieName oimjsessionid WebLogicHost myhost1.example.com WebLogicPort 8003 WLLogFile "$ Unknown macro: {ORACLE_INSTANCE} /diagnostics/logs/mod_wl/oim_component.log" </Location>
4.1.8 SSO統合構成のトラブルシューティング
原因
SSO統合の構成の実行時に、OAM関連の問題によりスクリプトが失敗することがあります。
解決策
-
OAMサーバーが起動していることを確認してください。
-
このステップで使用されている資格証明が正しいことを確認します。
-
コンソール・ログを確認してエラー「401 - 認証に失敗しました」でないか調べます。
-
OAM管理および管理対象サーバーを再起動します。
-
sso-config.propertiesファイルに次のものが反映されていることを確認します。
generateIndividualConfigFiles=false prepareIDStore=false configOAM=false addMissingObjectClasses=false populateOHSRules=false configureWLSAuthnProviders=false configureLDAPConnector=false configureSSOIntegration=true enableOAMSessionDeletion=false updateContainerRules=false
-
次のREST APIを実行して、OAMポリシー・アプリケーション・ドメインからレスポンスがあることを確認します。
http(s)://<oam-admin-server-host>:<oam-admin-server-port> /oam/services/rest/11.1.2.0.0/ssa/policyadmin/appdomain
ノート:
このREST APIはシステム管理者権限を持つユーザーが実行する必要があります。システム管理者ロールをユーザーに割り当てるには、次のステップを実行します:- OAMコンソールにログインします。
- 「構成」→「管理」→「権限」をクリックします。
- システム管理者権限を与える必要があるユーザーを検索します。たとえば、weblogic_idmです
- 「ロール」に「システム管理者」が設定されていることを確認します。
- 「選択した項目の追加」をクリックします。
configureSSOIntegration.config
ファイルに移動し、システム管理者権限を持つユーザーをIDSTORE_OAMADMINUSER
プロパティに対して指定します。たとえば、IDSTORE_OAMADMINUSER =weblogic_idm
です
RESTエンドポイントからレスポンスがない場合、またはRequest Failed
エラーが返される場合は、次のステップを実行します:- OAM AdminServer WLSコンソールにログインします。
- 「アプリケーションのデプロイ」に移動します。
- 「oam-admin」を選択し、「更新」をクリックして、「アクティブ」をクリックします。
- すべてのOAMドメイン・サーバーを停止します。
- 管理、OAMおよびポリシー・マネージャ・サーバー内の
tmp
およびキャッシュ・ディレクトリを削除します。 - すべてのOAMドメイン・サーバーを起動し、RESTコマンドを再度実行します。
ノート:
指定したREST APIでOAMポリシー・アプリケーション・ドメインからのレスポンスがない場合、次のステップに進まないでください。次のステップに進むと、次のスクリプトによってUnmarshalException
が返されることがあります。 -
OIGOAMIntegration.sh -configureSSOIntegration
を実行します。
4.1.9 WADL生成での説明の非表示
問題
java.lang.IllegalStateException: ServiceLocatorImpl
が返されます。 Exception thrown when provider
class org.glassfish.jersey.server.internal.monitoring.MonitoringFeature$StatisticsListener
was processing MonitoringStatistics. Removing provider from further processing.
java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_6,9,221656053) has been shut down
at org.jvnet.hk2.internal.ServiceLocatorImpl.checkState(ServiceLocatorImpl.java:2393)
http://<Host>:<AdminServerPort>/oam/services/rest/11.1.2.0.0/ssa/policyadmin/application.wadl
http://<Host>:<ManagedServerPort>/iam/access/api/v1/health/application.wadl
解決方法
wadlの問題を解決するには管理サーバーと管理対象サーバーを再起動します。
4.2 Access ManagerおよびOIG統合環境での自動ログインの問題のトラブルシューティング
自動ログイン機能では、ユーザーがパスワードを忘れた場合のフローまたは強制パスワード変更のフローが正常終了した後で、新しいパスワードを使用して認証するよう要求されることなく、Oracle Identity Governanceにログインできます。
Oracle Identity GovernanceとAccess Manager間の通信を、Oracle Access Protocol (OAP)またはTAPチャネルを使用するように構成できます。自動ログインの問題のデバッグは、使用されているチャネルが特定される場合、単純になります。Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザを使用して、Oracle Identity Governance SSOIntegrationMXBean
(バージョン属性)を調べることにより、チャネルを特定してください。詳細は、『Oracle Fusion Middlewareの管理』のシステムMBeanブラウザの使用に関する項を参照してください。
使用しているAccess Managerバージョンに応じて、次のようになります。
-
バージョンが11gの場合は、自動ログインの際、TAPチャネルが使用されます。Oracle Access Protocol (OAP)の問題のトラブルシューティングを参照してください。
パスワードがLDAP同期によりOracle Identity GovernanceとLDAPで再設定されると、Oracle Identity Governanceは、ユーザーをAccess Manager TAPエンドポイントURL (
SSOIntegrationMXBean: TAPEndpointUrl
)にリダイレクトします。Access Managerでは、リクエストされたリソースにリダイレクトすることで、ユーザーを自動ログインします。
ノート:
12c Oracle Identity GovernanceとAccess Manager統合環境では、デフォルトで自動ログイン用にTAPプロトコルが構成されています。
4.2.1 TAPプロトコルの問題のトラブルシューティング
次のいずれかのエラー・メッセージがないか、OIGサーバーおよびAccess Managerサーバーのログを確認してください。
-
404「見つかりません」エラー。考えられる解決策については、「404 見つかりません」エラーを参照してください。
-
システム・エラー。アクションを再試行してください。考えられる解決策については、システム・エラーを参照してください。
4.2.1.1 404「見つかりません」エラー
パスワードを再設定した後に、ユーザーが「404 見つかりません」エラー・ページにリダイレクトされます。
原因
Access Manager TAP endpoint URL (SSOIntegrationMXBean: TAPEndpointUrl)
が正しく構成されていません。
解決策
Oracle Identity Governance SSOIntegrationMXBean
で、TAPEndpointUrl
が正しく構成され、アクセス可能であることを確認してください。たとえば:
http://OAM_HOST:OAM_PORT/oam/server/dap/cred_submit
または
http://OHS_HOST:OHS_PORT/oam/server/dap/cred_submit
ここで、Access ManagerのフロントエンドはOHSとなります。
4.2.1.2 システム・エラー
パスワードの再設定後に、ユーザーがAccess Manager TapEndpointUrl
(Oracle Identity Governance SSOIntegrationMXBean
で構成)にリダイレクトされ、次のエラーがUIに表示されます。
System error. Please re-try your action. If you continue to get this error, please contact the Administrator.
原因1
次のようなメッセージがAccess Managerサーバーのログに表示されます。
Sep 19, 2012 4:29:45 PM EST> <Warning> <oracle.oam.engine.authn> <BEA-000000> <DAP Token not received> <Sep 19, 2012 4:29:45 PM EST> <Error> <oracle.oam.binding> <OAM-00002> <Error occurred while handling the request. java.lang.NullPointerException at oracle.security.am.engines.enginecontroller.token.DAPTokenEncIssuerImpl.issue(DAPTokenEncIssuerImpl.java:87)
解決策1
このエラーは、Access ManagerのTAPResponseOnlyScheme
での誤った構成が原因である可能性があります。oam-config.xml
(OAM_DOMAIN_HOME
/config/fmwconfig
にあります)に、次のエントリが含まれていることを確認してください。
<Setting Name="DAPModules" Type="htf:map"> <Setting Name="7DASE52D" Type="htf:map"> <Setting Name="MAPPERCLASS" Type="xsd:string">oracle.security.am.engine.authn.internal.executor.DAPAttributeMapper</Setting> <Setting Name="MatchLDAPAttribute" Type="xsd:string">uid</Setting> <Setting Name="name" Type="xsd:string">DAP</Setting> </Setting> </Setting>
MatchLDAPAttribute
の値はuid
である必要があります。そうでない場合は、値を変更してください。
問題を解決するには、次のようにします。
-
Oracle Access Management Consoleコンソールにログインします。
-
TapResponseOnlyScheme
に移動します。Challenge
パラメータとして次を追加します。MatchLDAPAttribute=uid
-
変更を保存します。
原因2
次のエラーがAccess Managerサーバーのログに表示されます。
javax.crypto.BadPaddingException: Given final block not properly padded
これは、OIM_TAP_PARTNER_KEY
が資格証明ストア内のOIG資格証明マップに含まれていない場合、または無効なキーが存在する場合に発生する可能性があります。
解決策2
OIGOAMIntegration.sh -configureSSOIntegration
オプションを再実行することにより、Oracle Identity GovernanceをTAPパートナとしてAccess Managerに再登録し、OIGドメイン全体を再起動します。
原因3
パスワードの再設定後に、自動ログインに成功しない場合、OIGサーバーのログには次のエラーが表示されます。
Error occured while retrieving TAP partner key from Credential store
解決策3
問題を解決するには、次のようにします。
- Fusion Middleware Controlを使用して、
OIM_TAP_PARTNER_KEY
汎用資格証明が、資格証明ストア内のOIG資格証明マップに存在することを確認します。 OIM_TAP_PARTNER_KEY
が存在する場合、LDAPコネクタが正しく構成されていること、およびパスワードがLDAPプロバイダで再設定されていることを確認します。これは、ユーザーと新しいまたは再設定したパスワードでldapbind
コマンドを発行することによって確認します。
原因4
パスワードの再設定後に、自動ログインに成功しない場合、OAMサーバーのログには次のエラーが表示されます:
Error occured while retrieving DAP token from OAM due to invalid TAP partner key
資格証明ストアのOIG資格証明マップにあるOIM_TAP_PARTNER_KEY
が有効ではありません。
解決策4
OIGOAMIntegration.sh -configureSSOIntegration
オプションを再実行することにより、Oracle Identity ManagementをTAPパートナとしてAccess Managerに再登録してください。OIGドメイン全体を再起動する必要があります。
原因5
パスワードの再設定後に、自動ログインに成功しない場合、OIGサーバーのログには次のエラーが表示されることがあります。
Error occurred when decrypting the DAP token
解決策5
-
OAM REST APIを使用して、
OIMPartner
属性をOIMPartnerOld
属性で更新します。「OAM REST APIを使用したOAM構成パラメータの変更」を参照してください。 - Oracle Enterprise Manager Fusion Middleware Controlを使用して
OIM_TAP_PARTNER_KEY
をOIGドメインから削除します。 OIGOAMIntegration.sh -configureSSOIntegration
オプションを再実行することにより、Oracle Identity GovernanceをTAPパートナとしてAccess Managerに再登録します。OIM_TAP_PARTNER_KEY
がドメイン資格証明ストアに存在することを確認します。Oracle Identity Governanceドメイン資格証明ストアの検証を参照してください。- OIGおよびOAMドメインを再起動します。
4.2.2 Oracle Access Protocol (OAP)の問題のトラブルシューティング
次のいずれかのタイプのエラー・メッセージがないか、OIGサーバーのログを確認してください。
リソースURLが保護されていません。
修正処理:
Access Managerホスト識別子構成で、host:port
の正しい組合せが構成されていることを確認します。
-
次のOracle Access Managementコンソールにログインします。
http://oam_adminserver_host:oam_adminserver_port/oamconsole
-
Oracle Access Managementコンソールで、ウィンドウの上部にある「アプリケーション・セキュリティ」をクリックします。
- 「Access Manager」セクションの「ホスト識別子」をクリックします。
「ホスト識別子の検索」ページが表示されます。
-
「検索」をクリックして、検索を開始します。
-
検索結果表で「IAMSuiteAgent」をクリックします。
-
ホスト識別子で、識別子の
host:port
の組合せを確認します。 - IAMSuiteAgentホスト識別子には、Oracle Identity ManagementのフロントエンドとなるOHS (Webサーバー)の
host:port
の組合せが必要です。
aaaClient
が初期化されません。
修正処理:
OIGドメイン資格証明ストアにシードされたパスワードが正しいことを確認してください。OPEN
モードの場合、Webゲートのパスワードを確認します。SIMPLE
モードの場合は、SSOキーストア・パスワードとSSOグローバル・パスフレーズが正しくシードされていることを確認します。詳細は、Oracle Identity Governanceドメイン資格証明ストアの検証を参照してください。
構成済のどのOAMサーバーとも通信できません。
修正処理:
-
これが起動され実行していることを確認してください。
-
OIGドメイン資格証明ストアにシードされたパスワードが正しいことを確認してください。
-
OPENモードの場合、Webゲートのパスワードを確認します。
-
SIMPLEモードの場合は、SSOキーストア・パスワードとSSOグローバル・パスフレーズが正しくシードされていることを確認します。
Oracle Identity Governanceドメイン資格証明ストアの検証を参照してください。
SSOKeystore
が改ざんされているかパスワードが正しくありません。
修正処理:
-
キーストア・ファイル
ssoKeystore.jks
がOIM_DOMAIN_HOME
/config/fmwconfig
に存在することを確認します。 -
存在する場合は、キーストア・パスワードがOIGドメイン資格証明ストアに適切にシードされていることを確認してください。
Oracle Identity Governanceドメイン資格証明ストアの検証を参照してください。
Oracle Identity Managementのログに障害に関する情報がありません。
修正処理:
-
HTTPヘッダーを有効にし、初回ログイン、パスワードを忘れた場合のフローを実行しながらヘッダーを取得します。HTTPヘッダーの取得によるシングル・サインオンの問題の診断を参照してください。
-
HTTPヘッダーで、「初回ログイン」、「パスワードを忘れた場合」ページのPOSTメソッドの後の
Set-Cookie: ObSSOCookie
を探します。Cookieのドメインを確認してください。これは、保護対象リソースのURLのドメインと一致している必要があります。 -
Cookieドメインが異なる場合は、Fusion Middleware Controlを使用して、Oracle Identity Management SSO構成内の
CookieDomain
を更新します。Oracle Identity Governance SSO構成設定の検証を参照してください。 -
Cookieドメインが正しい場合は、OIGサーバーおよびOAMサーバーをホストする各マシンで時刻に相違がないか確認します。
4.3 セッションの終了の問題のトラブルシューティング
セッションの終了機能では、Oracle Identity Management管理者によりユーザー・ステータスが変更されると、アクティブなユーザー・セッションをすべて終了できます。セッションが終了となるOracle Identity Management操作には、ユーザーのロック、無効化、または削除があります。
セッションの終了の問題をトラブルシューティングするには:
-
OAM REST URL (http://<OAM_HOST>:<OAM_PORT>/oam/services/rest/access/api/v1/session?userId=<uid>)がアクセス可能かどうか確認します。
ここで、OAM_HOSTはSSOIntegrationMXBean: AccessServerHostを参照しており、OAM_PORTはSSOIntegrationMXBean: OAMServerPortを参照しています -
OAM管理が、OAM REST API(SSOIntegrationMXBean: OAMAdminUser)を起動する権限があるかどうかを確認してください。
-
OAMドメイン内の
oam-config.xml
内で、SessionRuntimeのUserStoreが、統合中に作成されたIDStoreを指していることを確認します。 -
/db/sssointg/EventHandlers.xml
がOracle Identity Governance MDSにあることを確認します。「SSO用に構成されたOracle Identity Governanceイベント・ハンドラの検証」を参照してください。
4.4 アカウントのセルフロックの問題のトラブルシューティング
ユース・ケース1
ログインの試行に複数回失敗したため、LDAPストアとAccess Managerの両方がユーザーをロックアウトしました。ユーザーは、Oracle Identity Governance (OIG)の「パスワードを忘れた場合」ページを使用して自分のパスワードをリセットしようとしますが、リセット操作は失敗します。
考えられる理由:ユーザーのロック済ステータスがOracle Identity Governanceにまだ伝播されていません。
-
Oracle Identity Governanceでユーザーがロックされているかどうか確認します。
-
Oracle Identity Governance管理者としてIdentity Self Serviceアプリケーションにログインします。
-
「ユーザー」セクションにナビゲートし、ユーザーを検索します。
-
アイデンティティ・ステータスが
locked
であるかどうか確認します。
-
-
ステータスが
locked
でない場合、SSOユーザー増分リコンシリエーションのスケジュール済ジョブを実行し、ユーザー・ステータスがlocked
となっていることを確認します。
ユース・ケース2
複数の無効な資格証明によってログインが複数回試行されたため、ユーザー・アカウントがセルフロックされました。その後、ユーザーは正しい資格証明でログインしようとしますが、ログインできません。ユーザーは初めてログインするつもりで、パスワードを変更しますが、ログインは引き続き失敗します。
考えられる理由: LDAPディレクトリとAccess Managerの両方がユーザー・アカウントをロックしている可能性があります。この場合、ユーザーはOracle Identity Governanceおよび保護されたページにはログインできません。ユーザーは「パスワードを忘れた場合」フローを使用して、パスワードをリセットする必要があります。
Access Managerのみがユーザーをロックアウトしている場合、ユーザーはOracle Identity Governanceにログインしてパスワードをただちに変更できます。
ユース・ケース3
LDAPディレクトリのpwdMaxFailure
の数の3が、oblogintrycount
の値の5を下回っています。複数の無効な資格証明によってログインが複数回試行された(この場合は3回)ため、LDAPディレクトリはユーザーをロックアウトしました。その後、ユーザーは正しい資格証明でログインしようとしますが、4回目の試行でもログインできません。ユーザーは初めてログインするつもりで、パスワードを変更しますが、ログインは引き続き失敗します。
考えられる理由: LDAPディレクトリはユーザーをロックアウトしましたが、Access Managerはロックアウトを実行しませんでした。oblogintrycount
が5未満でもユーザーは正しいパスワードでログインできませんが、次の「パスワードを忘れた場合」フローは機能し、パスワードはリセットされます。
OIGは、LDAPストアでロックされたユーザー・アカウントを調整しないため、LDAPディレクトリがユーザーをロックアウトしても、OIGにあわせて調整されるものはありません。LDAPストアがユーザーをロックすると、OIGではユーザーがアクティブとして表示されます。パスワードをリセットする方法は、「パスワードを忘れた場合」フローの実行のみです。
ユース・ケース4
LDAPディレクトリのpwdMaxFailure
の回数の7が、oblogintrycount
の値の5を下回っています。複数の無効な資格証明によってログインが複数回試行されたため、Access Managerはユーザーをロックアウトしました。その後、ユーザーが正しい資格証明でログインしようとすると、ログインに成功し、パスワードの変更がリダイレクトされますが、パスワードのリセット操作が失敗します。
考えられる理由: ユーザーのロック済ステータスがOIGにまだ伝播されていません。
-
ユーザーがOIGでロックされているかどうかを確認します。
-
OIG管理者としてIdentity Self Serviceアプリケーションにログインします。
-
「ユーザー」セクションにナビゲートし、ユーザーを検索します。
-
アイデンティティ・ステータスが
locked
であるかどうか確認します。
-
-
ステータスが
locked
でない場合、SSOユーザー増分リコンシリエーションのスケジュール済ジョブを実行し、ユーザー・ステータスがlocked
となっていることを確認します。
ユース・ケース1とこのユース・ケースは非常に似ていることに注意してください。ユース・ケース1では、LDAPディレクトリとAccess Managerの両方がユーザー・アカウントをロックしましたが、このユース・ケースではAccess Managerのみがユーザーをロックします。ただし、両方のユース・ケースの修正は同じです。
ユース・ケース5
ユーザーは自分のパスワードを思い出せないため、「パスワードを忘れた場合」フローを使用してパスワードをリセットしようとします。ユーザーは自分のユーザー・ログインを指定し、新しいパスワードを指定して間違ったチャレンジ応答を指定します。3回の試行に失敗した後、LDAPディレクトリとAccess Managerの両方がユーザーをロックします。oblogintrycount
の値が5であるため、ユーザーは3回ではなく5回の試行後にロックアウトされると予想しています。
考えられる理由: OIGリセット/パスワードを忘れた場合のフローでのパスワード・リセットの試行は、OIGシステム・プロパティXL.MaxPasswordResetAttempts
によって管理されており、デフォルト値は3です。したがって、ユーザーは3回の試行後ただちにロックアウトされます。OIGは、LDAPディレクトリおよびAccess Managerでユーザーをネイティブにロックします。
パスワード・リセットの試行は、ログイン試行とは異なることに注意してください。ログインの試行はAccess Manager (oblogintrycount=5
)によって管理され、パスワード・リセットの試行はOIG (XL.MaxPasswordResetAttempts=3
)によって管理されます。
ユース・ケース6
一定のLDAPバインディングが間違った資格証明を使用したため、LDAPディレクトリはユーザーをロックします。Access Managerはユーザーをロックアウトしていません。ユーザーは正しい資格証明でログインしようとしますが、ログインできません。
考えられる理由: このユース・ケースでは、Access Managerではなく、LDAPディレクトリがユーザーをロックアウトしています。oblogintrycount
が5未満でもユーザーは正しいパスワードでログインできませんが、「パスワードを忘れた場合」フローに従うことでパスワードをリセットできます。
ユーザーがLDAPディレクトリによってのみロックアウトされている場合、ユーザーのロックアウト・ステータスはOIGにあわせて調整されることはありません。したがって、ユーザーはLDAPディレクトリでロックされていても、OIGでは引き続きアクティブとして表示されます。
ユース・ケース7
ユーザーがパスワードをリセットしたとき、パスワードのリセットが迅速に行われません。
-
複数の無効な資格証明によってログインが複数回試行されたため、ユーザー・アカウントがセルフロックされました。
-
ユーザーは「パスワードを忘れた場合」フローを使用して、パスワードをリセットします。
-
ユーザー・アカウントがロックされたままで、ユーザーがOracle Identity Governanceにログインできません。
考えられる理由: ユーザーのロック済
ステータスがOIGにまだ伝播されていません。
-
ユーザーがOIGでロックされているかどうかを確認します。
-
OIG管理者としてIdentity Self Serviceアプリケーションにログインします。
-
「ユーザー」セクションにナビゲートし、ユーザーを検索します。
-
アイデンティティ・ステータスが
locked
であるかどうか確認します。
-
-
ステータスが
locked
でない場合、SSOユーザー増分リコンシリエーションのスケジュール済ジョブを実行し、ユーザー・ステータスがlocked
となっていることを確認します。
4.5 Access ManagerおよびOIG統合環境でのその他の問題のトラブルシューティング
ここでは、次のようなその他の問題の解決策を適用します。
4.5.1 スケジューラおよびシステム・プロパティが統合環境で起動しない
スケジューラ・ページにアクセスすると、次のエラーが発生し、構成プロパティが表示されません。
Failed <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head>
<title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The
requested URL /iam/governance/selfservice/api/v1/scheduler/history was not
found on this server.</p> </body></html>
解決策
- 次の場所にある
oim.conf
ファイルに次のエントリを追加します:場所:
OAM_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/moduleconf/oim.conf
OAM_DOMAIN_HOME/config/fmwconfig/components/OHS/instances/ohs1/moduleconf/oim.conf
エントリ
<Location /iam/governance/adminservice/api/v1> SetHandler weblogic-handler WLCookieName oimjsessionid WebLogicHost %OIM_HOST% WebLogicPort %OIM_PORT% WLLogFile “${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log” </Location>
<Location /iam/governance/selfservice/api/v1> SetHandler weblogic-handler WLCookieName oimjsessionid WebLogicHost %OIM_HOST% WebLogicPort %OIM_PORT% WLLogFile “${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log” </Location>
- サーバーを再起動します
4.5.2 クライアントベースのOracle Identity Governanceのログインの失敗
Oracle Identity Governanceへのクライアントベース・ログインに成功するには、次のようにします。
-
クライアントベース・ログイン・ユーザーがLDAPプロバイダに存在する必要があります。
-
ユーザーが存在するLDAPプロバイダに応じて、OIGドメインセキュリティ・レルムでLDAPオーセンティケータを構成する必要があります。Oracle Identity Governanceセキュリティ・プロバイダ構成の検証を参照してください。
4.5.3 OIGの保護されたアプリケーションからのログアウト後にログアウト404エラーが発生する
Oracle Identity Governanceの保護されたアプリケーションからのログアウトで404
エラーがスローされた場合は、jps-config.xml
にログアウト構成が存在することを確認します。Oracle Identity GovernanceのSSOログアウト構成の検証を参照してください。
必要に応じて、$DOMAIN_HOME
/config/fmwconfig
にあるjps-configuration
ファイルを編集し、すべてのサーバーを再起動することにより、JPS構成を修正できます。
jps-config.xml
で不適切な構成を解決するには:
4.5.4 パスワードのリセット後に古いパスワードが有効な状態が続く
Active Directory環境で、パスワードのリセット後に最大1時間、古いパスワードがアクティブなままになります。この時間中は、古いパスワードおよび新しいパスワードの両方がActive Directoryサーバーに正常にバインドできます。これは予想された動作です。
4.5.5 OIGポリシーをAccess ManagerにシードするときのOIG構成の失敗
OIGOAMIntegration.sh -configureSSOIntegration
の実行の一環として、Access Managementの公開RESTエンドポイントを使用して、Oracle Identity GovernanceポリシーがAccess Manager内にシードされます。
Access Managerの公開エンドポイントへのアクセスに使用されるユーザー資格証明に、操作を実行するための十分な権限がない場合、Oracle Identity Governanceポリシーのシード中に例外が発生します。
この解決策は、次のとおりです。
4.5.6 オブジェクト・クラスの追加の失敗
OIGOAMIntegration.sh -addMissingObjectClasses
を実行してオブジェクト・クラスを追加する場合です。これが次のエラーで失敗します:
ldap_bind: Invalid credentials (49)
原因
このエラーは、addMissingObjectClasses.config
ファイルでIDSTORE_BINDDN
プロパティに余分なスペースがあるときに発生します。
例
IDSTORE_BINDDN:cn=Directory Manager
解決策
IDSTORE_BINDDN
プロパティの開始および終了位置に二重引用符("
)を指定してください。例
IDSTORE_BINDDN:cn="Directory Manager"
_OIGOAMIntegration.sh
スクリプトのaddMissingObjectClasses
関数の次の行を置換します:COMMAND="ldapsearch -h $IDSTORE_HOST -p $IDSTORE_PORT -D $IDSTORE_BINDDN -w $IDSTORE_BINDDN_PWD -b $IDSTORE_USERSEARCHBASE -s sub $FILTER dn" echo "Executing ldapsearch..." echo $COMMAND $COMMAND | grep "dn:" > ${ALL_USERS}
次の行で置換します:
LDAP_COMMAND="ldapsearch -h $IDSTORE_HOST -p $IDSTORE_PORT -D "$IDSTORE_BINDDN" -w $IDSTORE_BINDDN_PWD -b $IDSTORE_USERSEARCHBASE -s sub $FILTER dn" COMMAND=$(ldapsearch -h $IDSTORE_HOST -p $IDSTORE_PORT -D "$IDSTORE_BINDDN" -w $IDSTORE_BINDDN_PWD -b $IDSTORE_USERSEARCHBASE -s sub $FILTER dn) echo "Executing ldapsearch..." echo $LDAP_COMMAND echo $COMMAND | grep "dn:" > ${ALL_USERS}
4.5.7 信頼できるソース・リコンシリエーションのDN属性でSSOリコンシリエーション・フィルタが機能しない
entryDN
フィールドでContains
、startsWith
およびendsWith
フィルタを使用すると、SSOの完全リコンシリエーションおよび増分リコンシリエーションが次のエラーで失敗します:
org.identityconnectors.framework.common.exceptions.ConnectorException: Unsupported filter type for attribute entryDN
LDAPコネクタの仕様/実装により、entryDN
およびDN
属性に対するLDAPフィルタはサポートされていません。LDAPフィルタの現行サポートでは、__parentDN__
属性に対するequalTo
フィルタの使用のみがサポートされています。このため、OU下のユーザーを信頼できるリコンシリエーションの一部としてフェッチするには、__parentDN__
属性にequalTo
フィルタを適用する必要があります。
4.5.8 バルク・ロードで作成されたユーザーのログインが失敗する
コネクタ・ベースの設定でADがLDAPとして使用されているOAM-OIG統合環境で、バルク・ロードで作成されたユーザーのログインが成功しない場合は、このトピックで説明する解決策に従ってください。
原因
これは、ADターゲット・ユーザー属性sAMAccountName
に、実際のユーザーIDではなく$JI7000-BD7NAT1841M6
などのジャンク値が含まれているために起こります。
解決策
ADをLDAPとして使用する場合は、アプリケーションSSOTarget
の変換スクリプトを更新して、BULKLOAD
の条件を追加します。これを行うには:
-
Oracle Identity Self Serviceにログインします。
-
「管理」タブをクリックし、「アプリケーション」ページで
SSOTarget
アプリケーションを編集します。 -
「設定」ページに移動し、「リコンシリエーション」タブをクリックします。
-
「検証と変換」セクションで、「変換スクリプト」をクリックしてエディタを開きます。
-
次に示すように、
BULKLOAD
の条件を追加します:(context.provisionMechanism.equalsIgnoreCase("REQUEST") || context.provisionMechanism.equalsIgnoreCase("ADMIN") || context.provisionMechanism.equalsIgnoreCase("BULKLOAD") ) { if (User_Id == null || User_Id == "") { User_Id = getBeneficiaryAttrFromContext("User Login"); }
-
変更を保存します。
BULKLOAD
にこの条件を追加した後、すべてのバルク・ロード・ユーザーをリロードしてから、ログインを試行します。
4.5.9 ターゲットの変更がないのにイベントが生成される
SSOユーザー増分リコンシリエーション・スケジュール済ジョブを実行すると、ターゲットに変更は行われていないのに、イベントが生成されます。
原因
イベントが生成されるのは、OIGでターゲットからのobPasswordExpiryDate
フィールド値が正しく書式設定されないためです。
解決策
-
Oracle Identity Self Serviceで、「管理」タブをクリックし、「アプリケーション」ページで
SSOTarget
アプリケーションを編集します。 -
「スキーマ」ページに移動し、
obPasswordExpiryDate
スキーマ属性の詳細設定を変更して、「日付」オプションを有効にします。 -
変更を保存します。
-
SSOユーザー増分リコンシリエーション・スケジュール済ジョブを実行します。
4.6 ターゲット・アカウント作成のトラブルシューティング
コンテナ・ルールがSSOIntegrationMXBean内で構成されていない
修正処理:
-
SSOIntegrationMXBeanに対してaddContainerRules操作を手動で実行します。
-
または、適切な構成ファイルを更新し、次のいずれかのスクリプトを実行します。
-
$ORACLE_HOME/idm/server/ssointg/bin/OIGOAMIntegration.sh -configureLDAPConnector
-
$ORACLE_HOME/idm/server/ssointg/bin/OIGOAMIntegration.sh -updateContainerRules
-
アプリケーション・インスタンスが作成されない
修正処理:
-
アプリケーション・インスタンスを手動で作成します。詳細は、「ターゲット・アプリケーション・インスタンスの作成」を参照してください。
-
または、適切な構成ファイルを更新し、次のスクリプトを実行します。
$ORACLE_HOME/idm/server/ssointg/bin/OIGOAMIntegration.sh -configureLDAPConnector
LDAPサーバーが実行されていない
修正処置: LDAPサーバーを起動します
ディレクトリがシードされていない
修正処理:
適切な構成ファイルを更新し、次のスクリプトを実行します。$ORACLE_HOME/idm/server/ssointg/bin/OIGOAMIntegration.sh -prepareIDStore
mds-oim接続プールが別の接続を割り当てることができない
修正処理:
-
WebLogicコンソールで、「サービス」>「データ・ソース」>「mds-oim」>「接続プール」にナビゲートします。
-
「接続プール」ページで、「初期容量」、「最小容量」、「最大容量」の値を大きくします。
-
「保存」をクリックします。
-
「接続プール」ページで、ページの下部にある「詳細」リンクを選択します。
-
「詳細」ページで、「非アクティブ接続タイムアウト」の値を0以外の値に設定します。たとえば10。
-
「保存」をクリックします
OUDでのパスワードのリセット
システム管理者が手動でOIGでユーザーをロックアウトすると、OUDでユーザーに対するobLockedOn属性とpwdAccountLockedTime属性が設定されます。システム管理者がユーザーのパスワードをリセットした場合、OUDのpwdAccoundLockedTimeがクリアされます。これはOUDでのデフォルト動作です。
pwdAccoundLockedTime属性がクリアされると、OIGでのユーザー・リコンシリエーションの後にユーザー・ステータスがロック解除済に更新されます。ただし、OUDでobLockedOnが設定されたままであるため、OAMはこのユーザーをロック済として扱います。
修正処理:
OIGでユーザーをロック(またはロック解除)することをお薦めします。このシナリオは、手動でロックされたユーザーのパスワードをリセットする場合にのみ適用できます。これは、パスワード試行の失敗のためにロックされる、セルフロック・ユーザーのパスワードを変更する場合には適用されません。
4.7 ADのprepareIDStoreのトラブルシューティング
エラー
ADUserSchema.ldif
のスキーマをロードできません。
このエラーは次のスクリプト・ステップの実行時に表示されます。
oracle.ldap.util.LDIFLoader loadOneLdifFile INFO: Ignoring Error: javax.naming.directory.InvalidAttributeValueException: [LDAP: error code 19 - 00002082: AtrErr: DSID-03151817, #1: 0: 00002082: DSID-03151817, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att90094 (schemaIDGUID):len 26 ]; remaining name 'cn=oblocationdn,cn=schema,cn=configuration,DC=interop55,DC=us,DC=oracle,DC=com'
解決策
-
ADUserSchema.ldif
を編集して、%IDSTORE_SEARCHBASE%
をDC=interop55,DC=my,DC=org,DC=com
で置換します -
LDAPコマンドを実行して、これらをADにロードします
ldapmodify -h 192.0.2.1 -p 389 -D Administrator@interop -w <password> -f ADUserSchema.ldif -c -x
問題点
AD環境では、oblixgroup
などのオブジェクト・クラスは、-prepareIDStore
ステップが実行された後ではロードされません。
解決策
-
$ORACLE_HOME/idm/server/ldif/prepareidstore/AD/schema
に移動します -
ADUserSchema.ldif
を編集し、%IDSTORE_SEARCHBASE%
をユーザーとグループが保存されているディレクトリの場所で置換します。たとえば、dc=example,dc=comなどです -
LDAPコマンドを実行します
ldapmodify -h <activedirectoryhostname> -p <activedirectoryportnumber> -D <AD_administrator> -f ADUserSchema.ldif -w <password> -c -x
ここで、
AD_administrator
は、ディレクトリに対するスキーマ拡張権限を持つユーザーです。例:
ldapmodify -h activedirectoryhost.example.com -p 389 -D adminuser -f ADUserSchema.ldif -w password -c -x