8 Microsoft Active Directory User Managementコネクタのトラブルシューティング

これらは、Microsoft Active Directory User Managementコネクタの使用時に発生する可能性がある問題の解決方法です。

ノート:

リリース12.2.1.3.0以降では、CIベース・モードのITリソースはAOBの基本構成にマッピングされます。同様に、CIベース・モードの主要な構成参照定義はAOBの拡張設定にマッピングされます。この章で説明するすべての解決策はユーザー、グループおよび組織単位に適用可能で、AOBの用語を使用して説明されています。したがって、ユーザーの操作に対する解決方法についてこの表を参照している場合は、AOBの用語を考慮してください。グループまたは組織単位の操作に対する解決方法についてこの表を参照している場合は、AOBの用語をCIベース・モードの用語に置き換えてください。

表8-1 Microsoft Active Directory User Managementコネクタのトラブルシューティング

問題 解決策

次のエラーが発生します。

java.net.UnknownHostException:

コネクタ・サーバーのITリソースのホスト名が正しく指定されていることを確認します。

次のエラーが発生します。

InvalidCredentialException: リモート・フレームワーク・キーが無効です。

コネクタ・サーバーのITリソースのKeyパラメータの値が正しく指定されていることを確認します。

次のエラーが発生します。

ConnectorException: java.net.ConnectException: 接続が拒否されます。

コネクタ・サーバーのITリソースのポート番号が正しく指定されていることを確認します。

リコンシリエーション・ジョブで次のエラーが発生します。

org.identityconnectors.framework.common.exceptions.ConnectorException: リクエストされたクリティカルな拡張がサーバーでサポートされません。

このエラーが発生する理由を次に示します。

  • コネクタがMicrosoft AD LDS用に構成されている場合、どのリコンシリエーション・ジョブのパラメータも、Microsoft AD LDSユーザー・スキーマに存在しないパラメータを示しません。たとえば、sAMAccountName属性はMicrosoft AD LDSの有効な属性ではありません。

    したがって、Microsoft AD LDSに存在しない属性が、リコンシリエーション・ジョブのパラメータ値として指定されないようにします(Sort Byなど)。

  • コネクタがフェッチする必要があるレコードが大量にあります。

    この問題を解決するには、リコンシリエーション・ジョブのBatch Size、Number of Batches、Batch Start、Sort DirectionおよびSort Byパラメータに指定された値を削除します。

    詳細レベルの設定のために、常に「拡張設定」セクションのページ・サイズ・パラメータを使用できます。コネクタはOracle Identity Governanceにデータを送信するためにICFハンドラを使用します。ICFおよびICFINTGレイヤーが、データの処理とリコンシリエーション・イベントの生成を行います。

  • ターゲット・システムの複数値フィールドが、Oracle Identity GovernanceのADユーザー・フォームの単一値フィールドにマップされています。

    この問題が発生しないようにするには、ターゲット・システムの複数値フィールドが、ADユーザー・フォームの対応する複数値フィールドにマップされるようにします。

コネクタ・サーバーを起動するときに、次の例外が発生します。

Unhandled Exception: System.Net.Sockets.SocketException: 各ソケット・アドレス(プロトコル/ネットワーク・アドレス/ポート)の使用は通常1回しか許可されません。

この例外が発生するのは、コネクタ・サーバーが使用するポートがすでに使用されているためです(多くの場合、コネクタ・サーバーの別のインスタンスによって使用されています)。次のいずれかのステップを実行してこの問題を修正できます。

  • コネクタ・サーバー・サービスが実行している場合は停止します。

  • ConnectorServer.exe.Configファイルを検索して開き、ポート値を8758または8755に変更してから、コネクタ・サーバーを起動します。ConnectorServer.exe.Configファイルのデフォルトの場所はC:\Program Files\Identity Connectors\Connector Serverです。

Active Directory Target Reconciliationスケジュール済ジョブの実行中に、次のエラーが発生します。

