このドキュメントでは、Microsoft Entra API 駆動型のインバウンド ユーザー プロビジョニングの概念的概要についてご説明します。
Introduction
今日の企業は、様々な権威ある記録システムを持っています。 エンドツーエンドの ID ライフサイクルを確立し、セキュリティ ポスチャを強化し、規制に準拠し続けるためには、Microsoft Entra ID の ID データを、これらのレコード システムで管理されている従業員データと同期する必要があります。 レコード システムとは、人事アプリ、給与計算アプリ、スプレッドシート、またはオンプレミスまたはクラウドでホストされているデータベース内の SQL テーブルです。
API 駆動型の受信プロビジョニングでは、Microsoft Entra プロビジョニング サービスが任意のレコード システムとの統合をサポートするようになりました。 顧客とパートナーは、任意の自動化ツールを使用して、記録システムから従業員データを取得し、Microsoft Entra IDに取り込むことができます。 IT 管理者は、属性マッピングを使用してデータを処理および変換する方法を完全に制御できます。 Microsoft Entra IDで従業員データを利用できるようになったら、IT 管理者はライフサイクル ワークフローを使用して適切な joiner-mover-leaver ビジネス プロセスを構成できます。
サポートされているシナリオ
いくつかのインバウンド ユーザー プロビジョニング シナリオは、API 駆動型のインバウンド プロビジョニングを使用して有効化されています。 この図は、最も一般的なシナリオを示しています。
シナリオ 1: IT チームが任意の自動化ツールを使用して人事データ抽出をインポートできるようにする
フラット ファイル、CSV ファイル、SQL ステージング テーブルは、エンタープライズ統合シナリオでよく使用されます。 従業員、請負業者、ベンダーの情報は、これらの形式のいずれかに定期的にエクスポートされ、自動化ツールが使用してこのデータをエンタープライズ ID ディレクトリと同期します。 API 主導のインバウンド プロビジョニングを使用すると、IT チームは任意の自動化ツール (PowerShell スクリプトや Azure Logic Apps など) を使用して、この統合を最新化および簡略化できます。
シナリオ 2: ISV を有効にして Microsoft Entra ID との直接統合を構築する
API 駆動型のインバウンド プロビジョニングを使用すると、HR ISV はネイティブ同期エクスペリエンスを送信して、HR システムでの変更が Microsoft Entra ID および接続されたオンプレミス Active Directoryドメインに自動的に流れ込むようににすることができます。 たとえば、人事アプリや学生情報システム アプリは、トランザクションが完了するとすぐ、または 1 日の終わりの一括更新として Microsoft Entra ID にデータを送信できます。
シナリオ 3: システム インテグレーターがレコード システムに対してより多くのコネクタを構築できるようにする
パートナーは、カスタム HR コネクタを構築することで、レコード システムから Microsoft Entra ID へのデータ フローに関するさまざまな統合要件を満たすことができます。
上記のすべてのシナリオにおいて統合が簡素化されます。これは、Microsoft Entra プロビジョニング サービスが、ID プロファイル比較の実行、IT 管理者が設定したスコープ ロジックへのデータ同期の制限、Microsoft Entra 管理センターで管理されるルールベースの属性フローと変換の実行を引き継ぐためです。
エンドツーエンドのフロー
ワークフローの手順
- IT 管理では、Microsoft Entra Enterprise App ギャラリーから API 駆動型インバウンド ユーザー プロビジョニング アプリを構成します。
- IT 管理は、API 開発者/パートナー/システム インテグレーターにアクセス許可を付与し、エンドポイント アクセスの詳細を提供します。
- API 開発者/パートナー/システム インテグレーターは、信頼できる ID データを Microsoft Entra ID に送信する API クライアントを構築します。
- API クライアントは、信頼できるソースから ID データを読み取ります。
- API クライアントは、プロビジョニング アプリに関連付けられているプロビジョニング /bulkUpload API エンドポイントに POST 要求を送信します。
Note
API クライアントは、呼び出す操作 (作成、更新、有効化、無効化) を決定するために、ソース属性とターゲット属性値の比較を実行する必要はありません。 これは、プロビジョニング サービスによって自動的に処理されます。 API クライアントは、ソース システムから読み取られた ID データをSCIM スキーマ コンストラクトを使用して一括要求としてパッケージ化してアップロードするだけです。
- 成功した場合は、
Accepted 202 Statusが返されます。 - Microsoft Entra プロビジョニング サービスは、受信したデータを処理し、属性マッピング規則を適用して、ユーザー プロビジョニングを完了します。
- 構成されるプロビジョニング アプリに応じて、ユーザーはオンプレミスの Active Directory (ハイブリッド ユーザーの場合) または Microsoft Entra ID (クラウド専用ユーザーの場合) のいずれかにプロビジョニングされます。
- 次に、API クライアントはプロビジョニング ログ API エンドポイントに対して、送信された各レコードの状態を照会します。
- レコードの処理が失敗した場合、API クライアントはエラーの詳細をチェックし、失敗した操作に対応するレコードを次の一括要求に含めることができます (手順 5)。
- IT 管理は、いつでもプロビジョニング ログでプロビジョニング ジョブの状態をチェックし、イベントを表示できます。
API 駆動型のインバウンド ユーザー プロビジョニングの主な機能
- 有効な OAuth トークンを使用してアクセスされる非同期Microsoft Graph プロビジョニング /bulkUpload API エンドポイントを公開するプロビジョニング アプリとして使用できます。
- テナント管理者は、このプロビジョニング アプリと対話する API クライアントに、Graph のアクセス許可
SynchronizationData-User.Upload、SynchronizationData-User.Upload.OwnedBy(ISV の場合)、およびProvisioningLog.Read.Allを付与する必要があります。 - Graph API エンドポイントは、SCIM スキーマ コンストラクトを使用して有効な一括要求ペイロードを受け入れます。
- SCIM スキーマ拡張機能を使用すると、一括要求ペイロード内の任意の属性を送信できます。
- 要求ペイロードに null または空の値が含まれている場合は 、属性値 (プレビュー) をクリア するようにプロビジョニングを構成できます。
- 完全同期と差分同期の両方について、すべての一括要求に完全なユーザー レコードを含めます。 属性値のクリア (プレビュー) が有効になっている場合、マップされた属性の null 値または空の値は、ターゲット システム内の対応する値をクリアします。 NULL フローが有効になっている属性を省略した場合も、クリアが行われる可能性があります。 したがって、不完全なペイロードは、既存の属性値を意図せずにクリアする可能性があります。 明確な JSON
nullまたは空の文字列を使用して、確定的なクリアを実行します。 -
/bulkUploadAPI エンドポイントでは、次の調整制限が適用されます。- 任意の 5 秒間に 40 回の API 呼び出しに制限があります。 このしきい値を超えた場合、サービスは HTTP 429 (要求が多すぎます) 応答を返します。 調整を回避するには、クライアントにペーシング ロジックを実装して、送信間に遅延やレート制限処理を追加するなど、要求をスペースアウトします。
- テナント レベルの制限は、Entra ID P1/P2 ライセンスでは 24 時間あたり 2,000 回、Entra ID ガバナンス ライセンスでは 6,000 回の API 呼び出しです。 これらの制限を超えると、HTTP 429 (要求が多すぎます) 応答が発生します。 クォータ内を維持するには、API 呼び出しごとに最大 50 個の操作を含むように SCIM の一括ペイロードが最適化されていることを確認します。
- 各 API エンドポイントは、Microsoft Entra ID の特定のプロビジョニング アプリに関連付けられています。 データ ソースごとにプロビジョニング アプリを作成することで、複数のデータ ソースを統合できます。
- 受信される一括要求ペイロードは、ほぼリアルタイムで処理されます。
- 管理者は、プロビジョニング ログを表示することで 、プロビジョニングの進行状況を確認できます。
- API クライアントは、プロビジョニング ログ API のクエリを実行して進行状況を追跡できます。
ライセンス要件
この機能は、Microsoft Entra ID P1、P2、Microsoft Entra ID ガバナンスのライセンスで使用できます。 要件に適したライセンスを見つけるには、「Microsoft Entra ID ガバナンス ライセンスの基礎」をご覧ください。
API 使用に関するガイダンス
/bulkUpload API エンドポイントは、Microsoft Entra ID でユーザーを管理できる方法の数を拡張します。
/bulkUpload API エンドポイントが統合シナリオに適しているかどうかを判断するには、この表を参照して、他の API ベースの統合オプションと比較してください。
| ユース ケース シナリオから API へのマッピング | ユーザーの作成 API | HR 受信一括 API | ユーザー招待 API | 直接割り当て API |
|---|---|---|---|---|
| ID の作成シナリオが...の場合 | HR ソースのワーカーに関連付けられていないユーザーに対する Microsoft Entra ID でのアドホック ユーザーの作成 | 権限のある人事ソースから従業員レコードを調達し、それらの従業員に Microsoft Entra ID またはオンプレミスの Active Directory の "メンバー" アカウントを持たせる必要がある | ゲストが一意のアクセス権を持つ共有目的で、Microsoft Entra ID でのアドホック ゲスト ユーザーの作成 | 既存のユーザーに対するアクセス割り当て、および Microsoft Entra ID でのゲスト作成 (プレビュー) により、新しいゲストに標準化されたアクセス権を付与する |
| ...API を使用... | ユーザーの作成 | bulkUpload を実行します。 | 招待を作成する | accessPackageAssignmentRequest の作成 |
| 結果のユーザーはまず...に作成されます | Microsoft Entra ID | オンプレミスの Active Directory または Microsoft Entra ID | Microsoft Entra ID | Microsoft Entra ID |
| 結果のユーザーは...に対して認証を行います | 指定したパスワードを含む Microsoft Entra ID | Entra ライフサイクル ワークフローによって提供される一時アクセス パスのある Microsoft Entra ID のオンプレミスの Active Directory | ホーム テナントまたはその他の ID プロバイダー | ホーム テナントまたはその他の ID プロバイダー |
| ユーザーに対する後続の更新は、以下を経由して行えます | Graph API または Microsoft Entra 管理センター | Graph API または HR 受信一括 API または Microsoft Entra 管理センター | Graph API または Microsoft Entra 管理センター | Graph API または Microsoft Entra 管理センター |
| 雇用開始時のユーザーのライフサイクルは、...によって決定されます | 手動プロセス |
属性に基づいてトリガーされる employeeHireDate |
権利管理 | エンタイトルメント管理アクセス パッケージを使用した自動割り当て |
| 雇用終了時のユーザーのライフサイクルは、...によって決定されます | 手動プロセス |
属性に基づいてトリガーされる employeeLeaveDateTime |
Accessのレビュー | ユーザーが最後のアクセス パッケージ割り当てを失った時のエンタイトルメント管理は削除されます |
推奨のラーニング パス
| # | 学習目標 | Guidance |
|---|---|---|
| 1. | インバウンド プロビジョニング API 仕様の詳細を学習したい。 | /bulkUpload API 仕様のドキュメントを参照してください。 |
| 2. | API 駆動型プロビジョニングの概念、シナリオ、制限事項についてより理解を深めたい。 | 「API 駆動インバウンド プロビジョニングに関するよくあるご質問」を参照してください。 |
| 3. | 管理者ユーザーは、受信プロビジョニング API をすばやくテストする必要があります。 | * API 駆動型インバウンド プロビジョニング アプリを作成する * Graph エクスプローラーを使用して API をテストする |
| 4. | サービス アカウントまたはマネージド ID を使用して、インバウンド プロビジョニング API を迅速にテストしたい。 | * API 駆動型インバウンド プロビジョニング アプリを作成する * API アクセス許可を付与する * cURL を使用して API をテストする |
| 5. | API 駆動型プロビジョニング アプリを拡張して、より多くのカスタム属性を処理したい。 | チュートリアル「API 主導のプロビジョニングを拡張してカスタム属性を同期する」を参照してください |
| 6. | ソースに値がない場合は、既存のターゲット属性をクリアする必要があります。 | 「 属性値のクリア (プレビュー)」を参照してください。 |
| 7. | レコードのシステムからインバウンド プロビジョニング API エンドポイントへのデータアップロードを自動化したい。 | 以下のチュートリアルを参照してください * PowerShell のクイック スタート * Azure Logic Apps のクイック スタート |
| 8. | 受信プロビジョニング API の問題をトラブルシューティングする必要があります。 | トラブルシューティング ガイドを参照してください。 |
外部学習リソース
パートナーと Microsoft MVP によって作成された次のコンテンツでは、さまざまな統合シナリオで API 駆動型プロビジョニングをデプロイおよび構成する方法に関する追加のガイダンスが提供されています。
ビデオ チュートリアル
- John Savill が API 駆動型プロビジョニングのしくみについて説明します
- Microsoft MVP Nick Ross が API 駆動型プロビジョニングを構成する方法について説明します
- Microsoft MVP Nick Ross が、Power Automate と API 駆動型プロビジョニングを使用して SharePoint の Excel ファイルから HR データをソース化する方法について説明します
- API 駆動のプロビジョニングに関する Microsoft パートナー IdentityXP の 4 部構成シリーズ
ブログの投稿、プレゼンテーション、その他の便利なリンク
- Microsoft MVP Christian Frohn が、Azure SQL データベースで API 駆動型プロビジョニングを真実のソースとして使用する方法について説明します
- オンプレミスの Active Directory に Bamboo HR API 駆動型プロビジョニングを行う方法を説明する Microsoft MVP の Pim Jacob の記事
- API 駆動型のプロビジョニングとライフサイクル ワークフローを使用して参加と離職者のプロセスを構成する方法に関する Microsoft MVP の Pim Jacob のプレゼンテーション
- PowerShell スクリプトと API 駆動型プロビジョニングを使用して Excel データをソース化する方法について説明する Microsoft MVP Marius Solbakken の記事
- カスタム GitHub Action を使用して API 駆動プロビジョニングを呼び出す方法に関する Suryendu Bhattacharyya の記事
- Microsoft MVP の Jan Vidal Elven の API 駆動型プロビジョニング用の Bicep テンプレート