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コンソールでアイデンティティ・ストアが正しく構成されていることを確認してください。

この問題を解決するには、次のようにします。

  1. Oracle Access Managementコンソールにログインします。
  2. 「構成」「ユーザー・アイデンティティ・ストア」「OAMIDStore」に移動します。
  3. デフォルト・ストアおよびシステム・ストアの構成を確認します。
  4. 「接続テスト」をクリックして接続を確認します。

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

この問題を解決するには、次のようにします。

  1. oamtest.jar (ORACLE_HOME/idm/oam/server/tester)を実行し、AgentIDを指定することにより接続をテストします。

    AgentIDは、WEBSERVER_HOMEwebgate/configディレクトリ内のObAccessClient.xmlにあります。たとえば:

    <SimpleList>
     
            <NameValPair
     
                ParamName="id"
     
                Value="IAMAG_11g"></NameValPair>
     
        </SimpleList>
    

    テスターが接続に失敗した場合、OAMサーバーのSSOエージェント構成(パスワード/ホスト/ポート)に問題があることが確実となります。

  2. 12cのSSOエージェントを再作成し、このエージェントを使用するようにWebゲートを再構成します。

4.1.5 認証されたユーザーのOIGログインへのリダイレクトのトラブルシューティング

Oracle Access Managementコンソールを使用して認証されたユーザーが、資格証明を入力するためのOracle Identity Governanceログイン・ページにリダイレクトされます。

原因1

OIGドメインのセキュリティ・プロバイダが、Oracle WebLogic Serverで正しく構成されていません。

解決策1

WebLogicセキュリティ・プロバイダが、OIGドメインのセキュリティ・レルムに対して正しく構成されていることを確認します。LDAPオーセンティケータの設定をチェックしてください。詳細は、Oracle Identity Governanceセキュリティ・プロバイダ構成の検証を参照してください。

原因2

OAMIDAsserterOracle WebLogic Serverで正しく構成されていません。

解決策2

この問題を解決するには、次のようにします。

  1. OIGドメインのWebLogic Server管理コンソールにログインします。
  2. 「セキュリティ・レルム」「myrealm」「プロバイダ」の順にナビゲートします。
  3. 「OAMIDAsserter」をクリックします。
  4. 「共通」タブにナビゲートし、「アクティブなタイプ」にWebゲート・タイプの正しいヘッダーが含まれていることを確認します。

    Webゲート12cの場合はOAM_REMOTE_USER

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へのアクセスを試み、正常に認証された後に、リダイレクトのループに入ります。サービス・ページがロードされず、ブラウザはスピンまたはリフレッシュし続けます。

原因

フロントエンドidentityWLCookieNameの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関連の問題によりスクリプトが失敗することがあります。

解決策

  1. OAMサーバーが起動していることを確認してください。

  2. このステップで使用されている資格証明が正しいことを確認します。

  3. コンソール・ログを確認してエラー「401 - 認証に失敗しました」でないか調べます。

  4. OAM管理および管理対象サーバーを再起動します。

  5. sso-config.propertiesファイルに次のものが反映されていることを確認します。

    generateIndividualConfigFiles=false
    prepareIDStore=false
    configOAM=false
    addMissingObjectClasses=false
    populateOHSRules=false
    configureWLSAuthnProviders=false
    configureLDAPConnector=false
    configureSSOIntegration=true
    enableOAMSessionDeletion=false
    updateContainerRules=false
  6. 次の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はシステム管理者権限を持つユーザーが実行する必要があります。
    システム管理者ロールをユーザーに割り当てるには、次のステップを実行します:
    1. OAMコンソールにログインします。
    2. 「構成」「管理」「権限」をクリックします。
    3. システム管理者権限を与える必要があるユーザーを検索します。たとえば、weblogic_idmです
    4. 「ロール」「システム管理者」が設定されていることを確認します。
    5. 「選択した項目の追加」をクリックします。
    6. configureSSOIntegration.configファイルに移動し、システム管理者権限を持つユーザーをIDSTORE_OAMADMINUSERプロパティに対して指定します。たとえば、IDSTORE_OAMADMINUSER =weblogic_idmです
    RESTエンドポイントからレスポンスがない場合、またはRequest Failedエラーが返される場合は、次のステップを実行します:
    1. OAM AdminServer WLSコンソールにログインします。
    2. 「アプリケーションのデプロイ」に移動します。
    3. 「oam-admin」を選択し、「更新」をクリックして、「アクティブ」をクリックします。
    4. すべてのOAMドメイン・サーバーを停止します。
    5. 管理、OAMおよびポリシー・マネージャ・サーバー内のtmpおよびキャッシュ・ディレクトリを削除します。
    6. すべてのOAMドメイン・サーバーを起動し、RESTコマンドを再度実行します。

    ノート:

    指定したREST APIでOAMポリシー・アプリケーション・ドメインからのレスポンスがない場合、次のステップに進まないでください。次のステップに進むと、次のスクリプトによってUnmarshalExceptionが返されることがあります。
  7. OIGOAMIntegration.sh -configureSSOIntegrationを実行します。

