在 Microsoft Entra ID 中启用 SCIM 预配 API

本文介绍如何在Microsoft Entra admin center中启用 SCIM 预配 API 功能。 启用后,可以使用 SCIM 2.0 协议自动管理Microsoft Entra ID租户中的用户和组。

注释

通过启用此功能,Microsoft Entra ID充当 SCIM 服务提供商(服务器),从而允许外部 SCIM 兼容的客户端(例如 HR 应用、标识平台、业务流程工具或自定义自动化框架)大规模使用标准 SCIM 操作在 Entra 中预配和管理用户和组。 此功能旨在直接以编程方式访问 SCIM API;如果要使用 Entra ID 的内置 app provisioningHR 驱动的预配API 驱动的预配功能,则无需启用它。 有关更多详细信息,请参阅Entra ID 中的 SCIM 支持

有关完整的 API 参考,请参阅 Microsoft Entra ID SCIM API 参考

先决条件

  • Entra ID P1 许可证或任何包含 Entra ID P1 的许可证(例如,Entra ID P2、Microsoft 365 E3、Microsoft 365 E5 等)
  • 要链接计费的活动Azure订阅。
  • 具有 应用程序管理员云应用程序管理员 角色的管理员,使用调用 SCIM API 所需的权限创建应用注册。
  • 具有 Billing Administrator 角色的管理员负责启用 SCIM API 计费并链接 Azure 订阅。

许可证和计费

SCIM 预配 API 是一个付费加载项,需要订阅和计费配置:

  • 成本: 请参阅 API 调用定价
  • 计费:通过链接的Azure订阅按月进行。

启用 SCIM 预配 API

使用以下步骤从Microsoft Entra admin center打开 SCIM 预配 API。

  1. 登录到 Microsoft Entra admin center

  2. 在左侧导航中,展开 ID 治理 并选择 “仪表板”。

  3. 在“仪表板”页上,找到 SCIM 预配 API 磁贴并选择 “入门”。 如果以前配置了该功能,磁贴将显示当前状态和 “编辑” 按钮。

  4. 在右侧打开的SCIM 预配 API窗格中:

    1. Link 订阅下,从下拉列表中选择Azure订阅

    2. 选择现有 资源组 ,或选择“ 新建 ”以创建一个资源组。

    3. 查看 计费单位 详细信息。 每个 SCIM 预配 API 调用都会计费。

    4. 选择打开

  5. 启用该功能后,仪表板上的 SCIM 预配 API 磁贴将更新以显示 SCIM 预配 API 已启用

为 SCIM API 客户端设置凭据

启用 SCIM 预配 API 后,设置 SCIM 客户端用来进行身份验证的凭据。 可以选择以下选项之一。

注释

SCIM API 仅在应用程序上下文(仅限应用令牌)中运行,不支持用户代理/委派场景。 因此,需要委托授权的属性(例如 assignedLabels,无法通过 SCIM 更新)。

选项 1:注册应用程序(客户端凭据流)

在Microsoft Entra租户中注册应用程序,授予所需的应用程序权限,并使用 OAuth 2.0 客户端凭据授予流获取访问令牌。

  1. 使用 Microsoft identity platform 注册应用程序。 保存应用注册中的以下值:

    • 应用程序 ID(在 Microsoft Entra 管理中心上称为对象 ID)。
    • 客户端密码 (应用程序密码) 、证书或联合标识凭据。
  2. API 权限下,选择 Microsoft Graph>Application 权限并根据计划如何使用 SCIM API 授予以下一个或多个权限:

    许可 说明
    User.Read.All 对用户的只读访问权限。
    User.ReadWrite.All 用户的读写访问权限。
    User-Mail.ReadWrite.All 更新电子邮件的最低特权权限 [类型 eq “other”].value ,映射到 otherMails 用户属性
    User-Phone.ReadWrite.All 更新phoneNumbers[type eq “mobile”].valuephoneNumbers[type eq “work”].value,分别映射到mobilePhonebusinessPhones用户属性。
    User.EnableDisableAccount.All 更新与accountEnabled用户属性映射的active SCIM 属性所需的最低特权权限
    Group.Read.All 对组的只读访问权限。
    Group.ReadWrite.All 对组的读取和写入访问权限。
    CustomSecAttributeAssignment.Read.All 对用户自定义安全属性的访问权限设为只读。
    CustomSecAttributeAssignment.ReadWrite.All 对用户自定义安全属性的读取和写入访问权限。
    CustomSecAttributeDefinition.Read.All 对自定义安全属性架构的读取访问权限。
    User-LifeCycleInfo.ReadWrite.All 更新生命周期属性,例如 employeeLeaveDateTime
  3. 授予所有已分配权限的 管理员同意

  4. 使用以下 HTTP 请求获取访问令牌,替换占位符值以匹配环境。 对于生产使用情况,强烈建议使用客户端证书或托管标识进行身份验证。

    请求

    POST https://login.partner.microsoftonline.cn/{tenant_id}/oauth2/v2.0/token HTTP/1.1
    Host: login.partner.microsoftonline.cn
    Content-Type: application/x-www-form-urlencoded
    
    client_id={client_id}&scope=https%3A%2F%2Fmicrosoftgraph.chinacloudapi.cn%2F.default&client_secret={client_secret}&grant_type=client_credentials
    

    响应(200 正常):

    {
      "token_type": "Bearer",
      "expires_in": 3599,
      "access_token": "eyJhbGciOiJIUzI1NiJ9…"
    }
    
  5. 调用 SCIM API 时,在标头(Bearer 方案)中包含 Authorization 访问令牌。

