搭配 Synapse SQL 使用多重要素 Microsoft Entra 驗證 (MFA 的 SSMS 支援)

Synapse SQL 支援使用 Active Directory 通用驗證 從 SQL Server Management Studio (SSMS) 連線

本文討論各種驗證選項之間的差異,以及使用通用驗證相關聯的限制。

下載最新的 SSMS - 在用戶端電腦上,從下載 SQL Server Management Studio (SSMS) 下載最新版的 SSMS。

對於本文討論的所有功能,請至少使用 2017 年 7 月的 17.2 版。 最近的連線對話方塊看起來應該會類似下圖:

Screenshot shows Connect to Server dialog box where you can select a server name and authentication option.

五個驗證選項

Active Directory 通用驗證支援兩種非互動式驗證方法:- Active Directory - Password 驗證 - Active Directory - Integrated 驗證

也有兩種非互動式驗證模型,可用於許多不同的應用程式(ADO.NET、JDCB、ODC 等)。 這兩種方法絕對不會產生快顯對話方塊:

  • Active Directory - Password
  • Active Directory - Integrated

互動式方法也支援 Microsoft Entra 多重要素驗證 (MFA) 為:

  • Active Directory - Universal with MFA

Microsoft Entra 多重要素驗證有助於保護對資料和應用程式的存取,同時滿足使用者對簡單登入程式的需求。 它利用各種簡單的驗證選項來提供強大的驗證 (包括電話、簡訊、含有 Pin 的智慧卡或行動應用程式通知),讓使用者能夠選擇自己喜歡的方式。 搭配 Microsoft Entra ID 使用互動式 MFA 時,會出現快顯對話方塊以進行驗證。

如需多重要素驗證的描述,請參閱 多重要素驗證

Microsoft Entra 功能變數名稱或租使用者識別碼參數

從 SSMS 第 17 版開始,從其他 Azure Active Directory 匯入至目前 Active Directory 的使用者作為來賓使用者,可以在連線時提供 Microsoft Entra 功能變數名稱或租使用者識別碼。

來賓使用者包括從其他 Azure AD、Microsoft 帳戶 (例如 outlook.com、hotmail.com、live.com) 或其他帳戶 (例如 gmail.com) 邀請的使用者。 這項資訊可讓 Active Directory Universal 搭配 MFA 驗證 來識別正確的驗證授權單位。 支援 Microsoft 帳戶 (MSA) (如 outlook.com、hotmail.com、live.com) 或非 MSA 帳戶時也需要此選項。

所有這些想要使用通用驗證進行驗證的使用者都必須輸入其 Microsoft Entra 功能變數名稱或租使用者識別碼。 此參數代表 Azure Server 所連結的目前 Microsoft Entra 功能變數名稱/租使用者識別碼。

例如,如果 Azure Server 與 Microsoft Entra 網域相關聯,其中使用者裝載為 Microsoft Entra 網域 contosotest.onmicrosoft.comcontosodev.onmicrosoft.com 的匯入使用者,則驗證此使用者的功能變數名稱為 contosotest.onmicrosoft.comjoe@contosodev.onmicrosoft.com

當使用者是連結至 Azure Server 且不是 MSA 帳戶的 Microsoft Entra ID 原生使用者時,不需要功能變數名稱或租使用者識別碼。

若要輸入參數(從 SSMS 17.2 版開始),請在 [連線至資料庫 ] 對話方塊中,完成對話方塊,選取 [Active Directory - 通用 MFA 驗證],選取 [選項 ],完成 [使用者名稱 ] 方塊,然後選取 [連線ion 屬性 ] 索引標籤。

核取 [AD 網域名稱或租用戶 ID] 方塊並提供驗證授權單位,如網域名稱 (contosotest.onmicrosoft.com) 或租用戶 ID 的 GUID。

Screenshot shows Connect to Server in the Connection Properties tab with values entered.

如果您執行 SSMS 18.x 或更新版本,則來賓使用者不再需要 AD 功能變數名稱或租使用者識別碼,因為 18.x 或更新版本會自動辨識它。

mfa-tenant-ssms

Microsoft Entra 企業對企業支援

以來賓使用者身分使用 Microsoft Entra B2B 案例支援的 Microsoft Entra 使用者(請參閱 什麼是 Azure B2B 共同 作業只能連線到 Synapse SQL,做為目前 Microsoft Entra ID 中建立之群組成員的一部分,並使用指定資料庫中的 Transact-SQL CREATE USER 語句手動對應。

例如,如果 steve@gmail.com 受邀加入 Azure AD contosotest (使用 Microsoft Entra 網域 contosotest.onmicrosoft.com ),則必須在包含 steve@gmail.com 成員的 Microsoft Entra 識別碼中建立 Microsoft Entra 群組 usergroup 。 然後,必須針對 Microsoft Entra SQL 系統管理員或 Microsoft Entra DBO 的特定資料庫建立此群組,方法是執行 Transact-SQL CREATE USER [usergroup] FROM EXTERNAL PROVIDER 語句。

建立資料庫使用者之後,使用者 steve@gmail.com 就可以使用 SSMS 驗證選項 Active Directory – Universal with MFA support 登入 MyDatabase

根據預設,使用者群組只有連線許可權,以及需要以正常方式授與的任何進一步資料存取權。

作為來賓使用者,必須核取方塊, steve@gmail.com 並在 [SSMS 連線ion 屬性 ] 對話方塊中新增 AD 功能變數名稱 contosotest.onmicrosoft.com只有通用 MFA 連線選項才支援 AD 功能變數名稱或租使用者識別碼 選項,否則會呈現灰色。

Synapse SQL 的通用驗證限制

  • SSMS 和 SqlPackage.exe 是目前唯一透過 Active Directory 通用驗證為 MFA 啟用的工具。
  • SSMS 17.2 版支援使用通用驗證搭配 MFA 的多使用者平行存取。 版本 17.0 和 17.1,將使用通用驗證的 SSMS 實例登入限制為單一 Microsoft Entra 帳戶。 若要以另一個 Microsoft Entra 帳戶登入,您必須使用另一個 SSMS 實例。 (此限制僅限於 Active Directory 通用驗證;您可以使用 Active Directory 密碼驗證、Active Directory 整合式驗證或 SQL Server 驗證登入不同的伺服器。
  • SSMS 支援 Active Directory 通用驗證,可使用物件總管、查詢編輯器及查詢存放區視覺效果。
  • SSMS 17.2 版針對匯出/擷取/部署資料資料庫提供 DacFx 精靈支援。 特定使用者使用通用驗證透過初始驗證對話方塊進行驗證後,DacFx 精靈的運作方式與所有其他驗證方法相同。
  • SSMS 資料表設計工具不支援通用驗證。
  • 除了您必須使用支援的 SSMS 版本之外,Active Directory 通用驗證並沒有其他軟體需求。
  • 通用驗證的 Active Directory 驗證程式庫 (ADAL) 版本已更新為最新的 ADAL.dll 3.13.9 可用版本。 請參閱 Active Directory 驗證程式庫 3.14.1

下一步

如需詳細資訊,請參閱 使用 SQL Server Management Studio 連線 Synapse SQL 一文。