Microsoft 365のプロビジョニングでAnother object with the same value for property userPrincipalName already exists.となる

現象

IIJ IDサービスからMicrosoft 365へのライセンスのプロビジョニングに失敗し、ジョブ履歴のメッセージに以下のエラーが表示される。

Azure ADへのユーザ更新に失敗しました [エラー内容: code: Request_BadRequest, 
message: Another object with the same value for property 
userPrincipalName already exists., requestId: **********]
原因

本事象はエクスポート対象のユーザと同一のuserPrincipalName属性を持つ別ユーザがAzure AD上に存在する場合に発生します。

Azure AD上に存在するエクスポート対象ユーザのobjectIDが、IIJ IDサービスのユーザのobjectIDと一致していない場合、IIJ IDサービスはそのユーザを別ユーザとしてエクスポートしようとします。しかしAzure AD側に、すでに同一のuserPrincipalName属性を持つユーザが存在し、別ユーザとしてのエクスポートは認められず上記のエラーになります。

IIJ IDサービス以外からAzure ADユーザの属性を変更したことにより、Azure ADとIIJ IDサービスの間でエクスポート対象のユーザのobjectIDが不一致となっている可能性があります。詳しくは「Microsoft 365のプロビジョニング処理のフローを知りたい」の「IIJ_IDユーザとAzure_ADユーザの関連付けの仕組み」をご覧ください。

対応

以下の手順で該当ユーザをプロビジョニング対象から外してプロビジョニング処理を実施してから、再度プロビジョニングを行います。これによりユーザに新しいobjectIDが登録され、正常に同期できるようになります。

  1. IIJ IDサービスで該当ユーザをMicrosoft 365アプリケーションの利用者から除外します。除外する方法は、以下いずれかになります。
    • 該当ユーザのみを除外する場合
      利用者設定に登録されている該当ユーザの所属グループのメンバーから該当ユーザを削除してください。削除方法については、『IIJ IDサービス マニュアル[管理者用]』の「グループメンバーの削除」をご覧ください。
    • 該当ユーザの所属グループごと除外する場合
      利用者設定に登録されている該当ユーザの所属グループを、アプリケーションの利用者から除外してください。除外する方法については、『IIJ IDサービス マニュアル[管理者用]』の「アプリケーション利用者の解除」をご覧ください。
  2. IIJ IDサービスが定期的に実行するプロビジョニング処理によって、以下の画像のように「Azure ADへのユーザ削除に失敗しました [エラー内容: message: User not found]」というメッセージのジョブが作成されたことを確認してください。ジョブの確認方法については、『IIJ IDサービス マニュアル[管理者用]』の「ジョブの閲覧」をご覧ください。

    【参考】

    Azure ADにIIJ IDユーザとobjectIDで紐づくユーザが存在しないため、Azure ADユーザの削除は失敗します。このプロビジョニング処理によって、IIJ IDサービス側のobjectID情報は削除されます。

  3. IIJ IDサービスで該当ユーザをMicrosoft 365アプリケーションの利用者に追加します。追加方法については、『IIJ IDサービス マニュアル[管理者用]』の「利用者設定をする」をご覧ください。
  4. IIJ IDサービスが定期的に実行するプロビジョニング処理によって、以下の画像のように「Azure ADへのユーザ更新に成功しました」というメッセージのジョブが作成され、Azure ADへのエクスポートが成功していることを確認してください。ジョブの確認方法については、『IIJ IDサービス マニュアル[管理者用]』の「ジョブの閲覧」をご覧ください。

    【参考】

    プロビジョニングは定期的に行われるため、プロビジョニングが実施されるまで時間がかかる場合があります。