Microsoft Entra プロビジョニング ログには、テナントで発生するプロビジョニング イベントに関する詳細が示されます。 プロビジョニング ログにキャプチャされた情報を使用して、プロビジョニングされているユーザーに関する問題のトラブルシューティングに役立てることができます。
この記事では、Microsoft Entra 管理センターからプロビジョニング ログをダウンロードするためのオプションと、ログを分析する方法について説明します。 エラー コードと特別な考慮事項も含まれています。
Prerequisites
- Microsoft Entra ID P1 または P2 ライセンスが関連付けられている動作中の Microsoft Entra テナント。
- レポート閲覧者 は、プロビジョニング ログにアクセスするために必要な最小限の特権ロールです。
- アプリケーション所有者は、自分が所有するログ アプリケーションを表示することもできます。
- タスクごとの最小特権ロール
については、ロールの完全な一覧を参照してください。
- タスクごとの最小特権ロール
プロビジョニング ログの表示方法
プロビジョニング ログを表示または分析するには、いくつかの方法があります。
- Microsoft Entra 管理センターで表示します。
- 診断設定を使用して Azure Monitor にログをストリーミングします。
- ワークブック テンプレートを使用してログを分析します。
- Microsoft Graph API を使用してプログラムでログにアクセスします。
- ログを CSV または JSON ファイルとしてダウンロードします。
Microsoft Entra 管理センターでログにアクセスするには:
- Microsoft Entra 管理センターに、少なくともレポート閲覧者としてサインインします。
- Entra ID>監視& 正常性>プロビジョニング ログを参照します。
プロビジョニング ログをダウンロードする方法
プロビジョニング ログをダウンロードするには、[プロビジョニング ログ] ページから [ダウンロード] を選択します。 ダウンロードのサイズと時間を削減するために、フィルターはできるだけ具体的に設定してください。
CSV format
CSV のダウンロードには、次の 3 つのファイルが含まれます。
- ProvisioningLogs: プロビジョニング手順と変更されたプロパティを除くすべてのログをダウンロードします。
- ProvisioningLogs_ProvisioningSteps: プロビジョニング手順と変更 ID が含まれています。 変更 ID を使用すると、イベントを他の 2 つのファイルと結合できます。
- ProvisioningLogs_ModifiedProperties: 変更された属性と変更 ID が含まれます。 変更 ID を使用すると、イベントを他の 2 つのファイルと結合できます。
JSON format
JSON ファイルを開くには、 Microsoft Visual Studio Code などのテキスト エディターを使用します。 Visual Studio Code では構文の強調表示があるため、ファイルが読み取りやすくなります。 また、Microsoft Edge などの編集できない形式のブラウザーを使用して JSON ファイルを開くこともできます。
JSON ファイルを読みやすくする
JSON ファイルは、ダウンロードのサイズを削減するための形式でダウンロードされます。 この形式では、ペイロードが読みにくくなる場合があります。 ファイルを準備するには、次の 2 つのオプションがあります:
PowerShell を使用して JSON を書式設定する。 このスクリプトによって、JSON はタブとスペースを含む形式で出力されます。
$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON$JSONContent | ConvertTo-Json > <PATH TO OUTPUT THE JSON FILE>
JSON ファイルを解析する
使い慣れた任意のプログラミング言語を使用できます。 PowerShell の例を以下に示します。
-
$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON
これで、自分のシナリオに従ってデータを解析できます。 いくつかの例を次に示します。
JSON ファイル内のすべてのジョブ ID を出力します。
foreach ($provitem in $JSONContent) { $provitem.jobId }アクションが "create" であったイベントのすべての変更 ID を出力します。
foreach ($provitem in $JSONContent) { if ($provItem.action -eq 'Create') { $provitem.changeId } }
知っておくべきこと
プロビジョニング ログを分析するためのいくつかのヒントと考慮事項を以下に示します:
報告されたプロビジョニング データは、Premium Edition の場合は 30 日間、Free Edition の場合は 7 日間、Microsoft Entra 管理センターに保存されます。 プロビジョニング ログは、30 日を超えて保持するために Azure Monitor ログ にルーティングできます。
変更 ID 属性を一意の識別子として使用できるので、製品サポートとやり取りするときに役立ちます。
スコープに含まれていないユーザーの場合、スキップされたイベントが表示されることがあります。
- 例 1: スコープを
all users and groupsに設定し、スコープ フィルタをセットアップしている場合、スコープ抽出条件を満たしていないユーザーのスキップされたログが表示されることがあります。 - 例 2: スコープを
assigned users and groupsに設定している場合、ユーザーがアプリケーションに割り当てられていなくても、ログ内のユーザーがスキップ済みとして表示され続ける可能性があります。 プロビジョニング サービスがディレクトリから変更を受け取る方法により、これらのユーザーが表示されます。
- 例 1: スコープを
プロビジョニング ログには、ロールのインポートは表示されません (アマゾン ウェブ サービス、Salesforce、Zendesk に適用されます)。 ロールのインポートのログは、監査ログで確認できます。
一部のエラー コードには、名前に
AzureActiveDirectoryが含まれています。 これらのエラー コードは Microsoft Entra ID を参照していますが、Azure Active Directory からブランドを変更できませんでした。
Error codes
次の表を利用して、プロビジョニング ログに記録されているエラーの解決方法をより深く理解してください。
| Error code | Description |
|---|---|
| Conflict, EntryConflict |
Microsoft Entra ID またはアプリケーションで、競合している属性値を修正してください。 または、競合しているユーザー アカウントが一致し、取って代わられたと思われるかどうか、一致する属性の構成を確認します。 一致する属性の構成の詳細については、「 Microsoft Entra ID で SaaS アプリケーションのユーザー プロビジョニング属性マッピングをカスタマイズする」を参照してください。 |
| TooManyRequests | ターゲット アプリは多すぎる要求を受け取っているため、ユーザーを更新するこの試行を拒否しました。 行うことは何もありません。 この試行は自動的に再試行され、この問題が Microsoft に通知されました。 |
| InternalServerError | ターゲット アプリから予期しないエラーが返されました。 ターゲット アプリケーションに関するサービスの問題によって、その動作が妨げられている可能性があります。 この試行は 40 分で自動的に再試行されます。 |
| InsufficientRights, MethodNotAllowed, NotPermitted, Unauthorized |
Microsoft Entra ID はターゲット アプリケーションによって認証されましたが、更新を実行する権限がありませんでした。 ターゲット アプリケーションによって提供された手順と、それぞれのアプリケーションを確認してください。 詳細については、 アプリケーションと Microsoft Entra ID の統合に関するチュートリアルを参照してください。 |
| UnprocessableEntity | ターゲット アプリケーションが予期しない応答を返しました。 ターゲット アプリケーションの構成が正しくないか、ターゲット アプリケーションに関するサービスの問題によって、その動作が妨げられている可能性があります。 |
| WebExceptionProtocolError | ターゲット アプリケーションへの接続中に HTTP プロトコル エラーが発生しました。 行うことは何もありません。 この試行は 40 分で自動的に再試行されます。 |
| InvalidAnchor | プロビジョニング サービスによって以前作成または照合されたユーザーは存在しなくなりました。 そのユーザーが存在することを確認してください。 すべてのユーザーの新しい照合を強制するには、Microsoft Graph API を使用して ジョブを再起動します。 プロビジョニングを再開すると初期サイクルがトリガーされ、完了するまで時間がかかる場合があります。 また、プロビジョニングを再開することで、プロビジョニング サービスによって操作に使用されるキャッシュも削除されます。 これは、テナント内のすべてのユーザーとグループを再評価する必要があること、および特定のプロビジョニング イベントが削除される可能性があることを意味します。 |
| NotImplemented | ターゲット アプリから予期しない応答が返されました。 アプリの構成が正しくないか、ターゲット アプリに関するサービスの問題によって、その動作が妨げられている可能性があります。 ターゲット アプリケーションによって提供された手順と、それぞれのアプリケーションを確認してください。 詳細については、 アプリケーションと Microsoft Entra ID の統合に関するチュートリアルを参照してください。 |
| MandatoryFieldsMissing, MissingValues |
必須の値がないため、ユーザーを作成できませんでした。 ソース レコード内の不足している属性値を修正するか、一致する属性の構成を調べて、必須フィールドが省略されていないことを確認してください。 詳細については、「 Microsoft Entra ID で SaaS アプリケーションのユーザー プロビジョニング属性マッピングをカスタマイズする」を参照してください。 |
| SchemaAttributeNotFound | ターゲット アプリケーションに存在しない属性が指定されたため、操作を実行できませんでした。 「Microsoft Entra ID で SaaS アプリケーションのユーザー プロビジョニング属性マッピングをカスタマイズする」を参照して、構成が正しいことを確認します。 |
| InternalError | Microsoft Entra プロビジョニング サービス内で内部サービス エラーが発生しました。 行うことは何もありません。 この試行は 40 分で自動的に再試行されます。 |
| InvalidDomain | 属性値に無効なドメイン名が含まれているため、操作を実行できませんでした。 ユーザーのドメイン名を更新するか、ターゲット アプリケーションの許可リストにそのドメイン名を追加します。 |
| Timeout | ターゲット アプリケーションが応答するのに時間がかかりすぎたため、操作を完了できませんでした。 行うことは何もありません。 この試行は 40 分で自動的に再試行されます。 |
| LicenseLimitExceeded | このユーザーが使用できるライセンスがないため、ターゲット アプリケーションでユーザーを作成できませんでした。 ターゲット アプリケーションの追加ライセンスを購入してください。 または、ユーザーの割り当てと属性マッピングの構成を調べて、正しい属性で正しいユーザーが割り当てられていることを確認してください。 |
| DuplicateTargetEntries | ターゲット アプリケーションの複数のユーザーに、構成済みの一致する属性があると検出されたため、操作を完了できませんでした。 重複しているユーザーをターゲット アプリケーションから削除するか、属性マッピングを再構成してください。 詳細については、「 Microsoft Entra ID で SaaS アプリケーションのユーザー プロビジョニング属性マッピングをカスタマイズする」を参照してください。 |
| DuplicateSourceEntries | 複数のユーザーに、構成済みの一致する属性があると検出されたため、操作を完了できませんでした。 重複しているユーザーを削除するか、属性マッピングを再構成してください。 詳細については、「 Microsoft Entra ID で SaaS アプリケーションのユーザー プロビジョニング属性マッピングをカスタマイズする」を参照してください。 |
| ImportSkipped | システムでは、各ユーザーが評価されるときに、ソース システムからのそのユーザーのインポートが試みられます。 このエラーが発生するのは一般的に、インポートされるユーザーが、属性マッピングで定義されている一致するプロパティを持っていない場合です。 一致する属性のユーザー オブジェクトに値が指定されていない場合、システムではスコープ、一致、またはエクスポートの変更を評価することはできません。 このエラーが発生したとしても、ユーザーのスコープをまだ評価していないため、このユーザーがスコープ内にあることを示すものではありません。 |
| EntrySynchronizationSkipped | プロビジョニング サービスによってソース システムに対するクエリが正常に実行され、ユーザーが識別されました。 ユーザーに対してこれ以上の操作は行われず、スキップされました。 ユーザーがスコープ外にあるか、ユーザーがターゲット システムに既に存在していて、それ以上の変更は必要でない可能性があります。 |
| SystemForCrossDomainIdentity ManagementMultipleEntriesInResponse |
ユーザーまたはグループを取得する GET 要求に対し、複数のユーザーまたはグループが応答で受信されました。 システムでは、1 つのユーザーまたはグループだけを応答で受信することが想定されています。 たとえば、 GET グループ要求 を実行してグループを取得し、メンバーを除外するフィルターを指定し、System for Cross-Domain Identity Management (SCIM) エンドポイントがメンバーを返すと、このエラーが表示されます。 |
| SystemForCrossDomainIdentity ManagementServiceIncompatible |
Microsoft Entra プロビジョニング サービスでは、Microsoft 以外のアプリケーションからの応答を解析できません。 アプリケーション開発者と協力して、SCIM サーバーが Microsoft Entra SCIM クライアントと互換性があることを確認してください。 |
| SchemaPropertyCanOnlyAcceptValue | ターゲット システムのプロパティは、1 つの値のみを受け入れることができますが、ソース システムのプロパティには複数の値があります。 エラーをスローしているプロパティに 1 つの値の属性をマップするか、ソースの値を単一の値になるように更新するか、マッピングから属性を削除してください。 |
テナント間同期のエラー コード
次の表を使用して、 テナント間同期のプロビジョニング ログで見つけたエラーを解決する方法を理解します。 一部のエラー コードは複数の原因にマップされるため、同じエラー コードに対して複数の行があります。
| Error code | Cause | Solution |
|---|---|---|
| AzureActiveDirectoryForbidden | dirSync enabled プロパティは true に設定されています。 その結果、プロビジョニング サービスは immutableId や extensionProperty1-15 などのユーザー プロパティを更新できません。 | エラーを防ぐために、属性マッピングから属性を削除します。 |
| AzureActiveDirectoryForbidden | 外部コラボレーションの設定により招待がブロックされました。 | ユーザー設定に移動し、 外部コラボレーション設定 が許可されていることを確認します。 |
| AzureActiveDirectoryCannot UpdateObjectsOriginated InExternalService |
ユーザーの権限のソースは Exchange Online です。 プロビジョニング サービスは、ユーザーの 1 つ以上の交換属性を更新できません (例: extensionAttribute 1 - 15)。 これは、dirSyncEnabled プロパティが "True" から "False" に変更されたときに、ターゲット テナントに存在していたユーザーに影響します。 | ターゲット テナントの Exchange Online で属性を直接更新します。 例: Set-MailUser -Identity CloudMailUser5 -CustomAttribute2 "Updated with EXO PowerShell" |
| AzureActiveDirectory CannotUpdateObjectsOriginated InExternalService |
同期エンジンは、ターゲット テナント内の 1 つ以上のユーザー プロパティを更新できませんでした。 権限ソース (SOA) が適用されるため、Microsoft Graph API で操作が失敗しました。 現在、次のプロパティが一覧に表示されます。 MailshowInAddressList |
場合によっては (たとえば、showInAddressList プロパティがユーザー更新の一部である場合)、同期エンジンは問題のあるプロパティなしで (ユーザー) 更新を自動的に再試行することがあります。 それ以外の場合は、ターゲット テナントでプロパティを直接更新する必要があります。 |
| AzureDirectory B2BManagementPolicy CheckFailure |
自動引き換えを許可するテナント間同期ポリシーが失敗しました。 同期エンジンは、ターゲット テナントの管理者が、自動引き換えを許可する受信テナント間同期ポリシーを作成していることを確認します。 また、同期エンジンは、ソース テナントの管理者が自動引き換えのために送信ポリシーを有効にしたかどうかも確認します。 |
ソース テナントとターゲット テナントの両方で、自動引き換え設定が有効になっていたことを確認します。 詳細については、「 自動引き換え設定」を参照してください。 |
| AzureActiveDirectory QuotaLimitExceeded |
テナント内のオブジェクトの数がディレクトリの制限を超えています。 Microsoft Entra ID には、テナントで作成できるオブジェクトの数に制限があります。 |
クォータを増やすことができるかどうかを確認します。 ディレクトリの制限とクォータを増やす手順については、 Microsoft Entra サービスの制限と制限を参照してください。 |
| InvitationCreationFailure | Microsoft Entra プロビジョニング サービスが、ターゲット テナント内のユーザーを招待しようとしました。 その招待は失敗しました。 | 詳細な調査には、サポートへの問い合わせが必要になる可能性があります。 |
| InvitationCreationFailureUserAccountDisabled | Microsoft Entra プロビジョニング サービスが、ターゲット テナント内のユーザーを招待しようとしました。 その招待は失敗しました。 | ユーザーはターゲット テナントに存在しますが、そのアカウントは無効になっており、招待は保留中です。 ターゲット テナントでユーザー アカウントを有効にし、もう一度ユーザーのプロビジョニングを試みます。 |
| InvitationCreation FailureInvalidPropertyValue |
Potential causes: * プライマリ SMTP アドレスが無効な値です。 * UserType はゲストまたはメンバーではありません * グループ メール アドレスはサポートされていません |
Potential solutions: * プライマリ SMTP アドレスが無効な値です。 この問題を解決するには、ソース ユーザーのメール プロパティを更新する必要がある可能性が高いです。 詳細については、「Microsoft 365 へのディレクトリ同期の準備」を参照してください。 * userType プロパティがタイプ guest または member としてプロビジョニングされていることを確認してください。 userType 属性のマップ方法を把握するには、属性マッピングを確認してください。 * ユーザーのメール アドレスが、テナント内のグループのメール アドレスと一致しています。 2 つのオブジェクトのうちの 1 つのメール アドレスを更新してください。 |
| InvitationCreation FailureAmbiguousUser |
招待されたユーザーには、ターゲット テナント内の内部ユーザーと一致するプロキシ アドレスがあります。 プロキシ アドレスは一意である必要があります。 | このエラーを解決するには、ターゲット テナント内の既存の内部ユーザーを削除するか、同期スコープからこのユーザーを削除します。 |
| AzureActiveDirectory CannotUpdateObjects MasteredOnPremises |
ターゲット テナント内のユーザーが最初に AD から Microsoft Entra ID に同期され、外部ユーザーに変換された場合、権限ソースは引き続きオンプレミスにあり、ユーザーを更新することはできません。 | テナント間同期ではユーザーを更新できません。 |
| EntityTypeNotSupported | グループを使って、プロビジョニングの対象ユーザーを決定できます。 グループ オブジェクトは同期できません。 | お客様による対応は必要ありません。 これはスキップされるイベントです。 オンデマンドでプロビジョニングを使っている場合は、必ずプロビジョニングするグループではなくユーザーを選んでください。 |