Postman を使用した API 駆動インバウンド プロビジョニングのクイックスタート
このチュートリアルでは、Postman を使用した API 駆動インバウンド プロビジョニングをすばやくテストする方法について説明します。
前提条件
- API 駆動インバウンド プロビジョニング アプリの構成を完了している。
- サービス プリンシパルの構成を完了していて、プリンシパルがインバウンド プロビジョニング API にアクセスできる。 このチュートリアルで使用するサービス プリンシパル アプリの
TenantId
、ClientId
、ClientSecret
を書き留めておいてください。
ユーザー データをインバウンド プロビジョニング API にアップロードする
この手順では、Postman アプリを構成し、構成したサービス アカウントを使用して API を呼び出します。
- Postman アプリをダウンロードしてインストールします。
- Postman デスクトップ アプリを開きます。
- [Workspaces] メニューから [Create Workspace] を選択して、Microsoft Entra プロビジョニング API という名前の新しいワークスペースを作成します。
- 次の Postman コレクションをダウンロードし、ローカル ディレクトリに保存します。
- Microsoft Entra Inbound Provisioning.postman_collection.json (要求コレクション)
- Test-API2AAD.postman_environment.json (Microsoft Entra ID への API 駆動プロビジョニングの環境コレクション)-
- Test-API2AD.postman_environment.json (オンプレミス AD への API 駆動プロビジョニングの環境コレクション)
- Postman の [Import] オプションを使用して、これらの両方のファイルをワークスペースにインポートします。
- [Environments] メニューをクリックし、Test-API2AAD 環境を開きます。
- 登録済みアプリから [client_id]、[client_secret]、[token_endpoint] の値を取得します。
- 表の列 [Initial value] と [Current value] の下に各変数の値を貼り付けます。
- プロビジョニング アプリのランディング ページを開き、
jobId
変数の [Job ID] の値とbulk_upload_endpoint
変数の [プロビジョニング API エンドポイント] の値をコピーして貼り付けます - ms_graph_resource_id の値は変更せずにそのままにして、環境コレクションを保存します。 [Initial value] と [Current value] の両方の列に値が入力されていることを確認します。
- 次に、コレクション Microsoft Entra Inbound Provisioning を開きます。
- [Environment] ドロップダウンから [Test-API2AAD] を選択します。
- コレクションに関連付けられている [Authorization] タブを選択します。
- OAuth 設定を使用するように認可が構成されていることを確認します。
- [Advanced Options] セクションに、次の構成が表示されます。
- [Get New Access Token] をクリックして、アクセス トークンを調達するプロセスを開始します。
- [Use Token] オプションを選択して、このコレクション内のすべての要求でアクセス トークンを使用します。
注意
許可の種類
client_credentials
を使用して生成された OAuth アクセス トークンは、1 時間有効です。 有効期限が切れた場合は、https://jwt.ms を使用してトークンをデコードできます。 トークンの有効期限が切れると、要求は失敗します。 アクセス トークンの有効期限が切れた場合は、Postman で [Get New Access Token] をクリックして、新しいアクセス トークンを取得します。 トークンは、[Authorization] タブの [Current token] セクションに自動的にコピーされます。これで、トークンを使用して API 呼び出しを行えるようになりました。 このコレクションで、最初の呼び出しを開始しましょう。 - 要求 [SCIM bulk request upload] を開きます。
- [Authorization] タブで、種類が [Inherit auth from parent] に設定されていることを確認します。
- [Request body] タブに移動して、サンプルの SCIM 一括要求を表示して編集します。 編集を完了したら、[Send] をクリックします。
API 呼び出しが成功した場合は、メッセージ 202 Accepted.
が表示されます。[Headers] の下の [Location] 属性はプロビジョニング ログ API エンドポイントを指します。
一括要求ペイロードの処理を確認する
処理を確認するには、Microsoft Entra 管理センターまたは Postman を使用します。
Microsoft Entra 管理センターから処理を確認する
少なくともアプリケーション管理者レベルの資格情報で Microsoft Entra管理センターにログインします。
[Microsoft Entra ID] ->[アプリケーション] - >[エンタープライズ アプリケーション] の順に移動します。
すべてのアプリケーションで、検索フィルター テキスト ボックスを使用して、API 駆動プロビジョニング アプリケーションを見つけて開きます。
[プロビジョニング] ブレードを開きます。 ランディング ページに最後の実行の状態が表示されます。
[プロビジョニング ログの表示] をクリックして、プロビジョニング ログ ブレードを開きます。 または、メニュー オプションの [監視] -> [プロビジョニング ログ] をクリックすることもできます。
プロビジョニング ログ内の任意のレコードをクリックして、追加の処理の詳細を表示します。
プロビジョニング ログの詳細画面に、特定のユーザーに対して実行されたすべての手順が表示されます。
- [API からインポート] ステップで、一括要求から抽出されたユーザー データの詳細を確認します。
- [ユーザーのマッチ] ステップには、マッチする識別子に基づいて、すべてのユーザー マッチの詳細が表示されます。 ユーザー マッチが発生した場合、プロビジョニング サービスは更新操作を実行します。 ユーザー マッチがない場合、プロビジョニング サービスは作成操作を実行します。
- [ユーザーがスコープ内にいるかの確認] ステップには、スコープ フィルター評価の詳細が表示されます。 既定では、すべてのユーザーが処理されます。 スコープ フィルターを設定した場合 (たとえば、販売部門に属するユーザーのみを処理するなど)、このステップにはスコープ フィルターの評価の詳細が表示されます。
- [ユーザーのプロビジョニング] ステップでは、最終的な処理ステップと、ユーザー アカウントに適用された変更が呼び出されます。
- [変更されたプロパティ] タブを使用して、属性の更新を表示します。
Postman のプロビジョニング ログ API を使用して処理を確認する
このセクションでは、構成したのと同じサービス アカウント (サービス プリンシパル) を使用して Postman のプロビジョニング ログに対してクエリを実行する方法について説明します。
- Postman デスクトップ アプリでワークスペース Microsoft Entra プロビジョニング API を開きます。
- コレクション Microsoft Entra Inbound Provisioning には、プロビジョニング ログのクエリを実行できる 3 つのサンプル要求が含まれています。
- これらの定義済みの要求のいずれかを開くことができます。
- 有効なアクセス トークンがない場合、またはアクセス トークンがまだ有効かわからない場合は、コレクション オブジェクトのルートの [Authorization] タブに移動し、[Get New Access Token] オプションを使用して新しいトークンを取得します。
- [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
}
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示