次の方法で共有


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

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

前提条件

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

この手順では、Postman アプリを構成し、構成したサービス アカウントを使用して API を呼び出します。

  1. Postman アプリをダウンロードしてインストールします。
  2. Postman デスクトップ アプリを開きます。
  3. [Workspaces] メニューから [Create Workspace] を選択して、Microsoft Entra プロビジョニング API という名前の新しいワークスペースを作成します。
  4. 次の Postman コレクションをダウンロードし、ローカル ディレクトリに保存します。
  5. Postman の [Import] オプションを使用して、これらの両方のファイルをワークスペースにインポートします。
    Screenshot of Postman Import elements.
  6. [Environments] メニューをクリックし、Test-API2AAD 環境を開きます。
  7. 登録済みアプリから [client_id][client_secret][token_endpoint] の値を取得します。 Screenshot of registered app.
  8. 表の列 [Initial value][Current value] の下に各変数の値を貼り付けます。 Screenshot of authentication variables
  9. プロビジョニング アプリのランディング ページを開き、jobId 変数の [Job ID] の値と bulk_upload_endpoint 変数の [プロビジョニング API エンドポイント] の値をコピーして貼り付けます
  10. ms_graph_resource_id の値は変更せずにそのままにして、環境コレクションを保存します。 [Initial value][Current value] の両方の列に値が入力されていることを確認します。
  11. 次に、コレクション Microsoft Entra Inbound Provisioning を開きます。
  12. [Environment] ドロップダウンから [Test-API2AAD] を選択します。
  13. コレクションに関連付けられている [Authorization] タブを選択します。
  14. OAuth 設定を使用するように認可が構成されていることを確認します。 Screenshot of Provisioning OAuth configuration.
  15. [Advanced Options] セクションに、次の構成が表示されます。 Screenshot of Provisioning Advanced options.
  16. [Get New Access Token] をクリックして、アクセス トークンを調達するプロセスを開始します。
  17. [Use Token] オプションを選択して、このコレクション内のすべての要求でアクセス トークンを使用します。

    注意

    許可の種類 client_credentials を使用して生成された OAuth アクセス トークンは、1 時間有効です。 有効期限が切れた場合は、https://jwt.ms を使用してトークンをデコードできます。 トークンの有効期限が切れると、要求は失敗します。 アクセス トークンの有効期限が切れた場合は、Postman で [Get New Access Token] をクリックして、新しいアクセス トークンを取得します。 トークンは、[Authorization] タブの [Current token] セクションに自動的にコピーされます。これで、トークンを使用して API 呼び出しを行えるようになりました。 このコレクションで、最初の呼び出しを開始しましょう。

  18. 要求 [SCIM bulk request upload] を開きます。
  19. [Authorization] タブで、種類が [Inherit auth from parent] に設定されていることを確認します。
  20. [Request body] タブに移動して、サンプルの SCIM 一括要求を表示して編集します。 編集を完了したら、[Send] をクリックします。

API 呼び出しが成功した場合は、メッセージ 202 Accepted. が表示されます。[Headers] の下の [Location] 属性はプロビジョニング ログ API エンドポイントを指します。

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

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

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

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

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

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

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

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

    Screenshot of provisioning logs in menu.

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

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

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

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

このセクションでは、構成したのと同じサービス アカウント (サービス プリンシパル) を使用して Postman のプロビジョニング ログに対してクエリを実行する方法について説明します。

  1. Postman デスクトップ アプリでワークスペース Microsoft Entra プロビジョニング API を開きます。
  2. コレクション Microsoft Entra Inbound Provisioning には、プロビジョニング ログのクエリを実行できる 3 つのサンプル要求が含まれています。
  3. これらの定義済みの要求のいずれかを開くことができます。
  4. 有効なアクセス トークンがない場合、またはアクセス トークンがまだ有効かわからない場合は、コレクション オブジェクトのルートの [Authorization] タブに移動し、[Get New Access Token] オプションを使用して新しいトークンを取得します。
  5. [Send] をクリックして、プロビジョニング ログ レコードを取得します。 正常に実行されると、プロビジョニング ログ レコードと共にサーバーから 200 HTTP 応答が返されます。

付録

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

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

要求本文

{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
    "Operations": [
    {
        "method": "POST",
        "bulkId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "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": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "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
}

次のステップ