使用 Graph Explorer 进行 API 驱动的入站预配快速入门

本教程介绍如何使用 Microsoft Graph Explorer 快速测试 API 驱动的入站预配

先决条件

注意

此预配 API 主要在应用程序或服务内使用。 租户管理员可以配置服务主体或托管标识,以授予执行上传的权限。 此 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+jsonScreenshot of request header panel.

  9. 在“请求正文”面板下,复制粘贴使用 SCIM 企业用户架构的批量请求

  10. 单击“运行查询”按钮,将请求发送到预配 API 终结点。

  11. 如果请求成功发送,你将从 API 终结点获取 Accepted 202 响应。

  12. 打开“响应头”面板并复制位置属性的 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 调用中的位置响应头的一部分返回的预配日志 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": "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
}

后续步骤