ADP ClassLoader failed to load: Script1 java.lang.ClassNotFoundException: ADP ClassLoaderがロードに失敗しました: Script1

スケジュール済ジョブのフィルタ構文属性の値が正しく指定されていることを確認します。詳細は、「フィルタを使用する制限付きリコンシリエーションの実行」を参照してください。

すべてのリコンシリエーションの実行は正常ですが、プロビジョニング操作の実行中に次のエラーが発生します。

プライマリ・ドメイン・コントローラおよびバックアップ・ドメイン・コントローラに接続できません。

ITリソースのLDAPHostNameパラメータの値が正しく指定されていることを確認します。

ホスト名を判別するには、ターゲット・システムをホストするコンピュータで「コンピューター」を右クリックして「プロパティ」を選択します。「システムのプロパティ」ダイアログ・ボックスの「コンピューター名」タブで、ホスト名が「フル コンピューター名」フィールドの値として示されます。

コネクタ・サーバーがメモリー不足例外をスローします。

Microsoft .NET Framework 3.5では、メモリー・リークの問題が発生します。この問題を修正するには、コネクタ・サーバーをホストするコンピュータにホットフィックス(次のWebサイトに示されています)を適用する必要があります。

http://support.microsoft.com/kb/981575

CONNECTOR_SERVER_HOMEディレクトリにコネクタ・バンドルのコンテンツを解凍した後に、コネクタ・サーバーを起動できません。次の例外が発生します。

ConnectorServer.exe Information: 0 : コネクタ・サーバーを起動します: C:\Program Files\Identity Connectors\Connector Server

ConnectorServer.exe Error: 0 : コネクタ・サーバーの起動中に例外が発生しました

System.IO.FileNotFoundException: ファイルまたはアセンブリ'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'、またはその依存関係の1つが読み込めませんでした。指定されたファイルが見つかりません。

ファイル名: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' at Org.IdentityConnectors.Common.CollectionUtil.NewSet[T,U](IEnumerable`1 collection)

ノート: このエラーは、コマンド・プロンプトを使用してコネクタ・サーバーを起動した場合にのみ発生します。services.mscを使用してコネクタ・サーバーを起動した場合、コネクタ・サーバーは起動するとすぐに停止します。

この例外は、Microsoft .NET Frameworkが存在しない場合に発生します。コネクタ・サーバーをホストするコンピュータに.NET Framework 3.5以降をインストールする必要があります。

ノート: .NET Framework 3.5をインストールしている場合は、次のパッチをインストールしてメモリー・リークの問題を回避してください。

http://support.microsoft.com/kb/981575

すべてのコネクタ操作(リコンシリエーション操作、プロビジョニング操作など)が失敗して、次のエラーが発生します。

oracle.iam.connectors.icfcommon.exceptions.IntegrationException: コネクタConnectorKey( bundleName=ActiveDirectory.Connector bundleVersion=1.1.0.6380 connectorName=Org.IdentityConnectors.ActiveDirectory.ActiveDirectoryConnector)が見つかりません

また、同じエラー・メッセージがコネクタ・サーバーのログ・ファイルに書き込まれます。

このエラーが発生する理由を次に示します。

  • コネクタ・バンドルがCONNECTOR_SERVER_HOMEディレクトリに解凍されていません。

  • コネクタ・バンドルのコンテンツを解凍する前に、コネクタ・サーバーが起動されました。

  • Oracle Identity Governanceのキャッシュ関連の問題。

この問題を解決するには、次のステップを実行します:

  1. コネクタ・サーバーを停止します。

  2. コネクタ・バンドルのコンテンツをCONNECTOR_SERVER_HOMEディレクトリに解凍します。

  3. コネクタ・サーバーを起動します。

  4. Oracle Identity GovernanceをホストするコンピュータでPurgeCacheユーティリティを実行します。

  5. Oracle Identity Governanceを再起動します。

