Graph Explorer を使用した API 駆動インバウンド プロビジョニングのクイックスタート

このチュートリアルでは、Microsoft Graph Explorer を使用した API 駆動インバウンド プロビジョニングをすばやくテストする方法について説明します。

前提条件

注意

このプロビジョニング API は、主にアプリケーションまたはサービス内で使用するためのものです。 テナント管理者は、サービス プリンシパルまたはマネージド ID を構成して、アップロードを実行するアクセス許可を付与できます。 この API には、個別のユーザー割り当て可能な Microsoft Entra 組み込みディレクトリ ロールはありません。 管理者の同意を得て SynchronizationData-User.Upload アクセス許可を取得したアプリケーション以外では、グローバル管理者ロールを持つ管理者ユーザーのみがこの API を呼び出すことができます。 このチュートリアルでは、テスト セットアップでグローバル管理者ロールを使用して API をテストする方法について説明します。

ユーザー データを受信プロビジョニング API にアップロードする

  1. 新しいブラウザー タブまたはブラウザー ウィンドウを開きます。

  2. URL https://aka.ms/ge を起動して Microsoft Graph Explorer にアクセスします。

  3. ユーザー プロファイル アイコンをクリックしてサインインします。

    Image showing the user profile icon.

  4. "グローバル管理者" ロールを持つユーザー アカウントでログイン プロセスを完了します。

  5. ログインに成功すると、テナント情報にテナント名が表示されます。

    Screenshot of Tenant name.

    これで、API を呼び出す準備ができました。

  6. API 要求パネルで、HTTP 要求の種類を POST に設定します。

  7. プロビジョニング アプリの概要ページから取得したプロビジョニング API エンドポイントをコピーして貼り付けます。

  8. [要求ヘッダー] パネルで、新しいキー値ペア Content-Type = application/scim+json を追加します。 Screenshot of request header panel.

  9. [要求本文] パネルで、SCIM Enterprise ユーザー スキーマを使用した一括要求をコピーして貼り付けます

  10. [クエリの実行] ボタンをクリックして、プロビジョニング API エンドポイントに要求を送信します。

  11. 要求が正常に送信されると、API エンドポイントから Accepted 202 応答が返されます。

  12. [応答ヘッダー] パネルを開き、location 属性の URL 値をコピーします。 これは、一括要求に存在するユーザーのプロビジョニング状態をチェックするためにクエリを実行できるプロビジョニング ログの API エンドポイントを指します。

一括要求ペイロードの処理を確認する

処理を確認するには、Microsoft Entra 管理センターまたは Graph Explorer を使用します。

Microsoft Entra 管理センターから処理を確認する

  1. 少なくともアプリケーション管理者 のログイン資格情報で Microsoft Entra 管理センター にログインします。

  2. [Microsoft Entra ID] ->[アプリケーション] - >[エンタープライズ アプリケーション] の順に移動します。

  3. すべてのアプリケーションで、検索フィルター テキスト ボックスを使用して、API 駆動プロビジョニング アプリケーションを見つけて開きます。

  4. [プロビジョニング] ブレードを開きます。 ランディング ページに最後の実行の状態が表示されます。

  5. [プロビジョニング ログの表示] をクリックして、プロビジョニング ログ ブレードを開きます。 または、メニュー オプションの [監視] -> [プロビジョニング ログ] をクリックすることもできます。

    Screenshot of provisioning logs in menu.

  6. プロビジョニング ログ内の任意のレコードをクリックして、追加の処理の詳細を表示します。

  7. プロビジョニング ログの詳細画面に、特定のユーザーに対して実行されたすべての手順が表示されます。

    • [API からインポート] ステップで、一括要求から抽出されたユーザー データの詳細を確認します。
    • [ユーザーのマッチ] ステップには、マッチする識別子に基づいて、すべてのユーザー マッチの詳細が表示されます。 ユーザー マッチが発生した場合、プロビジョニング サービスは更新操作を実行します。 ユーザー マッチがない場合、プロビジョニング サービスは作成操作を実行します。
    • [ユーザーがスコープ内にいるかの確認] ステップには、スコープ フィルター評価の詳細が表示されます。 既定では、すべてのユーザーが処理されます。 スコープ フィルターを設定した場合 (たとえば、販売部門に属するユーザーのみを処理するなど)、このステップにはスコープ フィルターの評価の詳細が表示されます。
    • [ユーザーのプロビジョニング] ステップでは、最終的な処理ステップと、ユーザー アカウントに適用された変更が呼び出されます。
    • [変更されたプロパティ] タブを使用して、属性の更新を表示します。

