將使用者布建至 SQL 應用程式

下列檔提供組態和教學課程資訊,示範一般 SQL 連接器和可延伸 連線 ivity(ECMA) 主機如何搭配 SQL Server 使用。

本文件說明您需要執行的步驟,以將使用者從 Microsoft Entra ID 自動布建和取消布建到 SQL 資料庫。

如需此服務執行方式、運作方式和常見問題的重要詳細數據,請參閱 使用 Microsoft Entra ID內部部署應用程式佈建架構 文章將使用者布建和取消布建至 SaaS 應用程式。

下列影片提供內部部署布建的概觀。

布建至 SQL 資料庫 的必要條件

內部部署必要條件

應用程式依賴 SQL 資料庫,用戶可以在其中建立、更新和刪除記錄。 執行佈建代理程式的電腦應該具有:

  • Windows Server 2016 或更新版本。
  • 連線 目標資料庫系統,以及與 login.microsoftonline.com、其他 Microsoft Online ServicesAzure 網域的輸出連線能力。 例如裝載於 Azure IaaS 或 Proxy 後方的 Windows Server 2016 虛擬機。
  • 至少 3 GB 的 RAM。
  • .NET Framework 4.7.2。
  • SQL 資料庫的 ODBC 驅動程式。

透過精靈完成應用程式資料庫的連線設定。 視您選取的選項而定,某些精靈畫面可能無法使用,而且資訊可能稍有不同。 使用下列信息來引導您在設定中。

支援的資料庫

  • Microsoft SQL Server 和 Azure SQL
  • IBM DB2 9.x
  • IBM DB2 10.x
  • IBM DB2 11.5
  • Oracle 10g 和 11g
  • Oracle 12c 和 18c
  • MySQL 5.x
  • MySQL 8.x
  • Postgres

雲端需求

  • 具有 Microsoft Entra ID P1 或 進階版 P2 的 Microsoft Entra 租使用者(或 EMS E3 或 E5)。

    使用此功能需要 Microsoft Entra ID P1 授權。 若要尋找適合您需求的授權,請參閱比較 Microsoft Entra ID 正式推出的功能

  • 混合式身分識別 管理員 istrator 角色,用於設定布建代理程式和應用程式 管理員 istrator 或 Cloud Application 管理員 istrator 角色,以在 Azure 入口網站 中設定布建。

  • 要布建至資料庫的 Microsoft Entra 使用者必須已經填入資料庫架構所需的任何屬性,而且資料庫本身不會產生這些屬性。

準備範例資料庫

在本文中,您將設定 Microsoft Entra SQL 連接器,以與應用程式的關係資料庫互動。 一般而言,應用程式會使用其 SQL 資料庫中的數據表來管理存取權,且每個用戶在數據表中各有一個數據列。 如果您已經有具有資料庫的應用程式,請繼續進行下一節。

如果您還沒有具有適當數據表的資料庫,則為了示範目的,您應該建立一個可以允許使用 Microsoft Entra ID 的資料庫。 如果您使用 SQL Server,請執行附錄 A 中找到的 SQL 腳本。此文稿會建立名為 CONTOSO 的範例資料庫,其中包含單一資料表 Employees。 您要佈建使用者的這個資料庫資料表。

資料表資料行 來源
ContosoLogin Microsoft Entra 用戶主體名稱
FirstName Microsoft Entra 指定的名稱
LastName Microsoft Entra 姓氏
電子郵件 Exchange Online 電子郵件位址
InternalGUID 由資料庫本身產生
AzureID Microsoft Entra 對象識別碼
textID Microsoft Entra ID 郵件昵稱

判斷 Microsoft Entra SQL 連線 or 如何與您的資料庫互動

您必須在 SQL 實例中擁有用戶帳戶,並具有對資料庫數據表中的數據進行更新的許可權。 如果您的 SQL 資料庫是由其他人管理,請連絡他們以取得帳戶名稱和密碼,讓 Microsoft Entra ID 用來向資料庫進行驗證。 如果 SQL 實例安裝在不同的電腦上,您也必須確定 SQL 資料庫允許從代理程式電腦上的 ODBC 驅動程式連入連線。

如果您的應用程式已經有現有的資料庫,則必須判斷 Microsoft Entra ID 應該如何與該資料庫互動:透過資料庫中已有的預存程式,或透過您提供查詢和更新的 SQL 語句,直接與數據表和檢視互動。 此設定是因為應用程式在其資料庫中可能有更複雜的其他輔助數據表、需要具有數千個用戶的數據表分頁,或可能需要 Microsoft Entra ID 呼叫執行額外數據處理的預存程式,例如加密、哈希或有效性檢查。

