FIM/MIM ADMAのExport処理で 0x80004005 エラー

こんにちは、Identity Manager サポート 益戸です。
たびたびお問い合わせいただく、ADMA Export 時のエラーについて、ご紹介いたします。

FIM/MIM をご利用いただく目的の一つとして、Active Directory Domain Controller との連携があります。
通常、FIM/MIM 上にて更新処理が発生した場合などには、Export 処理にて、対象のドメインコントローラーへ更新処理を実施します。
その際に、稀に unexpected-error (0x80004005) のエラーにて Export が失敗する場合があります。
このとき、イベントログには ID 6401 と 6301 のエラーログが記録されます。

 

たびたびお問い合わせをいただくものの、稀に発生し再現ができず、原因究明が難しいエラーとなります。
今回は、想定原因と影響範囲についてご紹介します。

=============================
考えられる原因について
=============================
類似の現象で弊社に報告されている事例からは、以下の状況で上記のエラーが発生しております。

1. AD-MA のコネクタ スペースに破損した情報が含まれていた状態で Export した場合
2. Export にて、何らかの要因で AD によって属性が書き込み拒否された場合

1. の現象に関しましては、全てのコネクタ スペースを削除し、再作成にて対応が可能となりますが、多くは 2 のケースに該当しています。

2. の現象に関しましては、既存のオブジェクトが存在するような同期環境において、userAccountControl 属性や unicodePwd 属性などの特殊な属性の上書きが、一時的に AD で拒否された場合に事象発生したとの報告がされておりました。
一時的な発生のために、事例からは原因の特定は難しく、お客様には影響範囲の確認と、正常性の確認を依頼しております。

=====================
影響の範囲について
=====================
イベント ID 6401 と 6301 が記録された場合の影響範囲は、イベント 6301 に記録される GUID のコネクタ スペース オブジェクトに関するオブジェクトのみとなります。
従いまして、万が一再び上記のイベントが記録された場合には、該当の GUID に関連するオブジェクトの状況をご確認ください。
正しく同期先の AD に同期されているか、FIM/MIM 上でエラーが起こっていないかが確認できた場合は、上記のイベントの発生に関しましては無視することができます。
また、頻発する場合には、別の問題である可能性もありますので、その際は、弊社サポートまでご相談ください。

イベントログの例:
<アプリケーションイベントログ / ソース : FIMSynchronizationService / イベント ID: 6301>
BAIL: MMS(5872): ..\tower.cpp(3993): 0x80004005 (エラーを特定できません)
BAIL: MMS(5872): ..\tower.cpp(12030): 0x80004005 (エラーを特定できません)
BAIL: MMS(5872): ..\csobj.cpp(1870): 0x80004005 (エラーを特定できません)
BAIL: MMS(5872): ..\expcall.cpp(905): 0x80004005 (エラーを特定できません)
ERR_: MMS(5872): ..\expbase.cpp(2957): PutAnchorWithDnInternal failed on CS object {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX} with 0x80004005 (pass 1 of 5) Forefront Identity Manager 4.4.1302.0

CS object {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX} に対して属性値等の精査をします。