Share via


搭配使用 SCIM 和 Microsoft Graph 來布建使用者,並使用所需的資料擴充應用程式

目標物件: 本文針對建置要與 Microsoft Entra ID 整合之應用程式的開發人員為目標。 如果您想要使用已與 Microsoft Entra ID 整合的應用程式,例如 Zoom、ServiceNow 和 DropBox,您可以略過本文並檢閱應用程式特定 教學 課程,或檢閱 布建服務 的運作方式。

常見案例

Microsoft Entra ID 提供現用的服務,可供布建和可延伸的平臺來建置您的應用程式。 決策樹概述開發人員 如何使用 SCIM Microsoft Graph 來自動布建。

  • 在我的應用程式中自動建立使用者
  • 當使用者不應該再存取時,自動從我的應用程式中移除使用者
  • 整合我的應用程式與多個識別提供者以進行布建
  • 使用 Teams、Outlook 和 Office 等Microsoft 服務的資料擴充應用程式。
  • 在 Microsoft Entra ID 和 Active Directory 中自動建立、更新和刪除使用者和群組

SCIM Graph decision tree

案例 1:自動在我的應用程式中建立使用者

目前,IT 系統管理員會手動建立使用者帳戶或定期將 CSV 檔案上傳至我的應用程式,來布建使用者。 此程式對於客戶而言相當耗時,而且會減緩我的應用程式採用速度。 我只需要基本的使用者資訊,例如名稱、電子郵件和 userPrincipalName 來建立使用者。

建議:

  • 如果您的客戶使用各種 IdP,而且您不想維護同步處理引擎來與每個 IdP 整合,則支援符合 SCIM 規範 的 /Users 端點。 您的客戶將能夠輕鬆地使用此端點來與 Microsoft Entra 布建服務整合,並在需要存取時自動建立使用者帳戶。 您可以建置端點一次,且其會與所有 IdP 相容。 請參閱下列範例要求,以瞭解如何使用 SCIM 建立使用者。
  • 如果您需要在 Microsoft Entra ID 中的使用者物件上找到使用者資料,以及跨 Microsoft 的其他資料,請考慮建置 SCIM 端點來布建使用者,並呼叫 Microsoft Graph 以取得其餘的資料。
POST /Users
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
    "externalId": "0a21f0f2-8d2a-4f8e-bf98-7363c4aed4ef",
    "userName": "BillG",
    "active": true,
    "meta": {
        "resourceType": "User"
    },
    "name": {
        "formatted": "Bill Gates",
        "familyName": "Gates",
        "givenName": "Bill"
    },
    "roles": []
}

案例 2:自動從我的應用程式移除使用者

使用我的應用程式的客戶具有安全性焦點,而且當員工不再需要帳戶時,有移除帳戶的控管需求。 如何自動取消布建我的應用程式?

建議: 支援符合 SCIM 標準的 /Users 端點。 Microsoft Entra 布建服務會在使用者不應該再存取時,傳送要求以停用和刪除。 建議您同時支援停用和刪除使用者。 如需停用和刪除要求的外觀,請參閱下列範例。

停用使用者

PATCH /Users/5171a35d82074e068ce2 HTTP/1.1
{
    "Operations": [
        {
            "op": "Replace",
            "path": "active",
            "value": false
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ]
}

刪除使用者

DELETE /Users/5171a35d82074e068ce2 HTTP/1.1

案例 3:自動管理應用程式中的群組成員資格

我的應用程式依賴群組來存取各種資源,而客戶想要重複使用他們在 Microsoft Entra ID 中擁有的群組。 如何從 Microsoft Entra 識別碼匯入群組,並在成員資格變更時保持更新?

建議: 支援符合 SCIM 標準的 /Groups 端點 。 Microsoft Entra 布建服務會負責在應用程式中建立群組及管理成員資格更新。

案例 4:使用 Teams、Outlook 和 OneDrive 等Microsoft 服務資料擴充應用程式

我的應用程式內建于 Microsoft Teams 中,並依賴訊息資料。 此外,我們會在 OneDrive 中儲存使用者的檔案。 如何使用來自這些服務和 Microsoft 的資料擴充應用程式?

建議: Microsoft Graph 是您存取 Microsoft 資料的進入點。 每個工作負載都會向您需要的資料公開 API。 Microsoft 圖表可與上述案例的 SCIM 布 建搭配 使用。 您可以使用 SCIM 在呼叫圖形時,將基本使用者屬性布建到應用程式中,以取得任何其他您需要的資料。

案例 5:追蹤Microsoft 服務中的變更,例如 Teams、Outlook 和 Microsoft Entra 識別碼

我需要能夠追蹤 Teams 和 Outlook 訊息的變更,並即時回應。 如何將這些變更推送至我的應用程式?

建議: Microsoft Graph 提供 各種資源的變更通知 變更追蹤 。 請注意變更通知的下列限制:

  • 如果事件接收者認可事件,但因任何原因而無法對事件採取行動,則事件可能會遺失。
  • 接收變更的順序不保證為時序。
  • 變更通知不一定包含 資源資料 基於上述原因,開發人員通常會使用變更通知以及同步處理案例的變更追蹤。

案例 6:在 Microsoft Entra ID 中布建使用者和群組

我的應用程式會建立客戶在 Microsoft Entra ID 中需要之使用者的相關資訊。 這可能是 HR 應用程式,而不是管理招聘、建立使用者電話號碼的通訊應用程式,或產生 Microsoft Entra ID 中價值之資料的一些其他應用程式。 如何?使用該資料填入 Microsoft Entra ID 中的使用者記錄?

建議 Microsoft 圖表會公開 /Users 和 /Groups 端點,您可以將其與目前整合,以將使用者布建至 Microsoft Entra ID。 請注意,Microsoft Entra ID 不支援將這些使用者寫回 Active Directory。

注意

Microsoft 有布建服務,可從 Workday 和 SuccessFactors 等 HR 應用程式提取資料。 這些整合是由 Microsoft 建置和管理。 若要將新的 HR 應用程式上線至我們的服務,您可以在 UserVoice 要求。