共用方式為


使用 SCIM 和 Microsoft Graph 一起佈建使用者,並使用您應用程式所需的資料來擴充應用程式

目標對象:此文章目標對象是建置要與 Microsoft Entra ID 整合之應用程式的開發人員。 若要使用已與 Microsoft Entra ID 整合的應用程式 (例如 Zoom、ServiceNow 和 DropBox),您可以略過這篇文章,並檢閱應用程式專屬的教學課程,或檢閱佈建服務的運作方式

常見場景

Microsoft Entra ID 提供現成可用的佈建服務,以及可在其上建置應用程式的可擴充平台。 決策樹會概述開發人員如何使用 SCIM \(英文\) 和 Microsoft Graph 來將佈建自動化。

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

SCIM Graph 決策樹

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

現今,IT 管理員會透過手動建立使用者帳戶,或定期將 CSV 檔案上傳至我的應用程式來佈建使用者。 此程序對客戶來說相當耗時,而且會讓我的應用程式的採用速度變慢。 我只需使用基本的使用者資訊 (例如,名稱、電子郵件和 userPrincipalName) 來建立使用者。

建議:

  • 如果您的客戶使用各種 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 ID 匯入群組,並在成員資格變更時讓其保持更新?

建議:支援符合 SCIM 規範的 /Groups 端點 \(英文\)。 Microsoft Entra 佈建服務將負責建立群組,並在您的應用程式中管理成員資格更新。

案例 4:使用來自 Microsoft 服務 (例如 Teams、Outlook 和 OneDrive) 的資料來擴充我的應用程式

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

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

案例 5:追蹤 Microsoft 服務 (例如 Teams、Outlook 和 Microsoft Entra ID) 中的變更

我必須能夠追蹤對 Teams 和 Outlook 訊息的變更,並即時做出反應。 如何將這些變更推送至我的應用程式?

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

  • 如果事件接收器確認了某個事件,但因任何原因而無法採取動作,可能就會遺失該事件。
  • 接收變更的順序不一定會依時間順序排列。
  • 變更通知不一定會包含資源資料。基於上述原因,開發人員通常會針對同步案例,使用變更通知以及變更追蹤。

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

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

建議:Microsoft Graph 會公開 /Users 和 /Groups 端點,讓您現在就能整合來將使用者佈建至 Microsoft Entra ID。 請注意,Microsoft Entra ID 不支援將這些使用者寫回 Active Directory。

注意

Microsoft 提供的佈建服務會從 Workday 和 SuccessFactors 之類的 HR 應用程式中提取資料。 這些整合均由 Microsoft 建置和管理。 若要將新的 HR 應用程式上線到我們的服務,您可以在 UserVoice \(英文\) 上提出要求。