當您建立連接器組態以與應用程式的資料庫互動時,您會先設定連接器主機如何讀取資料庫架構的方法,然後透過執行配置檔來設定連接器應持續使用的方法。 每個執行配置檔都會指定連接器應該如何產生 SQL 語句。 執行配置檔的選擇,以及執行配置檔內的方法,取決於資料庫引擎支援的內容和應用程式需要。

  • 設定之後,當布建服務啟動時,它會自動執行在完整匯入執行配置檔中設定的互動。 在此執行設定檔中,連接器會從應用程式資料庫讀取使用者的所有記錄,通常是使用 SELECT 語句。 此執行配置檔是必要的,以便稍後,如果 Microsoft Entra ID 需要為使用者進行變更,Microsoft Entra ID 將會知道更新資料庫中該使用者的現有記錄,而不是為該使用者建立新的記錄。

  • 每次在 Microsoft Entra 識別符中進行變更,例如將新使用者指派給應用程式或更新現有的使用者時,布建服務就會執行設定 導出 執行配置檔的 SQL 資料庫互動。 在匯出執行配置檔中,Microsoft Entra ID 會發出 SQL 語句來插入、更新和刪除資料庫中的記錄,以便讓資料庫的內容與 Microsoft Entra ID 同步。

  • 如果您的資料庫支援它,您也可以選擇性地設定 差異匯入 執行配置檔。 在此執行配置檔中,Microsoft Entra ID 將會讀取資料庫中所做的變更,而不是由 Microsoft Entra ID,因為上次完整或差異匯入。 此執行配置檔是選擇性的,因為它需要結構化資料庫,才能允許讀取變更。

在連接器的每個執行設定檔設定中,您將指定 Microsoft Entra 連接器是否應該為數據表或檢視產生自己的 SQL 語句、呼叫預存程式,或使用您提供的自定義 SQL 查詢。 一般而言,您將針對連接器中的所有執行配置檔使用相同的方法。

  • 如果您選取執行配置檔的 Table 或 View 方法,則 Microsoft Entra 連接器會產生必要的 SQL 語句 SELECT、INSERTUPDATEDELETE,以與資料庫中的數據表或檢視互動。 如果您的資料庫具有單一數據表或具有少數現有數據列的可更新檢視,則此方法是最簡單的方法。
  • 如果您選取 [預存程式] 方法,則您的資料庫必須有四個預存程式:讀取使用者頁面、新增使用者、更新使用者及刪除使用者,您將使用這些預存程式的名稱和參數來設定 Microsoft Entra 連接器。 這種方法需要 SQL 資料庫中的更多組態,而且通常只有在應用程式需要對用戶進行更多變更的處理時,才能透過大型結果集進行分頁。
  • 如果您選取 SQL Query 方法,則您會在執行設定檔期間輸入連接器要發出的特定 SQL 語句。 您將使用連接器在 SQL 語句中填入的參數來設定連接器,例如在匯入期間逐頁查看結果集,或設定匯出期間所建立之新使用者的屬性。

本文說明如何使用數據表方法來與匯出和完整匯入執行配置檔中的範例資料庫數據表Employees互動。 若要深入瞭解如何設定預存程式或 SQL 查詢方法,請參閱 提供更多詳細數據和特定需求的一般 SQL 組態指南

選擇應用程式資料庫架構中的唯一標識碼

大部分的應用程式都會有應用程式每個使用者的唯一標識碼。 如果您要布建至現有的資料庫數據表,您應該識別該數據表的數據行,該數據表具有每個使用者的值,其中該值是唯一且不會變更的。 此數據行將會是 Anchor,Microsoft Entra ID 用來識別現有的數據列,以便更新或刪除它們。 如需錨點的詳細資訊,請參閱 關於錨點屬性和辨別名稱