Graph Explorer のプロビジョニング ログ API を使用して処理を確認する

プロビジョニング API 呼び出しの location 応答ヘッダーの一部として返されたプロビジョニング ログの API URL を使用して、処理を検査できます。

  1. Graph Explorer の [要求 URL] テキスト ボックスに、プロビジョニング API エンドポイントによって返された場所 URL をコピーして貼り付けます。または、https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId>' の形式を使用して作成できます。ここで、プロビジョニング アプリの概要ページから jobId を取得できます。
  2. メソッド GET を使用し、[クエリの実行] をクリックしてプロビジョニング ログを取得します。 既定では、返される応答にはすべてのログ レコードが含まれます。
  3. 追加のフィルターを設定することで、特定の期間の後、または特定の状態値を持つデータのみを取得できます。 https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId> and statusInfo/status eq 'failure' and activityDateTime ge 2022-10-10T09:47:34Z また、ソース アンカー/結合プロパティとして使用されるソース システムで使用される externalId 値によって、ユーザーの状態をチェックすることもできます。 https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId>' and sourceIdentity/id eq '701984'

付録

SCIM エンタープライズ ユーザー スキーマによる一括要求

次に示す一括要求では、SCIM 標準コア ユーザー スキーマとエンタープライズ ユーザー スキーマを使用しています。

要求本文

{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
    "Operations": [
    {
        "method": "POST",
        "bulkId": "897401c2-2de4-4b87-a97f-c02de3bcfc61",
        "path": "/Users",
        "data": {
            "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
            "externalId": "701984",
            "userName": "bjensen@example.com",
            "name": {
                "formatted": "Ms. Barbara J Jensen, III",
                "familyName": "Jensen",
                "givenName": "Barbara",
                "middleName": "Jane",
                "honorificPrefix": "Ms.",
                "honorificSuffix": "III"
            },
            "displayName": "Babs Jensen",
            "nickName": "Babs",
            "emails": [
            {
              "value": "bjensen@example.com",
              "type": "work",
              "primary": true
            }
            ],
            "addresses": [
            {
              "type": "work",
              "streetAddress": "100 Universal City Plaza",
              "locality": "Hollywood",
              "region": "CA",
              "postalCode": "91608",
              "country": "USA",
              "formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA",
              "primary": true
            }
            ],
            "phoneNumbers": [
            {
              "value": "555-555-5555",
              "type": "work"
            }
            ],
            "userType": "Employee",
            "title": "Tour Guide",
            "preferredLanguage": "en-US",
            "locale": "en-US",
            "timezone": "America/Los_Angeles",
            "active":true,
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
                 "employeeNumber": "701984",
                 "costCenter": "4130",
                 "organization": "Universal Studios",
                 "division": "Theme Park",
                 "department": "Tour Operations",
                 "manager": {
                     "value": "89607",
                     "displayName": "John Smith"
                 }
            }
        }
    },
    {
        "method": "POST",
        "bulkId": "897401c2-2de4-4b87-a97f-c02de3bcfc61",
        "path": "/Users",
        "data": {
            "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
            "externalId": "701985",
            "userName": "Kjensen@example.com",
            "name": {
                "formatted": "Ms. Kathy J Jensen, III",
                "familyName": "Jensen",
                "givenName": "Kathy",
                "middleName": "Jane",
                "honorificPrefix": "Ms.",
                "honorificSuffix": "III"
            },
            "displayName": "Kathy Jensen",
            "nickName": "Kathy",
            "emails": [
            {
              "value": "kjensen@example.com",
              "type": "work",
              "primary": true
            }
            ],
            "addresses": [
            {
              "type": "work",
              "streetAddress": "100 Oracle City Plaza",
              "locality": "Hollywood",
              "region": "CA",
              "postalCode": "91618",
              "country": "USA",
              "formatted": "100 Oracle City Plaza\nHollywood, CA 91618 USA",
              "primary": true
            }
            ],
            "phoneNumbers": [
            {
              "value": "555-555-5545",
              "type": "work"
            }
            ],
            "userType": "Employee",
            "title": "Tour Lead",
            "preferredLanguage": "en-US",
            "locale": "en-US",
            "timezone": "America/Los_Angeles",
            "active":true,
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
                 "employeeNumber": "701985",
                 "costCenter": "4130",
                 "organization": "Universal Studios",
                 "division": "Theme Park",
                 "department": "Tour Operations",
                 "manager": {
                     "value": "701984",
                     "displayName": "Barbara Jensen"
                 }
            }
        }
    }
],
    "failOnErrors": null
}

次のステップ