4.1.9 WADL生成での説明の非表示

問題

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)
また、WADL生成が失敗したとき、次のURLの適切な説明ではなく、説明フィールドにルート・リソースが表示されます。

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 ManagerTAPResponseOnlySchemeでの誤った構成が原因である可能性があります。oam-config.xml (OAM_DOMAIN_HOME/config/fmwconfigにあります)に、次のエントリが含まれていることを確認してください。

ノート:

oam-config.xmlファイルをエクスポートおよびインポートするステップについては、「OAM構成ファイルのエクスポートおよびインポート」を参照してください。
<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である必要があります。そうでない場合は、値を変更してください。

問題を解決するには、次のようにします。

  1. Oracle Access Management Consoleコンソールにログインします。

  2. TapResponseOnlySchemeに移動します。Challengeパラメータとして次を追加します。

    MatchLDAPAttribute=uid
    
  3. 変更を保存します。

原因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

問題を解決するには、次のようにします。

  1. Fusion Middleware Controlを使用して、OIM_TAP_PARTNER_KEY汎用資格証明が、資格証明ストア内のOIG資格証明マップに存在することを確認します。
  2. 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

この問題を解決するには、TAP暗号化キーを再設定します:
  1. OAM REST APIを使用して、OIMPartner属性をOIMPartnerOld属性で更新します。「OAM REST APIを使用したOAM構成パラメータの変更」を参照してください。

  2. Oracle Enterprise Manager Fusion Middleware Controlを使用してOIM_TAP_PARTNER_KEYをOIGドメインから削除します。
  3. OIGOAMIntegration.sh -configureSSOIntegrationオプションを再実行することにより、Oracle Identity GovernanceをTAPパートナとしてAccess Managerに再登録します。
  4. OIM_TAP_PARTNER_KEYがドメイン資格証明ストアに存在することを確認します。Oracle Identity Governanceドメイン資格証明ストアの検証を参照してください。
  5. OIGおよびOAMドメインを再起動します。

4.2.2 Oracle Access Protocol (OAP)の問題のトラブルシューティング

次のいずれかのタイプのエラー・メッセージがないか、OIGサーバーのログを確認してください。

リソースURLが保護されていません。

修正処理:

Access Managerホスト識別子構成で、host:portの正しい組合せが構成されていることを確認します。

  1. 次のOracle Access Managementコンソールにログインします。

    http://oam_adminserver_host:oam_adminserver_port/oamconsole
    
  2. Oracle Access Managementコンソールで、ウィンドウの上部にある「アプリケーション・セキュリティ」をクリックします。

  3. 「Access Manager」セクションの「ホスト識別子」をクリックします。

    「ホスト識別子の検索」ページが表示されます。

  4. 「検索」をクリックして、検索を開始します。

  5. 検索結果表で「IAMSuiteAgent」をクリックします。

  6. ホスト識別子で、識別子のhost:portの組合せを確認します。

  7. 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.jksOIM_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内で、SessionRuntimeUserStoreが、統合中に作成された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にまだ伝播されていません。

  1. Oracle Identity Governanceでユーザーがロックされているかどうか確認します。

    1. Oracle Identity Governance管理者としてIdentity Self Serviceアプリケーションにログインします。

    2. 「ユーザー」セクションにナビゲートし、ユーザーを検索します。

    3. アイデンティティ・ステータスがlockedであるかどうか確認します。

  2. ステータスが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にまだ伝播されていません。

  1. ユーザーがOIGでロックされているかどうかを確認します。

    1. OIG管理者としてIdentity Self Serviceアプリケーションにログインします。

    2. 「ユーザー」セクションにナビゲートし、ユーザーを検索します。

    3. アイデンティティ・ステータスがlockedであるかどうか確認します。

  2. ステータスが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

ユーザーがパスワードをリセットしたとき、パスワードのリセットが迅速に行われません。

  1. 複数の無効な資格証明によってログインが複数回試行されたため、ユーザー・アカウントがセルフロックされました。

  2. ユーザーは「パスワードを忘れた場合」フローを使用して、パスワードをリセットします。

  3. ユーザー・アカウントがロックされたままで、ユーザーがOracle Identity Governanceにログインできません。

考えられる理由: ユーザーのロック済ステータスがOIGにまだ伝播されていません。

  1. ユーザーがOIGでロックされているかどうかを確認します。

    1. OIG管理者としてIdentity Self Serviceアプリケーションにログインします。

    2. 「ユーザー」セクションにナビゲートし、ユーザーを検索します。

    3. アイデンティティ・ステータスがlockedであるかどうか確認します。

  2. ステータスが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>

解決策

  1. 次の場所にある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>
  2. サーバーを再起動します

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で不適切な構成を解決するには:

  1. ターミナル・ウィンドウで、次のコマンドを発行します: cd $$ORACLE_HOME <OIG_INSTALL_LOCATION>/oracle_common/common/bin
  2. ./wlst.sh
  3. connect()
  4. addOAMSSOProvider(loginuri="/${app.context}/adfAuthentication", logouturi="/oamsso/logout.html", autologinuri="/obrar.cgi")
  5. exit
  6. ドメイン内のすべてのサーバーを再起動します。

    『Oracle Fusion Middlewareの管理』管理サーバーの起動と停止に関する項を参照してください。

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ポリシーのシード中に例外が発生します。

この解決策は、次のとおりです。

  1. IDSTORE_WLSADMINUSERが、prepareIdStore mode=wlsコマンドの実行中に使用されたユーザーと同じであることを確認します。
  2. curlコマンドを使用してAccess Manager RESTエンドポイントへのアクセスを試行します。
    curl -u weblogic_idm:password "http://OAM_ADMIN_HOST:OAM_ADMIN_PORT/oam/services/rest/11.1.2.0.0/ssa/policyadmin/appdomain"
    

    説明:

    • weblogic_idmIDSTORE_WLSADMINUSER用に示されているユーザーで、passwordはユーザーのパスワードです。

    このコマンドがAccess Managerに存在するアプリケーション・ドメインのリストを戻すことに失敗する場合は、configOAMが正しく実行され、OIGOAMIntegration.sh -configureSSOIntegrationの実行前にAccess Manager管理サーバーが再起動することを確認します。

4.5.6 オブジェクト・クラスの追加の失敗

OIGOAMIntegration.sh -addMissingObjectClassesを実行してオブジェクト・クラスを追加する場合です。これが次のエラーで失敗します:

ldap_bind: Invalid credentials (49)

原因

このエラーは、addMissingObjectClasses.configファイルでIDSTORE_BINDDNプロパティに余分なスペースがあるときに発生します。

IDSTORE_BINDDN:cn=Directory Manager