コネクタ操作の実行中に、次のエラーが発生します。

ローカル・エラーが発生しました

このエラーは、DirectoryAdminName ITリソース・パラメータの値を不正な形式で指定した場合に発生します。このパラメータの値を指定するには、次の形式を使用する必要があります。

DOMAIN_NAME\USER_NAME

詳細は、表3-1の「管理ユーザー名」の行を参照してください。

コネクタ・サーバーをホストしているコンピュータおよびターゲット・システムを使用できません。「基本構成」セクションのバックアップ・ホスト名パラメータの値を指定したにもかかわらず、一切機能しません。

コネクタ・サーバーをホストするコンピュータは、常に起動および実行されている必要があります。コネクタ・サーバーをPDCホストおよびBDCホストにデプロイするかわりに、次のガイドラインに従ってこのエラーを回避します。

  • コネクタ・サーバー用に専用のコンピュータを使用します。コネクタ・サーバーが専用のコンピュータで実行されている場合でも、「基本構成」セクションのバックアップ・ホスト名パラメータの値を指定できます。

  • コネクタ・サーバーをホストするコンピュータは、ターゲット・システムと同じドメインにある必要があります。

  • コネクタ・サーバーをデプロイして、Active Directoryコネクタ・サーバーのITリソースを構成します。ITリソースの詳細は、「コネクタ・サーバーのITリソースの構成」を参照してください。

ターゲット・リソースのリコンシリエーションの実行が次のエラーで失敗します。

行索引が範囲外です

ただし、ユーザーはOracle Identity Governanceに取り込まれ、正常にリンクされます。

この問題は、スケジュール済ジョブがターゲット・システムのusNChanged属性を更新した場合に発生します。回避策としては、新しいスケジュール済ジョブを作成して、リコンシリエーションの実行を行います。

コネクタ・サーバーのログ・ファイルに次のエラーが書き込まれます。

org.identityconnectors.framework.common.exceptions.ConnectorException: java.net.ConnectException: 接続がタイムアウトしました

このエラーが発生する理由は次の2つです。

  • コネクタ・サーバーとOracle Identity Governanceとの間の接続がタイムアウトしました。

    この問題を修正するには、コネクタ・サーバーITリソースのTimeoutパラメータの値に0を設定するか、既存の値を増やします。

  • コネクタ・サーバーのポートがファイアウォールによってブロックされています。

    この問題を修正するには、Telnetプロトコルを使用して、コネクタ・サーバーがデフォルト・ポート(8795)をリスニングしているかどうかを確認します。ポートが開いていない場合は、そのポートを開くか、コネクタ・サーバー用に別のポートを選択できます。ポート名を変更するには、ConnectorServer.exe.Configファイルを編集して、次の行のように新しいポートを指定し、コネクタ・サーバーを再起動します。

    <add key ="connectorserver.port" value="8759"/>

グループと組織の参照フィールド同期、およびグループのリコンシリエーションは、正常に実行されます。ただし、組織のリコンシリエーションを実行すると(つまり、Active Directory Organization Reconスケジュール済ジョブを実行すると)、次のエラーが発生します。

oracle.iam.reconciliation.exception.InvalidDataFormatException: 必須列名がRECON_ORGNAME4EAE4287で値が存在しません

また、次のエラーがOracle Identity Governanceのログ・ファイルに書き込まれます。

必須列名がRECON_ORGNAME<……>で値が存在しません

このエラーは、Active Directory ITリソースのConfiguration Lookupパラメータの値にLookup.Configuration.ActiveDirectoryが設定されている場合に発生します。

このエラーを回避するには、Xellerate Userリソース・オブジェクトを使用して組織のリコンシリエーションを実行している場合、Active Directory ITリソースのConfiguration Lookupパラメータの値にLookup.Configuration.ActiveDirectory.Trustedを設定します。

参照フィールド同期(グループおよび組織)のスケジュール済ジョブを実行すると、次の例外が発生します。

