對 Azure 虛擬機器上SQL Server實例的索引子連線

設定Azure SQL索引子以從 Azure 虛擬機器上的資料庫擷取內容時,安全連線需要額外的步驟。

從Azure 認知搜尋到虛擬機器上SQL Server實例的連線是公用網際網路連線。 若要讓安全連線成功,您必須滿足下列需求:

在 VM 上安裝憑證之後,您就可以完成本文中的下列步驟。

注意

認知搜尋索引子目前不支援Always Encrypted資料行。

啟用加密的連線

Azure 認知搜尋需要透過公用網際網路連線的所有索引子要求加密通道。 本節列出執行這項工作的步驟。

  1. 檢查憑證的屬性,以驗證主體名稱為 Azure VM 的完整網域名稱 (FQDN)。

    您可以使用 CertUtils 之類的工具或憑證嵌入式管理單元來檢視屬性。 您可以在 Azure 入口網站的 [公用 IP 位址/DNS 名稱標籤] 欄位中,從 VM 服務刀鋒視窗的 [程式集] 區段中取得 FQDN。

    FQDN 通常會格式化為 <your-VM-name>.<region>.cloudapp.azure.com

  2. 使用登錄編輯器 (regedit) 設定 SQL Server 以使用憑證。

    雖然通常會在這項工作中使用 SQL Server 組態管理員,但您在此案例中無法使用它。 它找不到匯入的憑證,因為 Azure 上 VM 的 FQDN 不符合 VM 所決定的 FQDN (它會將網域識別為本機電腦或其加入) 的網路網域。 當名稱不相符時,使用 regedit 來指定憑證。

    1. 在 regedit 中,瀏覽此登錄金鑰︰HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[MSSQL13.MSSQLSERVER]\MSSQLServer\SuperSocketNetLib\Certificate

      [MSSQL13.MSSQLSERVER] 部分將視版本和執行個體名稱而有所不同。

    2. [憑證 金鑰] 的值設定為 指紋 (,而不需要空格) 您匯入 VM 的 TLS/SSL 憑證。

    有數種方式可以取得指紋,有些方式較其他的更好。 如果您從 MMC 中的 [ 憑證 ] 嵌入式管理單元複製它,您可能會挑選不可見的前置字元, 如本支援文章所述,這會導致您嘗試連線時發生錯誤。 有數個因應措施可修正此問題。 最簡單的方法是按退格鍵,然後重新輸入指紋的第一個字元,在 regedit 中移除金鑰值欄位中的開頭字元。 或者,您可以使用不同的工具來複製指紋。

  3. 授與權限給服務帳戶。

    請確定已授與 TLS/SSL 憑證私密金鑰的適當許可權SQL Server服務帳戶。 如果您忽略此步驟,SQL Server將不會啟動。 針對這項工作,您可以使用憑證嵌入式管理單元或 CertUtils

  4. 重新啟動 SQL Server 服務。

連接至 SQL Server

設定Azure 認知搜尋所需的加密連線之後,您將透過其公用端點連線到實例。 下列文章說明連線需求和語法:

設定網路安全性群組

設定網路安全性群組和對應的 Azure 端點或存取控制清單 (ACL) 並不罕見,讓您的 Azure VM 可供其他物件存取。 您很可能過去已完成此設定,允許自己的應用程式邏輯連接至您的 SQL Azure VM。 與 SQL Azure VM 的Azure 認知搜尋連線並無不同。

下列連結提供 VM 部署的 NSG 組態相關指示。 請根據Azure 認知搜尋端點的 IP 位址,使用這些指示來 ACL。

  1. 取得搜尋服務的 IP 位址。 如需指示,請參閱 下一節

  2. 將搜尋 IP 位址新增至安全性群組的 IP 篩選清單。 下列其中一篇文章說明步驟:

如果您知道問題和可能的因應措施,IP 定址可能會造成一些容易克服的挑戰。 其餘各節提供與 ACL 中的 IP 位址相關的問題處理建議。

強烈建議您限制對搜尋服務的 IP 位址存取,以及 ACL 中服務標籤AzureCognitiveSearch IP 位址範圍,而不是讓SQL Azure VM 開放給所有連線要求。

例如,您可以 ping FQDN (來找出 IP 位址, <your-search-service-name>.search.windows.net 例如搜尋服務) 。 雖然搜尋服務 IP 位址可能會變更,但不太可能變更。 IP 位址在服務的存留期內通常會是靜態的。

您可以使用可下載的 JSON 檔案或透過服務標籤探索 API來找出服務標籤AzureCognitiveSearch IP 位址範圍。 IP 位址範圍每週更新。

包含Azure 認知搜尋入口網站 IP 位址

如果您使用 Azure 入口網站 建立索引子,您必須將入口網站輸入存取權授與SQL Azure虛擬機器。 防火牆中的輸入規則會要求您提供入口網站的 IP 位址。

若要取得入口網站 IP 位址,ping stamp2.ext.search.windows.net ,這是流量管理員的網域。 要求將會逾時,但 IP 位址會顯示在狀態訊息中。 例如,在訊息「Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]」中,IP 位址為 「52.252.175.48」。

不同區域中的叢集會連線到不同的流量管理員。 不論功能變數名稱為何,從 ping 傳回的 IP 位址都是定義區域中Azure 入口網站輸入防火牆規則時要使用的正確位址。

下一步

透過設定的方式,您現在可以在 Azure VM 上指定SQL Server作為Azure 認知搜尋索引子的資料來源。 如需詳細資訊,請參閱從 Azure SQL 編制資料的索引