Microsoft Entra プロビジョニング ログをダウンロードして分析する方法
Microsoft Entra プロビジョニング ログには、テナントで発生するプロビジョニング イベントに関する詳細が示されます。 プロビジョニング ログにキャプチャされた情報を使用して、プロビジョニングされているユーザーに関する問題のトラブルシューティングに役立てることができます。
この記事では、Microsoft Entra 管理センターからプロビジョニング ログをダウンロードするためのオプションとログを分析する方法について説明します。 エラー コードと特別な考慮事項も含まれています。
前提条件
- Microsoft Entra ID P1 または P2 ライセンスが関連付けられている動作中の Microsoft Entra テナント。
- レポート閲覧者は、プロビジョニング ログにアクセスするために必要な最小特権ロールです。
- ロールの詳細な一覧については、「タスク別の最小特権ロール」を参照してください。
プロビジョニング ログの表示方法
プロビジョニング ログを表示または分析するには、いくつかの方法があります。
- Microsoft Entra 管理センターに表示します。
- [診断設定] を使用して、Azure Monitor にログをストリーミングします。
- ブック テンプレートを使用して、ログを分析する。
- Microsoft Graph API を使用して、プログラムでログにアクセスする。
- CSV または JSON ファイルとしてログをダウンロードする。
ヒント
この記事の手順は、開始するポータルによって若干異なる場合があります。
Microsoft Entra管理センターでアクティビティ ログにアクセスする方法
- Microsoft Entra 管理センター に レポート閲覧者 以上の権限でサインインします。
- [ID]>[監視と正常性]>[プロビジョニング ログ] の順に移動します。
プロビジョニング ログをダウンロードする方法
プロビジョニング ログをダウンロードするには、[プロビジョニング ログ] ページから [ダウンロード] を選択します。 ダウンロードのサイズと時間を削減するために、フィルターはできるだけ具体的に設定してください。
CSV 形式
CSV のダウンロードには、次の 3 つのファイルが含まれます。
- ProvisioningLogs:プロビジョニングの手順と変更されたプロパティを除く、すべてのログをダウンロードします。
- ProvisioningLogs_ProvisioningSteps:プロビジョニングの手順と変更 ID を含みます。 変更 ID を使用すると、イベントを他の 2 つのファイルと結合できます。
- ProvisioningLogs_ModifiedProperties:変更された属性と変更 ID を含みます。 変更 ID を使用すると、イベントを他の 2 つのファイルと結合できます。
JSON 形式
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 に適用されます)。 ロールのインポートのログは、監査ログで確認できます。
エラー コード
次の表を利用して、プロビジョニング ログに記録されているエラーの解決方法をより深く理解してください。
エラー コード | 説明 |
---|---|
Conflict、 EntryConflict |
Microsoft Entra ID またはアプリケーションで、競合している属性値を修正してください。 または、競合しているユーザー アカウントが一致し、取って代わられたと思われるかどうか、一致する属性の構成を確認します。 属性マッピングの構成の詳細については、「Microsoft Entra ID での SaaS アプリケ―ションに対するユーザー プロビジョニング属性マッピングのカスタマイズ」を参照してください。 |
TooManyRequests | ターゲット アプリが多すぎる要求を受け取っているため、ユーザーを更新するこの試行を拒否しました。 行うべきことは何もありません。 この試行は自動的に再試行され、この問題が Microsoft に通知されました。 |
InternalServerError | ターゲット アプリから予期しないエラーが返されました。 ターゲット アプリケーションに関するサービスの問題によって、その動作が妨げられている可能性があります。 この試行は 40 分で自動的に再試行されます。 |
InsufficientRights、 MethodNotAllowed、 NotPermitted、 権限がありません |
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 | 属性値に無効なドメイン名が含まれているため、操作を実行できませんでした。 ユーザーのドメイン名を更新するか、ターゲット アプリケーションの許可リストにそのドメイン名を追加します。 |
タイムアウト | ターゲット アプリケーションが応答するのに時間がかかりすぎたため、操作を完了できませんでした。 行うことは何もありません。 この試行は 40 分で自動的に再試行されます。 |
LicenseLimitExceeded | このユーザーが使用できるライセンスがないため、ターゲット アプリケーションでユーザーを作成できませんでした。 ターゲット アプリケーションの追加ライセンスを購入してください。 または、ユーザーの割り当てと属性マッピングの構成を調べて、正しい属性で正しいユーザーが割り当てられていることを確認してください。 |
DuplicateTargetEntries | ターゲット アプリケーションの複数のユーザーに、構成済みの一致する属性があると検出されたため、操作を完了できませんでした。 重複しているユーザーをターゲット アプリケーションから削除するか、属性マッピングを再構成してください。 詳細については、「Microsoft Entra ID で SaaS アプリケ―ションのユーザー プロビジョニング属性マッピングをカスタマイズする」を参照してください。 |
DuplicateSourceEntries | 複数のユーザーに、構成済みの一致する属性があると検出されたため、操作を完了できませんでした。 重複しているユーザーを削除するか、属性マッピングを再構成してください。 詳細については、「Microsoft Entra ID で SaaS アプリケ―ションのユーザー プロビジョニング属性マッピングをカスタマイズする」を参照してください。 |
ImportSkipped | システムでは、各ユーザーが評価されるときに、ソース システムからのそのユーザーのインポートが試みられます。 このエラーが発生するのは一般的に、インポートされるユーザーが、属性マッピングで定義されている一致するプロパティを持っていない場合です。 一致する属性のユーザー オブジェクトに値が指定されていない場合、システムではスコープ、一致、またはエクスポートの変更を評価することはできません。 このエラーが発生したとしても、ユーザーのスコープをまだ評価していないため、このユーザーがスコープ内にあることを示すものではありません。 |
EntrySynchronizationSkipped | プロビジョニング サービスによってソース システムに対するクエリが正常に実行され、ユーザーが識別されました。 ユーザーに対してこれ以上の操作は行われず、スキップされました。 ユーザーがスコープ外にあるか、ターゲット システムに既に存在していて、それ以上の変更は必要でない可能性があります。 |
SystemForCrossDomainIdentity ManagementMultipleEntriesInResponse |
ユーザーまたはグループを取得する GET 要求に対し、複数のユーザーまたはグループが応答で受信されました。 システムでは、1 つのユーザーまたはグループだけを応答で受信することが想定されています。 たとえば、[グループの取得] 要求を実行してグループを取得し、メンバーを除外するフィルターを指定し、クロスドメイン ID 管理システム (SCIM) エンドポイントからメンバーが返された場合、このエラーが表示されます。 |
SystemForCrossDomainIdentity ManagementServiceIncompatible |
Microsoft Entra プロビジョニング サービスでは、Microsoft 以外のアプリケーションからの応答を解析できません。 アプリケーション開発者と協力して、SCIM サーバーが Microsoft Entra SCIM クライアント と互換性があることを確認します。 |
SchemaPropertyCanOnlyAcceptValue | ターゲット システムのプロパティは、1 つの値のみを受け入れることができますが、ソース システムのプロパティには複数の値があります。 エラーをスローしているプロパティに 1 つの値の属性をマップするか、ソースの値を単一の値になるように更新するか、マッピングから属性を削除してください。 |
テナント間同期のエラー コード
次の表を利用して、テナント間同期のプロビジョニング ログに記録されているエラーの解決方法をより深く理解してください。
エラー コード | 原因 | 解決策 |
---|---|---|
AzureActiveDirectoryCannot UpdateObjectsOriginated InExternalService |
ユーザーの権限のソースは Exchange Online です。 プロビジョニング サービスは、ユーザーの 1 つ以上の交換属性を更新できません (例: extensionAttribute 1 - 15)。 これは、dirSyncEnabled プロパティが "True" から "False" に変更されたときに、ターゲット テナントに存在していたユーザーに影響します。 | ターゲット テナントの Exchange Online で属性を直接更新します。 例: Set-MailUser -Identity CloudMailUser5 -CustomAttribute2 "Updated with EXO PowerShell" |
Microsoft Entra ID CannotUpdateObjectsOriginated InExternalService |
同期エンジンは、ターゲット テナント内の 1 つ以上のユーザー プロパティを更新できませんでした。 権限ソース (SOA) が適用されるため、Microsoft Graph API で操作が失敗しました。 現在、次のプロパティが一覧に表示されます。 Mail showInAddressList |
場合によっては (たとえば、showInAddressList プロパティがユーザー更新の一部である場合)、同期エンジンは問題のあるプロパティなしで (ユーザー) 更新を自動的に再試行することがあります。 それ以外の場合は、ターゲット テナントでプロパティを直接更新する必要があります。 |
AzureDirectory B2BManagementPolicy CheckFailure |
自動引き換えを許可するテナント間同期ポリシーが失敗しました。 同期エンジンは、ターゲット テナントの管理者が、自動引き換えを許可する受信テナント間同期ポリシーを作成したことを確認します。 また、同期エンジンは、ソース テナントの管理者が自動引き換えのために送信ポリシーを有効にしたかどうかも確認します。 |
ソース テナントとターゲット テナントの両方で、自動引き換え設定が有効になっていることを確認します。 詳細については、「自動引き換え設定」を参照してください。 |
Microsoft Entra ID QuotaLimitExceeded |
テナント内のオブジェクトの数がディレクトリの制限を超えています。 Microsoft Entra ID には、テナントで作成できるオブジェクトの数に制限があります。 |
クォータを増やすことができるかどうかを確認します。 クォータを増やすディレクトリの制限と手順については、「Microsoft Entra サービスの制限と制約事項」を参照してください。 |
InvitationCreationFailure | Microsoft Entra プロビジョニング サービスが、ターゲット テナント内のユーザーを招待しようとしました。 その招待は失敗しました。 | 詳細な調査には、サポートへの問い合わせが必要になる可能性があります。 |
InvitationCreationFailureUserAccountDisabled | Microsoft Entra プロビジョニング サービスが、ターゲット テナント内のユーザーを招待しようとしました。 その招待は失敗しました。 | ユーザーはターゲット テナントに存在しますが、そのアカウントは無効になっており、招待は保留中です。 ターゲット テナントでユーザー アカウントを有効にし、もう一度ユーザーのプロビジョニングを試みます。 |
Microsoft Entra ID 許可されていません |
外部コラボレーションの設定により招待がブロックされました。 | ユーザー設定に移動し、外部コラボレーション設定が許可されていることを確認してください。 |
InvitationCreation FailureInvalidPropertyValue |
考えられる原因: * プライマリ SMTP アドレスが無効な値です。 * UserType はゲストまたはメンバーではありません * グループ メール アドレスはサポートされていません |
考えられる解決策: * プライマリ SMTP アドレスには無効な値があります。 この問題を解決するには、ソース ユーザーのメール プロパティを更新する必要がある可能性が高いです。 詳細については、「Microsoft 365 へのディレクトリ同期の準備」を参照してください。 * userType プロパティは、確実にタイプをゲストまたはメンバーとしてプロビジョニングされるようにします。 これは、属性マッピングを確認して、userType 属性のマップ方法を確認することで修正できます。 * ユーザーのメール アドレスが、テナント内のグループのメール アドレスと一致しています。 2 つのオブジェクトのうちの 1 つのメール アドレスを更新してください。 |
InvitationCreation FailureAmbiguousUser |
招待されたユーザーには、ターゲット テナント内の内部ユーザーと一致するプロキシ アドレスがあります。 プロキシ アドレスは一意である必要があります。 | このエラーを解決するには、ターゲット テナント内の既存の内部ユーザーを削除するか、同期スコープからこのユーザーを削除します。 |
Microsoft Entra ID CannotUpdateObjects MasteredOnPremises |
ターゲット テナント内のユーザーが最初に AD から Microsoft Entra ID に同期され、外部ユーザーに変換された場合、権限ソースは引き続きオンプレミスにあり、ユーザーを更新することはできません。 | テナント間同期ではユーザーを更新できません |
EntityTypeNotSupported | グループを使って、プロビジョニングの対象ユーザーを決定できます。 グループ オブジェクトは同期できません。 | お客様による対応は必要ありません。 これはスキップされるイベントです。 オンデマンドでプロビジョニングを使っている場合は、必ずプロビジョニングするグループではなくユーザーを選んでください。 |