ディレクトリ・エントリを取得できません

また、次のエラーがコネクタ・サーバーのログ・ファイルに書き込まれます。

Org.IdentityConnectors.Framework.Common.Exceptions.ConnectorException: ディレクトリ・エントリを取得できません

次のいずれかのステップを実行すると、このエラーの原因を判別できます。

  • コネクタ・サーバーのログ・ファイルのエラー・メッセージを確認して、根本原因を見つけます。

  • イベント ビューアを確認します。イベント ビューアを開くには、「スタート」メニューで「コントロール パネル」を選択して「管理ツール」をダブルクリックし、「イベント ビューア」をダブルクリックします。

このエラーが発生するいくつかの理由を次に示します。

  • DomainName ITリソース・パラメータに不正な値が指定されています。

    この問題を修正するには、DomainName ITリソース・パラメータに正しい値を指定します。このパラメータの値を指定するには、次の形式を使用する必要があります。

    DOMAIN_NAME\USER_NAME

  • コネクタ・サーバーをホストするコンピュータがADドメイン内にありません。

    この問題を修正するには、コネクタ・サーバーが同じADドメインの一部であるコンピュータにインストールされていることを確認します。

リコンシリエーション・ジョブの実行中に、次のエラーがOracle Identity Governanceのログ・ファイルで発生します。

java.net.SocketException: 接続リセット

このエラーが発生する理由は次の2つです。

  • LDAPSがドメイン・コントローラで有効にされていません。

    この問題を修正するには、「コネクタ・サーバーとMicrosoft Active Directory間のSSLの構成」の説明に従ってLDAPSを有効にします。

  • Oracle Identity GovernanceにSSLが設定されていません。つまり、「基本構成」セクションとコネクタ・サーバーITリソースで、UseSSLパラメータがそれぞれnofalseに設定されます。ただし、コネクタ・サーバーではSSLが有効になっています。

    この問題を修正するには、「基本構成」セクションとコネクタ・サーバーITリソースで、UseSSLパラメータの値をそれぞれyestrueに設定する必要があります。

コネクタ操作(リコンシリエーションまたはプロビジョニング)が失敗して、次の例外が発生します。

ドメイン'SAMPLEDOMAIN.com'にドメイン・コントローラが見つかりません

また、次のエラーがコネクタ・サーバーのログ・ファイルに書き込まれます。

org.identityconnectors.framework.common.exceptions.ConnectorException: ドメインにドメイン・コントローラが見つかりません

このエラーが発生する理由は次の2つです。

  • DomainName ITリソース・パラメータに不正な値が指定されています。

    この問題を修正するには、DomainName ITリソース・パラメータに正しい値を指定します。このパラメータの値を指定するには、次の形式を使用する必要があります。

    DOMAIN_NAME\USER_NAME

  • コネクタ・サーバーをホストするコンピュータがADドメイン内にありません。

    この問題を修正するには、コネクタ・サーバーが同じADドメインの一部であるコンピュータにインストールされていることを確認します。

コネクタ・サーバーのログ・ファイルに次のエラーが書き込まれます。

org.identityconnectors.framework.common.exceptions.ConnectorException: プライマリ・ドメイン・コントローラおよびバックアップ・ドメイン・コントローラに接続できません。

このエラーは、「基本構成」セクションのLDAPホスト名パラメータに不正な値が指定されている場合に発生します。

この問題を修正するには、LDAPホスト名基本構成パラメータに正しい値を指定する必要があります。このパラメータの正しい値を判別するには、ターゲット・システムをホストするコンピュータで「コンピュータ」を右クリックして「プロパティ」を選択します「システムのプロパティ」ダイアログ・ボックスの「コンピューター名」タブで、ホスト名が「フル コンピューター名」フィールドの値として示されます。

コネクタ・サーバーのログ・ファイルに次のエラーが書き込まれます。

System.IO.IOException: 予期しないパケット形式のため、ハンドシェイクに失敗しました

