Share via


教學課程:驗證 SCIM 端點

本教學課程說明如何使用 Microsoft Entra SCIM 驗證程式來驗證您的布建伺服器是否與 Azure SCIM 用戶端相容。 本教學課程適用於想要建置 SCIM 相容伺服器的開發人員,以使用 Microsoft Entra 布建服務來管理其身分識別。

在本教學課程中,您會了解如何:

  • 選取測試方法
  • 設定測試方法
  • 驗證您的 SCIM 端點

必要條件

選取測試方法

第一個步驟是選取測試方法來驗證 SCIM 端點。

  1. 開啟網頁瀏覽器並流覽至 SCIM 驗證程式: https://scimvalidator.microsoft.com/

  2. 選取三個測試選項之一。 您可以使用預設屬性、自動探索架構或上傳架構。

    Screenshot of SCIM Validator main page.

使用預設屬性 - 系統提供預設屬性,並修改它們以符合您的需求。

探索架構 - 如果您的端點支援 /Schemas,此選項可讓工具探索支援的屬性。 建議您使用此選項,因為它可減少建置應用程式時更新應用程式的額外負荷。

上傳 Microsoft Entra 架構 - 上傳您從 Microsoft Entra 識別碼上的範例應用程式下載的架構。

設定測試方法

現在您已選取測試方法,下一個步驟是進行設定。

Screenshot of SCIM Validator attributes page.

  1. 如果您使用預設屬性選項,請填入所有指示的欄位。
  2. 如果您使用探索架構選項,請輸入 SCIM 端點 URL 和令牌。
  3. 如果您要上傳架構,請選取要上傳.json檔案。 此選項會接受從 Microsoft Entra 系統管理中心的範例應用程式導出的.json檔案。 若要瞭解如何匯出架構,請參閱 操作說明:匯出布建組態並回復至已知的良好狀態

注意

若要測試 群組屬性,請務必選取 [ 啟用群組測試]。

  1. 使用屬性清單結尾的 [新增屬性] 選項,以及頁面右側的減號,編輯使用者和群組類型所需的清單屬性。
  2. 從使用者和群組屬性清單中選取聯結屬性。

注意

聯結屬性,也稱為比對屬性,是使用者和群組資源可以在來源唯一查詢並在目標系統中比對的屬性。

驗證您的 SCIM 端點

最後,您必須測試及驗證端點。

  1. 選取 [測試架構 ] 開始測試。

  2. 檢閱結果,其中包含通過和失敗的測試摘要。

  3. 選取 [顯示詳細數據] 索引標籤,然後檢閱並修正問題。

  4. 繼續測試架構,直到所有測試都通過為止。

    Screenshot of SCIM Validator results page.

在 SCIM 驗證程式上使用表示式

SCIM 驗證程式支援使用表示式來產生屬性所需的值。

如何使用表達式

  1. 移至 [屬性] 頁面。
  2. 在您要自定義的屬性值數據行中,輸入您想要的表達式。
  3. 執行測試

注意

這些表達式適用於使用者和群組屬性。

可用的表達式

下表列出可用的表達式

運算式 意義 範例 結果
generateRandomString {字符串字元計數} 產生具有指定字母字元計數的隨機字串 {%generateRandomString 6%}@contoso.com CXJHYP@contoso.com
generateRandomNumber {Number of Number} 產生具有指定位數計數的隨機數 {%generateRandomNumber 4%} 8821
generateAlphaNumeric {Characters 計數} 使用字母和數位的混合產生隨機字串,並具有指定的字元計數 {%generateAlphaNumeric 7%} 59Q2M9W
generateAlphaNumericWithSpecialCharacters {Characters 計数} 根據指定的字元計數,產生具有字母、數位和特殊字元混合的隨機字串 {%generateAlphaNumericWithSpecialCharacters 8%}測試 D385N05'TEST

您可以在表達式之前或之後新增值,以達到所需的結果,例如,當您將 {% generateRandomString 6 %}@contoso.com 新增至 userName 屬性的值字段中時,它會在保留 contoso.com 定義域時產生新的 userName 值。

使用 Postman 測試端點 (選擇性)

除了使用 SCIM 驗證程式工具之外,您也可以使用 Postman 來驗證端點。 此範例會在Postman中提供一組測試。 此範例會驗證建立、讀取、更新和刪除 (CRUD) 作業。 這些作業會在使用者和群組上驗證、篩選、群組成員資格的更新,以及停用使用者。

端點位於 {host}/scim/ 目錄中,您可以使用標準 HTTP 要求與其互動。 若要修改/scim/路由,請參閱 AzureADProvisioningSCIMreference>ScimReferenceApi>Controllers 中的ControllerConstant.cs。

注意

您只能使用 HTTP 端點進行本機測試。 Microsoft Entra 布建服務需要您的端點支援 HTTPS。

  1. 下載 Postman 並啟動應用程式。

  2. 將此連結複製並貼到Postman以匯入測試集合: https://aka.ms/ProvisioningPostman

    Screenshot that shows importing the test collection in Postman.

  3. 建立具有這些變數的測試環境:

    Environment 變數
    使用 IIS Express 在本機執行專案
    Server localhost
    通訊埠 :44359(別忘了 :
    API scim
    使用 Kestrel 在本機執行專案
    Server localhost
    通訊埠 :5001(別忘了 :
    API scim
    在 Azure 中裝載端點
    Server (輸入 SCIM URL)
    通訊埠 (保留空白)
    API scim
  4. 使用 Postman 集合中的取得金鑰,將 GET 要求傳送至令牌端點,並擷取要儲存在令牌變數中的安全性令牌以供後續要求使用。

    Screenshot that shows the Postman Get Key folder.

    注意

    若要讓 SCIM 端點安全,您需要安全性令牌才能連線。 本教學課程會 {host}/scim/token 使用端點來產生自我簽署令牌。

介紹完畢 您現在可以執行 Postman 集合來測試 SCIM 端點功能。

清除資源

如果您在不再需要的測試中建立任何 Azure 資源,別忘了刪除它們。

Microsoft Entra SCIM 驗證器的已知問題

  • 尚未支援虛刪除(停用)。
  • 時區格式是隨機產生的,而且嘗試驗證它的系統會失敗。
  • 修補使用者移除屬性可能會嘗試移除特定系統的必要/必要屬性。 應該忽略這類失敗。

下一步