SEくぼたの事件簿

インフラSEとしての活動を記録していきます

Microsoft Entra Connect ( 旧 AADC ) で発生するエラー( DeletingCloudOnlyObjectNotAllowed ) の原因と対応方法

こんにちは

今回はオンプレ AD と同期済みのユーザーをクラウド ユーザーに変換した際に Microsoft Entra Connect 上で発生する DeletingCloudOnlyObjectNotAllowed というエラーの原因と対応方法について記載していきたいと思います。

 

この記事を書こうと思い続けて 2 年近く経過して名称が Azure AD Connect ( AADC ) から Microsoft Entra Connect に変更されてしまいました。

 

Microsoft 365 を利用している環境でオンプレ AD のユーザーと Microsoft Entra ID を同期しているパターンは結構多いんじゃないかと思います。

 

この運用においてたまに元々同期ユーザーだったけれど、同期されていないクラウド ユーザーに戻したいという要件があったりします。

 

この場合、通常オンプレ AD にて Microsoft Entra Connect の同期対象外にした後で、 Microsoft Entra ID で削除済みユーザーを復元という手順を実施するかと思いますが、この時に DeletingCloudOnlyObjectNotAllowed というエラーが Microsoft Entra Connect 上で発生することがあります。

 

また Microsoft Entra Connect Health などを利用している場合には [ その他のエラー ] とだけ表示され、対象のオブジェクトの詳細なども表示されないためどのオブジェクトで問題が発生しているかわかりにくいという状態となってしまいます。

 

例 : Synchronization Service Manager 上でのエラー

 

例 : Microsoft Entra Connect Health 上でのエラー

 

この記事では、エラーが発生する理由とその対応方法を詳細に記載していきます。

 

本エラーの発生原因の説明のため Microsoft Entra Connect の動作原理を先に説明します。

 

Microsoft Entra Connect の動作原理

 

通常同期処理が行われると以下の順で処理が行われていきます。

[ 処理順序 ]

1.Import 

 オンプレ AD と Microsoft Entra ID のそれぞれから Microsoft Entra Connect のデータベース上の Connector Space ( CS ) という領域に情報を取り込みます。

 

 

2.Syncronization

 Import 処理で CS に取り込まれたそれぞれの情報を Metaverse ( MV ) という領域に情報をマージします。

 

3.Export

 Synchronization 処理した情報をオンプレ AD と Microsoft Entra ID のそれぞれに Export して同期します。

 

 

・DeletingCloudOnlyObjectNotAllowed の発生原因

DeletingCloudOnlyObjectNotAllowed のエラーはオンプレ AD からユーザーを削除した後に、Microsoft Entra Connect にて 2 回 同期を行っていない場合に発生します。

 

上記に記載の通り Microsoft Entra Connect では 1 度の同期処理で Microsoft Entra ID に対しユーザーの削除要求を出します。

しかしその次の同期処理にて Microsoft Entra ID から情報を取得した際に、削除要求を出したはずのユーザーが Microsoft Entra ID で復元されていると、削除されていないと判断し本エラーを出力します。

 

この一連の動作状態を図にしたものが以下です。

 

1.Import 処理にてオンプレ AD からユーザーの削除情報を受け取ります。

 

2.Synchronization 処理にてユーザーの削除情報をマージします。

 

3.Export 処理で Microsoft Entra ID にユーザーの削除処理を実施します。

4.この後、次の同期処理 ( 規定では 30 分間隔 ) が実行される前に Microsoft Entra ID 上で削除済みユーザーを復元します。

 

5.4 の処理の後、定期実行される同期や手動での同期処理を実行すると上記で説明した同期処理が再度実行されますが、 Microsoft Entra ID からの Import 処理で削除した結果を受け取ることができない状態となります。 ( 4 でユーザーを復元しているため )

 

このように Microsoft Entra Connect はユーザーが削除された結果を次回の同期処理にて受け取りますが、その際に削除したユーザーが復活している!?!?!?という状態となってしまうので DeletingCloudOnlyObjectNotAllowed のエラーが発生します。

 

・発生させないための方法