このエラーは、Oracle Identity GovernanceにSSLが設定されていない場合に発生します。つまり、ターゲット・システムおよびコネクタのITリソースのUseSSLパラメータが、それぞれnoおよびfalseに設定されています。ただし、コネクタ・サーバーではSSLが有効になっています。

この問題を修正するには、ターゲット・システムおよびコネクタ・サーバーのITリソースのUseSSLパラメータの値に、それぞれyesおよびtrueを設定します。

コネクタ・サーバーのログ・ファイルに次のエラーが書き込まれます。

System.DirectoryServices.ActiveDirectory.DomainController.FindOneWithCredentialValidation(DirectoryContext context, String siteName, LocatorOptions flag)(コネクタ・サーバー・ログ内)

このエラーは、「基本構成」セクションのドメイン・コントローラ・パラメータに値が指定されていない場合に発生します。

この問題を修正するには、ドメイン・コントローラ基本構成パラメータに値を指定します。このパラメータの詳細は、「基本構成パラメータ」を参照してください。

バルク・ユーザー用のActive Directory User Target Reconスケジュール済ジョブで、ターゲット・システムからすべてのユーザーがフェッチされません。

この問題は、リコンシリエーション一致ルールが変更された場合に発生します。

この問題を修正するには、更新した一致ルールでリコンシリエーション・プロファイルを次のように作成します。

  1. Design Consoleにログインします。

  2. 「Resource Management」を開き、「Resource Objects」をダブルクリックします。

  3. AD Userリソース・オブジェクトを検索し、開きます。

  4. オブジェクトのリコンシリエーション・タブで、リコンシリエーション・プロファイルの作成をクリックして、最新のアップデートを含むリコンシリエーション・プロファイルを生成します。

次のフィルタが適用されていると、レコードがまったくリコンサイルされません。

contains('memberOf','PGMGroup')

この問題は、「memberOf」がターゲット・システムの複数値属性であるために発生しています。複数値属性にフィルタを適用する場合は、「containsAllValues」フィルタを使用します。

ADユーザー子フォームのグループの表示で、すべてのグループが表示されるまでに長い時間がかかります。このため、ADユーザーへのADグループの追加に、非常に長い時間がかかります。

グループ・ページの表示の遅延を短縮するには、Oracle Identity Governanceでキャッシュを有効にします。

コネクタ・サーバーのログ・ファイルに次のエラーが書き込まれます。

System.NotSupportedException: サーバー・モードSSLは関連付けられた秘密キーを使用した証明書を使用しなければなりません。

この問題は、証明書を秘密キー付きでエクスポートしたが(たとえば、「証明書のエクスポート」の手順の実行時に.pfxファイルを使用した場合)、MMCコンソールを使用してsslstoreという証明書ストアに証明書をインポートしていない場合に発生します。この問題を回避するには、証明書を秘密キー付き(.pfxファイル)でエクスポートした場合、MMCコンソールを使用して証明書を「sslstore」にインポートします。

プロビジョニング操作(作成または更新)が失敗して、次のエラーがコネクタ・サーバーのログ・ファイルに書き込まれます。

指定されたディレクトリ・サービス属性または値が存在しません。

この問題は、アプリケーションのスキーマ定義の「ターゲット属性」列に不正な値が含まれている場合に発生します。スキーマ定義の「ターゲット属性」列の値は、ターゲット・システムの属性名です。

この問題を修正するには、スキーマ定義の値を精査して、「ターゲット属性」列の値を正しいターゲット・システムの属性名で更新します。

バルク・プロビジョニング操作中に、次のエラーがコネクタ・サーバーのログ・ファイルに書き込まれることがあります。

オブジェクトの最大数を超えています

この問題を修正するには、「拡張設定」セクションのプールの最大サイズとプールの最大待機時間のパラメータの値を増やします。これらのパラメータの詳細は、「拡張設定パラメータ」を参照してください。