如果您的應用程式資料庫已經存在,且有使用者,而且您想要讓這些使用者保持最新狀態,則您必須擁有應用程序資料庫與 Microsoft Entra 架構之間相同每個使用者的識別碼。 例如,如果您將使用者指派給 Microsoft Entra ID 中的應用程式,且該使用者已經在該資料庫中,則 Microsoft Entra ID 中的該使用者變更應該更新該使用者的現有數據列,而不是新增新的數據列。 由於 Microsoft Entra 識別碼可能不會儲存該應用程式的內部識別碼給該使用者,因此您想要選取另一個數據行來 查詢 資料庫。 此數據行的值可以是用戶主體名稱,或電子郵件地址、員工標識碼或其他標識碼,存在於應用程式範圍內每個使用者的 Microsoft Entra ID 中。 如果應用程式使用的使用者標識碼不是儲存在 Microsoft Entra 中代表使用者的屬性,則您不需要使用擴充屬性擴充 Microsoft Entra 用戶架構,並從您的資料庫填入該屬性。 您可以使用 PowerShell 擴充 Microsoft Entra 架構並設定擴充值

將 Microsoft Entra 識別碼中的屬性對應至資料庫架構

當 Microsoft Entra ID 在 Microsoft Entra ID 中的使用者與資料庫中的記錄之間建立連結時,使用者已進入資料庫或新使用者,則 Microsoft Entra ID 可以將屬性變更從 Microsoft Entra 使用者布建到資料庫中。 除了唯一標識碼之外,請檢查您的資料庫,以識別是否有任何其他必要屬性。 如果有的話,請確定將布建到資料庫中的使用者具有可對應到必要屬性的屬性。

您也可以設定 取消布建 行為。 如果指派給應用程式的使用者在 Microsoft Entra ID 中刪除,則 Microsoft Entra ID 會將刪除作業傳送至資料庫。 當使用者超出能夠使用應用程式的範圍時,您可能也想要讓 Microsoft Entra ID 更新資料庫。 如果使用者未從應用程式指派、在 Microsoft Entra ID 中虛刪除或封鎖登入,您可以設定 Microsoft Entra ID 來傳送屬性變更。 如果您要布建至現有的資料庫數據表,則您會想要讓該數據表的數據行對應至 isSoftDeleted。 當使用者超出範圍時,Microsoft Entra ID 會將該使用者的值設定為 True

1.安裝 ODBC 驅動程式

您要安裝佈建代理程式的 Windows Server 需要目標資料庫的 ODBC 驅動程式。 如果您打算連線到 SQL Server 或 Azure SQL 資料庫,則您應該下載 適用於 SQL Server 的 ODBC 驅動程式 (x64), 並在 Windows Server 上安裝它。 如需其他 SQL 資料庫,請參閱獨立軟體廠商關於如何安裝 ODBC 驅動程式的指引。

2.建立 DSN 連線檔案

一般 SQL 連接器需要資料來源名稱 (DSN) 檔案才能連線到 SQL 端點。 首先,您必須使用 ODBC 連接資訊建立檔案。

  1. 在您的伺服器上啟動 ODBC 管理公用程式。 使用64位版本。

    Screenshot that shows ODBC management.

  2. 選取 [ 檔案 DSN ] 索引標籤,然後選取 [ 新增]。

    Screenshot that shows the File DSN tab.

  3. 如果您使用 SQL Server 或 Azure SQL,請選取 [SQL Server Native Client 11.0 ],然後選取 [ 下一步]。 如果您使用另一個資料庫,請選取其 ODBC 驅動程式。

    Screenshot that shows choosing a native client.

  4. 提供檔名,例如 GenericSQL,然後選取 [ 下一步]。 Screenshot that shows naming the connector.

  5. 選取 [完成]。

    Screenshot that shows Finish.

  6. 現在設定連線。 下列步驟會根據您使用的 ODBC 驅動程式而有所不同。 此圖例假設您使用驅動程式來連線到 SQL Server。 如果 SQL Server 位於不同的伺服器電腦上,請輸入伺服器的名稱。 然後選取下一步

    Screenshot that shows entering a server name.

  7. 如果您執行此步驟的使用者具有連線到資料庫的許可權,請保持選取 Windows 驗證。 如果 SQL Server 系統管理員需要 SQL 本機帳戶,請改為提供這些認證。 然後選取下一步

    Screenshot that shows Windows authentication.

  8. 輸入資料庫的名稱,在此範例中為 CONTOSO

    Screenshot that shows entering a database name.

  9. 在此畫面上保留所有預設值,然後選取 [ 完成]。

    Screenshot that shows selecting Finish.

  10. 若要檢查一切如預期般運作,請選取 [ 測試數據源]。

    Screenshot that shows Test Data Source.

  11. 請確定測試成功。

    Screenshot that shows success.

  12. 選取 [確定] 兩次。 關閉 ODBC 資料源 管理員 istrator。 DSN 連線檔案預設會儲存至您的 Documents 資料夾。