本エラーの発生を防ぐためには上記で説明した動作原理の通り、ユーザーが削除された次の同期処理でユーザーが削除された情報を Microsoft Entra Connect に取り込めばよいのです。

そのため、以下の流れで処理を行えばこのエラーを発生させないことが可能です。

 

[ 処理の流れ ]

1.ユーザーをオンプレ AD で削除または同期の対象外とします。

2.Microsoft Entra Connect 上で PowerShell を起動し以下のコマンドレットを実行して差分同期を行います。

  Start-ADSyncSyncCycle -PolicyType Delta

3.Microsoft Entra Connect サーバー上にインストールされている Synchronization Service Manager で Export 処理まで完了することを確認します。

4.再度 PowerShell コンソール上で以下を実行して差分同期を行います。

  Start-ADSyncSyncCycle -PolicyType Delta

5.Synchronization Service Manager で Export 処理まで完了することを確認します。

6.Microsoft Entra ID ( Azure Portal や Entra 管理センター ) で削除済みユーザーよりユーザーを復元します。

 

 

・発生してしまった場合の対応方法

問題本問題が発生してしまった場合には以下の方法で対応可能です。

しかし対応するためには一時的に再度 Microsoft Entra ID のユーザーを削除済みユーザーに移す必要があります。

この処理を行っている間 Microsoft Entra ID のユーザーを利用することができません。

Microsoft 365 のアプリケーションを利用できない状態となります。

 

上記にて何度か記載した通り、 Microsoft Entra ID のユーザーが削除済みになっている状態で Microsoft Entra Connect 上で同期処理が行われることでエラーが解消します。

 

そのため対応するために処理の流れは以下の通りです。

 

[ 対応の流れ ]

1.Microsoft Entra ID 側でユーザーを削除し、削除済みユーザーへ格納します。
  

 

2.Microsoft Entra Connect 上で PowerShell を起動し以下のコマンドレットを実行して差分同期を行います。

  Start-ADSyncSyncCycle -PolicyType Delta

3.Microsoft Entra Connect サーバー上にインストールされている Synchronization Service Manager で Export 処理まで完了することを確認します。

4.再度 Microsoft Entra ID 上で削除済みユーザーからユーザーを復元します。

 

対応方法としては以上の通りではありますが、発生してしまった後に Microsoft Entra Connect Health 上のエラーを見てもどのユーザーが対象のユーザーなのかわからない。。。。。。という問題が発生します。

 

どのユーザーが対象のユーザーなのか確認するには以下の方法を使用します。

 

1.Microsoft Entra Connect 上の Synchronization Service Manager 上で DeletingCloudOnlyObjectNotAllowed のエラーをクリックします。

 

2.表示された画面の Detail をクリックします。

 

3.表示された画面内の Object ID の Value の値を控えます。

4.控えた値を Azure Portal や Entra 管理センターの [ すべてのユーザー ] 内の上部にある検索ボックスに貼り付けると該当のユーザーが表示されます。

 

このようにユーザーを特定することが可能です。


~~~~~~~~~~~~~~~~~~~
2024.1.26 追記
~~~~~~~~~~~~~~~~~~~
この方法で同期されたユーザーをクラウドユーザーに変換する方法が非推奨ではなくサポート外の操作に該当する可能性があります。
エラーとしては上記で解消可能ですが、クラウドユーザーへの変換についてはお気を付けください。


--------------------------------------------------

さいごに

--------------------------------------------------

ここまでで説明した通り同期されたユーザーをクラウド ユーザーにする場合には手順を誤るとエラーとなりますが、エラーの解消のためには 1 ユーザーずつ対応していく必要があるので結構大変です。

この動作を覚えてエラーが発生しないようにしていただけると嬉しいです。

 

ただし!!!!

Microsoft 社としてはこの手順でのクラウド ユーザーへの変換を推奨していません。

でも他に方法がないのもまた事実。。。。。。クラウド ユーザーへの変換も需要としてはあると思うので、そういった機能がでてくるとよいですね!

今回は以上です。

 

Twitterでも情報発信したいと思いますので、興味があったらフォローしてください!