选项 2:使用托管标识

托管标识(系统分配或用户分配)分配给托管 SCIM 客户端的Azure资源,并向其授予选项 1 中列出的相同Microsoft Graph应用程序权限。

  1. 在Azure资源(例如虚拟机或Azure函数)上启用托管标识。

  2. 向托管标识授予Option 1表中所列需的 Microsoft Graph 应用程序权限。

  3. 在运行时,从托管标识终结点获取访问令牌,并在调用 SCIM API 时将其包含在标头中 Authorization

有关使用托管标识在 Azure VM 上获取令牌的详细信息,请参阅 如何使用 Azure 资源的托管标识在 Azure VM 上获取访问令牌

调用 SCIM API 终结点

设置凭据并获取访问令牌后,可以开始调用 SCIM API 终结点。 以下示例检索 Microsoft Entra ID 的 SCIM 服务提供者配置。

请求

GET https://microsoftgraph.chinacloudapi.cn/rp/scim/serviceproviderconfig HTTP/1.1
Authorization: Bearer <access_token>
Accept: application/json
Host: microsoftgraph.chinacloudapi.cn

响应(200 正常):

{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"],
  "documentationUri": "/graph/overview",
  "pagination": {
    "cursor": true,
    "index": false,
    "defaultPaginationMethod": "cursor",
    "defaultPageSize": 100,
    "maxPageSize": 1000
  },
  "patch": {
    "supported": true
  },
  "bulk": {
    "supported": false,
    "maxOperations": 0,
    "maxPayloadSize": 0
  },
  "filter": {
    "supported": true,
    "maxResults": 200
  }
}

有关支持的 SCIM 操作的完整列表(包括用户和组管理),请参阅 Microsoft Entra ID SCIM API 参考

查看 SCIM API 计费信息

启用该功能时,SCIM API 使用情况通过你链接的Azure订阅和资源组计费。 可以使用 Azure 门户中的 Cost 分析 边栏选项卡查看累计成本和使用情况预测。

查看计费的先决条件

必须在链接资源组中具有以下Azure角色之一才能访问成本分析:

  • Owner
  • 参与者
  • 读取器
  • 成本管理手册

查看计费的步骤

  1. 登录到 Azure 门户

  2. 在顶部搜索栏中,搜索 资源组 并选择它。

  3. 从资源组列表中,选择启用 SCIM API 计费时链接的资源组。

  4. 在左侧导航窗格中,展开 “成本管理 ”并选择“ 成本分析”。

  5. 在“成本分析”视图中:

    • 范围 设置为资源组。
    • 视图 设置为 AccumulatedCosts
    • 将日期范围设置为要审阅的月份。
  6. 此图表显示所选时间段内累积的 SCIM API 支出。 顶部的摘要卡显示:

    • 实际成本 (USD) - 当前期间迄今计费的费用。
    • 预测 - 根据当前使用情况预测在此期间的总成本。
  7. 使用底部的细分磁贴按服务名称位置和资源查看成本。 SCIM API 费用以服务名称的形式显示在 Microsoft Entra 下。

后续步骤