Active Directory User Trusted Reconスケジュール済ジョブを実行した後に、OIGユーザーが作成されていません。ユーザーに対して生成されるリコンシリエーション・イベントに、次のメッセージが表示されます。

現在のステータスは'Data Validation Failed'で、ノートは'Invalid ManagerLogin : <Manager ID>'です。

この問題は、ユーザーのマネージャ情報の依存関係に起因して発生します。ユーザーのマネージャがOracle Identity Governanceにまだ存在しない場合、OIGユーザーの作成は失敗します。この問題を修正するには、次のように、マネージャ・フィールドのマッピングを削除して、Active Directory User Trusted Reconスケジュール済ジョブを実行して、マネージャ・フィールドのマッピングを再度追加します。

Identity Self Serviceで、マネージャ・フィールドのマッピングを次のように削除します。

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

  2. ターゲット・システムに対応する認可アプリケーションを検索して、編集用に開きます。

  3. 「スキーマ」ページから、「マネージャ・ログイン」の表示名に対応する行を削除します。

  4. 変更を適用します。

Active Directory User Trusted Reconスケジュール済ジョブを実行します。

Identity Self Serviceで、マネージャ・フィールドのマッピングを次のように追加します。

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

  2. ターゲット・システムに対応する認可アプリケーションを検索して、編集用に開きます。

  3. 「スキーマ」ページから、表示名として「マネージャ・ログイン」、ターゲット属性として「マネージャID」を指定して、新しい行を追加します。スキーマの属性マッピングの詳細は、「認可アプリケーションの属性マッピング」を参照してください。

  4. 変更を適用します。

Active Directory User Trusted Reconスケジュール済ジョブの最新のトークン・パラメータの値をクリアして、ジョブを実行します。

プロビジョニング操作中に、次のエラーがコネクタ・サーバーのログ・ファイルで発生しました。

リモート・プロシージャ・コールが失敗し、実行されませんでした。(HRESULTからの例外: 0x800706BF)

この問題は、ユーザーの作成またはパスワードの更新のプロビジョニング操作中に、同時に存在するリクエスト数が多すぎる場合に発生します。

たとえば、この問題は、トリガーされるアカウント作成が多すぎる場合に、アクセス・ポリシーベースのプロビジョニング操作中に発生することがあります。

このエラーは、サービス・パックも含む、Microsoft Windows 2008、2008 R2またはWindows 2012ドメイン・コントローラで発生する可能性があります。

この問題を修正するには、Microsoft Supportに問い合せて、次のWebサイトの2781049の記事(『DsAddSidHistory function fails when it is called by multiple threads in Windows Server 2008 R2 SP1』)に示されているホットフィックスを適用する必要があります。

http://support.microsoft.com/

これを行うには、前述のURLにアクセスして、2781049の記事を検索します。

ノート: Microsoft Supportに問い合せずにホットフィックスを適用しないでください。

Active Directory APIでは次のエラーが発生しますが、あまり意味はありません。

DirectoryServicesCOMExceptionが発生しました: システムに接続しているデバイスが機能していません。

(Oracle Identity Governanceの「ユーザー・ログイン」に対応する)ターゲット・システムのsAMAccount属性が20文字を超える場合、このエラーが発生します。

ユーザー・オブジェクトでこのエラーが発生する場合、回避策として、プロビジョニング中に「ユーザーID」フィールドが20文字を超えているかをチェックして該当するエラー・ログ・メッセージを記録するGroovyベースのコード(「データの変換および検証の構成について」を参照)を記述します。

グループ・オブジェクトまたは組織単位オブジェクトでこのエラーが発生する場合、回避策として、プロビジョニング中に対応するフィールドが20文字を超えているかをチェックして該当するエラー・ログ・メッセージを記録する検証Javaコード(「グループおよび組織単位のリコンシリエーションおよびプロビジョニング中のデータ検証の構成」を参照)を記述します。