3.安裝和設定 Microsoft Entra 連線 布建代理程式

如果您已經下載布建代理程式,並將其設定為另一個內部部署應用程式,請繼續閱讀下一節。

  1. 登入 Azure 入口網站。
  2. 移至 [企業應用程式 ],然後選取 [ 新增應用程式]。
  3. 搜尋 內部部署 ECMA 應用程式 應用程式、提供應用程式名稱,然後選取 [建立 ] 將它新增至您的租使用者。
  4. 從功能表中,瀏覽至應用程式的 [ 布建 ] 頁面。
  5. 選取開始使用
  6. 在 [ 布建] 頁面上,將模式變更為 [自動]。

Screenshot of selecting Automatic.

  1. [內部部署 連線 ivity] 底下,選取 [下載並安裝],然後選取 [接受條款及下載]。

Screenshot of download location for agent.

  1. 離開入口網站並執行布建代理程式安裝程式、同意服務條款,然後選取 [ 安裝]。
  2. 等候 Microsoft Entra 布建代理程式設定精靈,然後選取 [ 下一步]。
  3. 在 [ 選取擴充功能 ] 步驟中,選取 [內部部署應用程式布建 ],然後選取 [ 下一步]。
  4. 布建代理程式會使用操作系統的網頁瀏覽器來顯示彈出視窗,讓您向 Microsoft Entra ID 進行驗證,並可能也會顯示組織的識別提供者。 如果您使用 Internet Explorer 做為 Windows Server 上的瀏覽器,您可能需要將 Microsoft 網站新增至瀏覽器的信任網站清單,以允許 JavaScript 正確執行。
  5. 當系統提示您授權時,請提供 Microsoft Entra 系統管理員的認證。 用戶必須具備混合式身分識別 管理員 istrator 或 Global 管理員 istrator 角色。
  6. 選取 [ 確認 ] 以確認設定。 安裝成功之後,您可以選取 [ 結束],並關閉 [布建代理程式套件安裝程式]。

4.設定內部部署 ECMA 應用程式

  1. 回到入口網站的 [內部部署 連線 ivity] 區段上,選取您部署的代理程式,然後選取 [指派代理程式]。

    Screenshot that shows how to select and assign and agent.

  2. 當您使用設定精靈完成下一個步驟的設定時,請保持此瀏覽器窗口開啟。

5.設定 Microsoft Entra ECMA 連線 or 主機憑證

  1. 在安裝布建代理程式的 Windows Server 上,以滑鼠右鍵按兩下 [開始] 選單中的 [Microsoft ECMA2Host 設定精靈 ],然後以系統管理員身分執行。 精靈必須以 Windows 系統管理員身分執行,才能建立必要的 Windows 事件記錄檔。

  2. ECMA 連線 or 主機組態啟動之後,如果這是您第一次執行精靈,則會要求您建立憑證。 保留預設埠 8585 ,然後選取 [產生憑證 ] 以產生憑證。 自動產生的憑證將會自我簽署為受信任根目錄的一部分。 憑證 SAN 符合主機名。

    Screenshot that shows configuring your settings.

  3. 選取 [儲存]

注意

如果您選擇產生新的憑證,請記錄憑證到期日,以確保您排程返回設定精靈,並在憑證到期之前重新產生憑證。

6.建立一般 SQL 連接器

在本節中,您會為資料庫建立連接器組態。

6.1 設定 SQL 連線

