Share via


使用 Microsoft Entra 驗證的 SQL Server 連結伺服器

適用於:SQL Server 2022 (16.x)

現在可以使用驗證與 Microsoft Entra ID (先前稱為 Azure Active Directory) 來設定連結的伺服器,並且支援兩種提供認證的機制:

  • 密碼
  • 存取權杖

本文假設有兩個 SQL Server 執行個體 (S1S2)。 兩個都已設定為支援 Microsoft Entra 驗證,而且它們信任彼此的 SSL/TLS 憑證。 本文中的範例會在伺服器 S1 上執行,以建立伺服器 S2 的連結伺服器。

必要條件

注意

S2 所使用的 SSL/TLS 憑證主體名稱必須符合 provstr 屬性中所提供的伺服器名稱。 這應該是 S2 的完整網域名稱 (FQDN) 或主機名稱

針對 Microsoft Entra 驗證進行連結的伺服器設定

我們將使用密碼驗證及使用 Azure 應用程式秘密或存取權杖來從頭至尾設定連結的伺服器。

使用密碼驗證進行連結的伺服器設定

注意

雖然 Microsoft Entra ID 是 Azure Active Directory (Azure AD) 的新名稱,但為了防止中斷現有的環境,Azure AD 仍會保留在某些硬式編碼元素中,例如 UI 字段、連線提供者、錯誤碼和 Cmdlet。 在本文中,這兩個名稱是可互換的。

對於密碼驗證,在 [提供者字串] 中使用 Authentication=ActiveDirectoryPassword 會向連結的伺服器示意使用 Microsoft EntraD 密碼驗證。 必須建立連結的伺服器登入,才能將 S1 上的每個登入對應到 S2 上的 Microsoft Entra 登入。

  1. 在 SSMS 中,連接到 S1 並在 [物件總管] 視窗中展開 [伺服器物件]

  2. 以滑鼠右鍵按一下 [連結的伺服器],並選取 [新增連結的伺服器]

  3. 填寫連結的伺服器詳細資料:

    • 連結的伺服器S2 或使用連結伺服器的名稱。
    • 伺服器類型Other data source
    • 提供者Microsoft OLE DB Driver for SQL Server
    • 產品名稱:保留空白。
    • 資料來源:保留空白。
    • 提供者字串Server=<fqdn of S2>;Authentication=ActiveDirectoryPassword
    • 目錄:保留空白。

    Screenshot of creating linked server with password authentication

  4. 選取 [安全性] 索引標籤。

  5. 選取 [新增]。

    • 本機登入:指定用來連接到 S1 的登入名稱。
    • 模擬:保持未核取。
    • 遠端使用者:用來連線到 S2 的 Microsoft Entra 使用者的使用者名稱,格式為 user@contoso.com
    • 遠端密碼:Microsoft Entra 使用者的密碼。
    • 對於上面清單中未定義的登入,連線將Not be made
  6. 選取 [確定]。

    Screenshot of setting security for linked server

使用存取權杖驗證進行連結的伺服器設定

對於存取權杖驗證,會在 [提供者字串] 中使用 AccessToken=%s 來建立連結的伺服器。 會建立連結的伺服器登入,以將 S1 中的每個登入對應到 Microsoft Entra 應用程式,其已被授與存取 S2 的登入權限。 該應用程式必須有一個指派給它的秘密,S1 將使用它來產生存取權杖。 可以透過瀏覽至 Azure 入口網站>Microsoft Entra ID>應用程式註冊>YourApplication>證書與密碼>新用戶端密碼來建立密碼。

Screenshot of creating a new client secret for an application in the Azure portal

  1. 在 SSMS 中,連接到 S1 並在 [物件總管] 視窗中展開 [伺服器物件]

  2. 以滑鼠右鍵按一下 [連結的伺服器],並選取 [新增連結的伺服器]

  3. 填寫連結的伺服器詳細資料:

    • 連結的伺服器S2 或使用連結伺服器的名稱。
    • 伺服器類型Other data source
    • 提供者Microsoft OLE DB Driver for SQL Server
    • 產品名稱:保留空白。
    • 資料來源:保留空白。
    • 提供者字串Server=<fqdn of S2>;AccessToken=%s
    • 目錄:保留空白。

    Screenshot of creating linked server with access token authentication

  4. 選取 [安全性] 索引標籤。

  5. 選取 [新增]。

    • 本機登入:指定用來連接到 S1 的登入名稱。
    • 模擬:保持未核取。
    • 遠端使用者:用來連線到 S2 的 Microsoft Entra 應用程式的用戶端識別碼。 您可以在 Microsoft Entra 應用程式的 [概觀] 功能表中找到 [應用程式 (用戶端) 識別碼]
    • 遠端密碼:從為應用程式建立新用戶端祕密中獲得的秘密識別碼
    • 對於上面清單中未定義的登入,連線將Not be made
  6. 選取 [確定]。

另請參閱