解決策

  1. IDSTORE_BINDDNプロパティの開始および終了位置に二重引用符(")を指定してください。

    IDSTORE_BINDDN:cn="Directory Manager"
  2. _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フィールドでContainsstartsWithおよび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の条件を追加します。これを行うには:

  1. Oracle Identity Self Serviceにログインします。

  2. 「管理」タブをクリックし、「アプリケーション」ページでSSOTargetアプリケーションを編集します。

  3. 「設定」ページに移動し、「リコンシリエーション」タブをクリックします。

  4. 「検証と変換」セクションで、「変換スクリプト」をクリックしてエディタを開きます。

  5. 次に示すように、BULKLOADの条件を追加します:

    (context.provisionMechanism.equalsIgnoreCase("REQUEST") 
    ||
    context.provisionMechanism.equalsIgnoreCase("ADMIN") 
    ||
    context.provisionMechanism.equalsIgnoreCase("BULKLOAD")
    ) 
    {
    if (User_Id == null || User_Id == "") {
    User_Id = getBeneficiaryAttrFromContext("User Login");
    }
  6. 変更を保存します。

BULKLOADにこの条件を追加した後、すべてのバルク・ロード・ユーザーをリロードしてから、ログインを試行します。

4.5.9 ターゲットの変更がないのにイベントが生成される

SSOユーザー増分リコンシリエーション・スケジュール済ジョブを実行すると、ターゲットに変更は行われていないのに、イベントが生成されます。

原因

イベントが生成されるのは、OIGでターゲットからのobPasswordExpiryDateフィールド値が正しく書式設定されないためです。

解決策

  1. Oracle Identity Self Serviceで、「管理」タブをクリックし、「アプリケーション」ページでSSOTargetアプリケーションを編集します。

  2. 「スキーマ」ページに移動し、obPasswordExpiryDateスキーマ属性の詳細設定を変更して、「日付」オプションを有効にします。

  3. 変更を保存します。

  4. SSOユーザー増分リコンシリエーション・スケジュール済ジョブを実行します。

4.6 ターゲット・アカウント作成のトラブルシューティング

既知の理由により、ターゲット・アカウントの作成が失敗する可能性があります。この項は、ターゲット・アカウントの作成およびOUD内でパスワードのリセットを行うときのいくつかの既知の問題のトラブルシューティングを行い解決するのに役立ちます。

コンテナ・ルールがSSOIntegrationMXBean内で構成されていない

修正処理:

  • SSOIntegrationMXBeanに対してaddContainerRules操作を手動で実行します。

  • または、適切な構成ファイルを更新し、次のいずれかのスクリプトを実行します。
    • $ORACLE_HOME/idm/server/ssointg/bin/OIGOAMIntegration.sh -configureLDAPConnector

    • $ORACLE_HOME/idm/server/ssointg/bin/OIGOAMIntegration.sh -updateContainerRules

アプリケーション・インスタンスが作成されない

修正処理:

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'

解決策

  1. ADUserSchema.ldifを編集して、%IDSTORE_SEARCHBASE%DC=interop55,DC=my,DC=org,DC=comで置換します

  2. LDAPコマンドを実行して、これらをADにロードします

    ldapmodify -h 192.0.2.1 -p 389 -D Administrator@interop -w <password> -f
    ADUserSchema.ldif -c -x

問題点

AD環境では、oblixgroupなどのオブジェクト・クラスは、-prepareIDStoreステップが実行された後ではロードされません。

解決策

  1. $ORACLE_HOME/idm/server/ldif/prepareidstore/AD/schemaに移動します

  2. ADUserSchema.ldifを編集し、%IDSTORE_SEARCHBASE%をユーザーとグループが保存されているディレクトリの場所で置換します。たとえば、dc=example,dc=comなどです

  3. 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

4.8 OIG-OAM統合環境のアップグレードのトラブルシューティング

11.1.2.3.0環境から12.2.1.4.0にアップグレードした後、「初回ログイン」フロー、「パスワードを忘れた場合」フローまたは「パスワードのリセット」フローを実行すると、自動ログインに失敗し、システム・エラー・メッセージが表示されます。前述のフローを開始すると、システム・エラーとは無関係に新しいパスワードおよびチャレンジ質問が正しく設定されます。

この問題を解決するには、新しく設定されたパスワードを使用して再ログインする必要があります。