若要建立一般 SQL 連接器,請遵循下列步驟:

  1. 產生將用來向連接器驗證 Microsoft Entra 識別碼的秘密令牌。 每個應用程式至少應為 12 個字元且是唯一的。

  2. 如果您尚未這麼做,請從 Windows [開始] 功能表 啟動 Microsoft ECMA2Host 設定精靈

  3. 選取新增連接器

    Screenshot that shows choosing New Connector.

  4. 在 [ 屬性] 頁面上,填入方塊中指定於影像後面的數據表中指定的值,然後選取 [ 下一步]。

    Screenshot that shows entering properties.

    屬性
    名稱 您為連接器選擇的名稱,在環境中的所有連接器中都應該是唯一的。 例如,如果您只有 SQL 資料庫, 則 SQL為 。
    自動同步定時器 (分鐘) 120
    秘密令牌 輸入您為此連接器產生的秘密令牌。 機碼至少應為 12 個字元。
    擴充功能 DLL 針對一般 SQL 連接器,選取 [Microsoft.IAM.連線或。GenericSql.dll。
  5. [連線 ivity] 頁面上,在方塊中填入影像後面的表格中指定的值,然後選取 [下一步]。

    Screenshot that shows the Connectivity page.

    屬性 說明
    DSN 檔案 您在上一個步驟中建立的數據源名稱檔案,用來連線到 SQL 實例。
    使用者名稱 有權更新 SQL 實例中數據表之帳戶的用戶名稱。 如果目標資料庫是 SQL Server,而您使用的是 Windows 驗證,則獨立伺服器的使用者名稱格式必須為 hostname\sqladminaccount,或網域成員伺服器的 domain\sqladminaccount。 對於其他資料庫,用戶名稱將會是資料庫中的本機帳戶。
    密碼 提供之使用者名稱的密碼。
    DN 為錨點 除非您的環境已知需要這些設定,否則請勿選取 [DN] 為 [錨點 ] 和 [導出類型:物件取代 ] 複選框。

6.2 從資料庫擷取架構

提供認證之後,ECMA 連線 or 主機便已準備好擷取資料庫的架構。 繼續執行 SQL 聯機組態:

  1. 在 [ 架構 1] 頁面上,您將指定物件類型清單。 在這裡範例中,有單一物件類型 User 在方塊中填入影像後面的數據表中指定的值,然後選取 [ 下一步]。

    Screenshot that shows the Schema 1 page.

    屬性
    對象類型偵測方法 固定值
    固定值清單/數據表/檢視/SP User
  2. 選取 [下一步] 之後,下一頁會自動顯示物件類型的組態User。 在 [ 架構 2 ] 頁面上,您將指出使用者在資料庫中的表示方式。 在此範例中,它是名為 Employees的單一 SQL 數據表。 在方塊中填入影像後面的數據表中指定的值,然後選取 [ 下一步]。

    Screenshot that shows the Schema 2 page.

    屬性
    User:Attribute Detection Table
    User:Table/View/SP 資料庫中數據表的名稱,例如 Employees

    注意

    如果發生錯誤,請檢查您的資料庫組態,以確保您在 連線 ivity 頁面上指定的使用者具有資料庫的架構讀取許可權。

  3. 選取 [下一步] 之後,下一頁會自動出現,讓您選取您稍早指定的數據表數據行,例如Employees此範例中的數據表,以作為Anchor使用者的 和 DN 。 這些數據列包含資料庫中的唯一標識碼。 您可以使用相同或不同的數據行,但請確定此資料庫中已有任何數據列在這些數據行中都有唯一的值。 在 [ 架構 3 ] 頁面上,在方塊中填入影像後面的數據表中指定的值,然後選取 [ 下一步]。

    Screenshot that shows the Schema 3 page.

    屬性 說明
    針對下列項目選取 [錨點]:[使用者] 要用於錨點之資料庫數據表的數據行,例如 User:ContosoLogin
    選取 [使用者] 的 [DN] 屬性 要用於 DN 屬性的資料庫數據行,例如 AzureID
  4. 選取 [下一步] 之後,下一頁會自動出現,讓您確認數據表中每個數據行的Employee數據類型,以及連接器是否應該匯入或匯出它們。 在 [ 架構 4 ] 頁面上,保留預設值,然後選取 [ 下一步]。

    Screenshot that shows the Schema 4 page.

  5. 在 [ 全域 ] 頁面上,填入方塊,然後選取 [ 下一步]。 使用影像後面的表格,以取得個別方塊的指引。

    Screenshot that shows the Global page.

    屬性 說明
    差異策略 針對IBM DB2,選取 None
    浮浮水印 針對IBM DB2,輸入 SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1;
    數據來源日期時間格式 針對 SQL Server yyyy-MM-dd HH:mm:ss 和 IBM DB2, YYYY-MM-DD
  6. 在 [ 數據分割] 頁面上,選取 [ 下一步]。

    Screenshot that shows the Partitions page.

6.3 設定執行配置檔

接下來,您將設定 匯出完整匯 入執行設定檔。 當 ECMA 連線 or 主機需要將變更從 Microsoft Entra ID 傳送至資料庫、插入、更新和刪除記錄時,將會使用匯出執行配置檔。 當 ECMA 連線 or 主機服務啟動時,將會使用完整匯入執行配置檔,以讀取資料庫目前的內容。 在此範例中,您將在這兩個執行配置檔中使用 Table 方法,讓 ECMA 連線 or Host 產生必要的 SQL 語句。

繼續執行 SQL 聯機組態:

  1. 在 [ 執行配置檔] 頁面上,保留 [ 導出] 複選框。 選取 [ 完整匯入 ] 複選框,然後選取 [ 下一步]。

    Screenshot that shows the Run Profiles page.

    屬性 說明
    Export 執行會將數據匯出至 SQL 的設定檔。 此執行配置檔是必要的。
    完整匯入 執行配置檔,該配置檔會從稍早指定的 SQL 來源匯入所有數據。
    差異匯入 執行配置檔,其只會匯入自上次完整或差異匯入后從SQL進行的變更。
  2. 選取 [下一步] 之後,下一頁會自動出現,讓您設定匯出執行配置檔的方法。 在 [ 導出 ] 頁面上,填入方塊,然後選取 [ 下一步]。 使用影像後面的表格,以取得個別方塊的指引。

    Screenshot that shows the Export page.

    屬性 說明
    作業方法 Table
    數據表/檢視/SP 與在 [架構 2] 索引標籤上設定的相同數據表,例如 Employees
  3. 在 [ 完整匯 入] 頁面上,填入方塊,然後選取 [ 下一步]。 使用影像後面的表格,以取得個別方塊的指引。

    Screenshot that shows the Full Import page.

    屬性 說明
    作業方法 Table
    數據表/檢視/SP 與在 [架構 2] 索引標籤上設定的相同數據表,例如 Employees

6.4 設定屬性在 Microsoft Entra ID 中呈現的方式

在 SQL 連線設定的最後一個步驟中,設定屬性在 Microsoft Entra ID 中的呈現方式:

  1. 在 [ 物件類型 ] 頁面上,填入方塊,然後選取 [ 下一步]。 使用影像後面的表格,以取得個別方塊的指引。

    • 錨點:此屬性的值對於目標資料庫中的每個物件而言都應該是唯一的。 Microsoft Entra 布建服務會在初始循環之後使用此屬性來查詢 ECMA 連接器主機。 此錨點值應該與您稍早在 [架構 3] 頁面上設定的錨點數據行相同。
    • 查詢屬性:此屬性應該與錨點相同。
    • DN在大部分情況下,應該選取 [自動產生 ] 選項。 如果未選取它,請確定 DN 屬性會對應至 Microsoft Entra 識別碼中的屬性,該屬性會以下列格式儲存 DN: CN = anchorValue, Object = objectType。 如需錨點和 DN 的詳細資訊,請參閱 關於錨點屬性和辨別名稱
    屬性 說明
    目標物件 User
    錨點 在 [架構 3] 索引標籤中設定的數據行,例如 ContosoLogin
    查詢屬性 與錨點相同的數據行,例如 ContosoLogin
    DN 與在 [架構 3] 索引標籤中設定的數據行相同,例如 ContosoLogin
    自動產生 已選取
  2. ECMA 連接器主機會探索目標資料庫所支援的屬性。 您可以選擇要公開給 Microsoft Entra 識別碼的其中一個屬性。 然後,您可以在布建 Azure 入口網站 中設定這些屬性。 在 [ 選取屬性] 頁面上,一次新增一個下拉式清單中的所有屬性。

[ 屬性 ] 下拉式清單會顯示在目標資料庫中探索到的任何屬性,且 在上一 個 [選取屬性 ] 頁面上選擇。 新增所有相關屬性之後,請選取 [ 下一步]。

Screenshot of attribute dropdown list.

  1. 在 [取消布建] 頁面上的 [停用流程] 底下,選取 [刪除]。 在上一個頁面上選取的屬性將無法在取消布建頁面上選取。 選取 [完成]

注意

如果您使用 Set 屬性值,請注意只允許布林值

Screenshot that shows the Deprovisioning page.

7.確定ECMA2Host服務正在執行

  1. 在執行 Microsoft Entra ECMA 連線 or Host 的伺服器上,選取 [啟動]。

  2. 輸入 run ,然後在方塊中輸入 services.msc

  3. 在 [ 服務 ] 清單中,確定 Microsoft ECMA2Host 存在且正在執行。 如果沒有,請選取 [ 開始]。

    Screenshot that shows the service is running.

如果您要連線到新的資料庫或空白且沒有用戶的資料庫,請繼續進行下一節。 否則,請遵循下列步驟來確認連接器已從資料庫識別出現有的使用者。

  1. 如果您最近已啟動服務,且資料庫中有許多用戶物件,則請等候數分鐘,讓連接器與資料庫建立連線。

8.在 Azure 入口網站 中設定應用程式連線

  1. 返回您設定應用程式布建所在的網頁瀏覽器視窗。

    注意

    如果視窗逾時,您必須重新選取代理程式。

    1. 登入 Azure 入口網站。
    2. 移至企業應用程式和內部部署 ECMA 應用程式應用程式
    3. 選取 [布 ]。
    4. 如果 [開始使用] 出現,請將模式變更為 [自動],請在 [內部部署 連線 ivity] 區段上,選取您部署的代理程式,然後選取 [指派代理程式]。 否則,請移至 [ 編輯布建]。
  2. 在 [管理員 認證] 區段底下,輸入下列 URL。 將 {connectorName} 部分取代為 ECMA 連接器主機上的連接器名稱,例如 SQL。 連接器名稱區分大小寫,且大小寫應與精靈中設定的相同大小寫。 您也可以將 取代 localhost 為您的電腦主機名。

    屬性
    租使用者 URL https://localhost:8585/ecma2host_{connectorName}/scim
  3. 輸入您在建立連接器時定義的秘密令牌值。

    注意

    如果您剛將代理程式指派給應用程式,請等候 10 分鐘才能完成註冊。 在註冊完成之前,連線測試將無法運作。 藉由重新啟動伺服器上的布建代理程式,強制代理程序註冊完成,可以加速註冊程式。 移至您的伺服器,在 Windows 搜尋列中搜尋服務、識別 Microsoft Entra 連線 布建代理程式服務、以滑鼠右鍵按兩下服務,然後重新啟動。

  4. 選取 [測試 連線,然後等候一分鐘。

    Screenshot that shows assigning an agent.

  5. 線上測試成功並指出提供的認證已獲授權啟用布建之後,請選取 [ 儲存]。

    Screenshot that shows testing an agent.

9.設定屬性對應

現在,您必須在 Microsoft Entra ID 中代表使用者與內部部署應用程式 SQL 資料庫中使用者表示法之間對應屬性。

您將使用 Azure 入口網站 來設定 Microsoft Entra 使用者屬性與先前在 ECMA 主機設定精靈中選取的屬性之間的對應。

  1. 確定 Microsoft Entra 架構包含資料庫所需的屬性。 如果資料庫需要使用者具有 屬性,例如 uidNumber,而且該屬性尚未成為使用者 Microsoft Entra 架構的一部分,則您必須使用 目錄延伸模組功能 ,將該屬性新增為延伸模組。

  2. 在 Microsoft Entra 系統管理中心的 [企業應用程式] 下,選取 [內部部署 ECMA 應用程式] 應用程式,然後選取 [布建] 頁面。

  3. 選取 [ 編輯布建],然後等候 10 秒。

  4. 展開 [對應] ,然後選取 [ 布建 Microsoft Entra ID 使用者 ] 對應。 如果這是您第一次設定此應用程式的屬性對應,則這是佔位元的唯一對應。

    Screenshot that shows provisioning a user.

  5. 若要確認 Microsoft Entra ID 中有可用的資料庫架構,請選取 [顯示進階選項 ] 複選框,然後選取 [編輯 ScimOnPremises 的屬性清單]。 確定已列出組態精靈中選取的所有屬性。 如果沒有,請等候數分鐘讓架構重新整理,然後重載頁面。 一旦您看到列出的屬性,請關閉頁面以返回對應清單。

  6. 現在,按兩下 userPrincipalName PLACEHOLDER 對應。 當您第一次設定內部部署布建時,預設會新增此對應。

Screenshot of placeholder. 變更屬性的值以符合下列專案:

對應類型 來源屬性 目標屬性
直接 userPrincipalName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:ContosoLogin

Screenshot of changing value.

  1. 現在選取 [ 新增對應],然後針對每個對應重複下一個步驟。

    Screenshot that shows Add New Mapping.

  2. 針對下表中的每個對應指定來源和目標屬性。

    Screenshot that shows saving the mapping.

    對應類型 來源屬性 目標屬性
    直接 userPrincipalName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:ContosoLogin
    直接 objectId urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:AzureID
    直接 郵件 urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:Email
    直接 givenName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:FirstName
    直接 surname urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:LastName
    直接 mailNickname urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:textID
  3. 新增所有對應之後,請選取 [ 儲存]。

10.將使用者指派給應用程式

現在您已擁有與 Microsoft Entra ID 交談的 Microsoft Entra ECMA 連線 or Host,而且已設定屬性對應,您可以繼續設定布建範圍中的人員。

重要

如果您使用混合式身分識別 管理員 istrator 角色登入,則必須使用具有 Application 管理員 istrator、Cloud Application 管理員 istrator 或 Global 管理員 istrator 角色的帳戶註銷並登入。 混合式身分識別 管理員 istrator 角色沒有將使用者指派給應用程式的許可權。

如果 SQL 資料庫中有現有的使用者,則您應該為那些現有的使用者建立應用程式角色指派。 若要深入瞭解如何大量建立應用程式角色指派,請參閱 在 Microsoft Entra ID 中控管應用程式的現有使用者。

否則,如果沒有應用程式的目前使用者,請從將布建至應用程式的 Microsoft Entra 中選取測試使用者。

  1. 請確定使用者具有將對應至資料庫架構所需屬性的所有屬性。

  2. 在 Azure 入口網站 中,選取 [企業應用程式]。

  3. 選取內部 部署 ECMA 應用程式應用程式

  4. 在左側的 [管理] 底下,選取 [使用者和群組]。

  5. 選取 [ 新增使用者/群組]。

    Screenshot that shows adding a user.

  6. 在 [使用者] 底下,選取 [未選取]。

    Screenshot that shows None Selected.

  7. 從右側選取使用者,然後選取 [ 選取 ] 按鈕。

    Screenshot that shows Select users.

  8. 現在選取 [ 指派]。

    Screenshot that shows Assign users.

11.測試布建

現在已對應您的屬性並指派使用者,您可以測試隨選布建與其中一位使用者。

  1. 在 Azure 入口網站 中,選取 [企業應用程式]。

  2. 選取內部 部署 ECMA 應用程式應用程式

  3. 在左側,選取 [ 布建]。

  4. 選取 [ 隨選布建]。

  5. 搜尋其中一個測試用戶,然後選取 [ 布建]。

    Screenshot that shows testing provisioning.

  6. 幾秒鐘後,目標系統中成功建立的使用者會出現訊息,其中包含使用者屬性清單。

12.開始布建使用者

  1. 在隨選布建成功之後,請變更回 [布建組態] 頁面。 確定範圍設定為僅指派的使用者和群組、開啟布建,然後選取 [儲存]。

    Screenshot that shows Start provisioning.

  2. 等候數分鐘才能開始布建。 最多可能需要 40 分鐘的時間。 布建作業完成之後,如下一節所述,如果您完成測試,您可以將布建狀態變更為 [關閉],然後選取 [ 儲存]。 此動作會停止布建服務在未來執行。

針對布建錯誤進行疑難解答

如果顯示錯誤,請選取 [ 檢視布建記錄]。 查看記錄中是否有狀態為 [失敗] 的數據列,然後選取該數據列。

如果錯誤訊息為 無法建立使用者,請檢查根據資料庫架構需求顯示的屬性。

如需詳細資訊,請變更為 [疑難解答與 建議] 索引標籤。如果 ODBC 驅動程式傳回訊息,可以在這裡顯示它。 例如,訊息 ERROR [23000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'FirstName', table 'CONTOSO.dbo.Employees'; column does not allow nulls. 是 ODBC 驅動程式的錯誤。 在此情況下, column does not allow nulls 可能表示 FirstName 資料庫中的數據行為必要,但布建的用戶沒有 givenName 屬性,因此無法布建使用者。

檢查使用者是否已成功布建

等候之後,請檢查 SQL 資料庫,以確保使用者已布建。

Screenshot checking that users are provisioned.

附錄 A

如果您使用 SQL Server,您可以使用下列 SQL 腳本來建立範例資料庫。

---Creating the Database---------
Create Database CONTOSO
Go
-------Using the Database-----------
Use [CONTOSO]
Go
-------------------------------------

/****** Object:  Table [dbo].[Employees]    Script Date: 1/6/2020 7:18:19 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Employees](
	[ContosoLogin] [nvarchar](128) NULL,
	[FirstName] [nvarchar](50) NOT NULL,
	[LastName] [nvarchar](50) NOT NULL,
	[Email] [nvarchar](128) NULL,
	[InternalGUID] [uniqueidentifier] NULL,
	[AzureID] [uniqueidentifier] NULL,
	[textID] [nvarchar](128) NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Employees] ADD  CONSTRAINT [DF_Employees_InternalGUID]  DEFAULT (newid()) FOR [InternalGUID]
GO

下一步