使用 Kerberos 將 Azure Data Studio 連線到 SQL Server
Azure Data Studio 支援使用 Kerberos 連線至 SQL Server。
若要在 macOS 或 Linux 上使用整合式驗證 (Windows 驗證),您必須設定將目前的使用者連結至 Windows 網域帳戶的 Kerberos 票證。
必要條件
若要開始,您需要:
存取已加入網域的 Windows 機器,以查詢您的 Kerberos 網域控制站。
SQL Server 應設定為允許 Kerberos 驗證。 針對在 UNIX 上執行的用戶端驅動程式,只有使用 Kerberos 才支援整合式驗證。 如需詳細資訊,請參閱使用 Kerberos 整合式驗證連線到 SQL Server。 針對您嘗試連線的每個 SQL Server 執行個體,應該都會註冊服務主體名稱 (SPN)。 如需詳細資訊,請參閱 註冊 Kerberos 連接的服務主體名稱。
檢查 SQL Server 是否已設定 Kerberos
登入 SQL Server 的主機電腦。 在 Windows 命令提示字元中,使用 setspn -L %COMPUTERNAME%
列出主機的所有 SPN。 確認有以 開頭 MSSQLSvc/HostName.contoso.com
的專案。 這些項目表示 SQL Server 已註冊 SPN 且已準備接受 Kerberos 驗證。
如果您無法存取 SQL Server 執行個體的主機,您可以從任何其他已加入相同 Active Directory 的 Windows 作業系統使用命令 setspn -L <SQLSERVER_NETBIOS>
,其中,<SQLSERVER_NETBIOS> 是 SQL Server 執行個體的主機電腦名稱。
取得 Kerberos 金鑰發佈中心
尋找 Kerberos 金鑰發佈中心 (KDC) 設定值。 在已加入 Active Directory 網域的 Windows 電腦上執行下列命令。
從命令列執行 nltest
,並將 「DOMAIN.CONTOSO.COM」 取代為您的功能變數名稱。
nltest /dsgetdc:DOMAIN.CONTOSO.COM
輸出類似下列範例:
DC: \\dc-33.domain.contoso.com
Address: \\2111:4444:2111:33:1111:ecff:ffff:3333
...
The command completed successfully
複製 DC 名稱,這是必要的 KDC 設定值。 在此情況下,它會 dc-33.domain.contoso.com。
將您的作業系統加入 Active Directory 網域控制站
sudo apt-get install realmd krb5-user software-properties-common python-software-properties packagekit
編輯檔案 /etc/network/interfaces
,讓 Active Directory 網域控制站的 IP 位址列為 dns-nameserver
。 例如:
<...>
# The primary network interface
auto eth0
iface eth0 inet dhcp
dns-nameservers **<AD domain controller IP address>**
dns-search **<AD domain name>**
注意
網路介面 (eth0) 可能會因不同電腦而有所不同。 若要找出您使用的是哪一個,請執行 ifconfig,並複製具有 IP 位址且已傳送和接收位元組的介面。
編輯此檔案之後,請重新啟動網路服務:
sudo ifdown eth0 && sudo ifup eth0
現在,檢查 /etc/resolv.conf
檔案是否包含如下的程式碼行:
nameserver **<AD domain controller IP address>**
加入 Active Directory 網域:
sudo realm join contoso.com -U 'user@CONTOSO.COM' -v
以下是預期的輸出:
<...>
* Success
測試票證授權票證的擷取
從 KDC 取得票證授權票證 (TGT)。
kinit username@DOMAIN.CONTOSO.COM
使用 klist
檢視可用的票證。 kinit
如果 成功,您應該會看到票證。
klist
以下是預期的輸出:
krbtgt/DOMAIN.CONTOSO.COM@ DOMAIN.CONTOSO.COM.
使用 Azure Data Studio 進行連線
建立新的連線設定檔。
選取 [Windows 驗證] 作為驗證類型。
針對 [伺服器],以 格式
hostname.DOMAIN.CONTOSO.COM
輸入完整主機名稱。完成連線設定檔,然後選取 [連線]。
成功連線之後,您的伺服器就會顯示在 [伺服器] 提要欄位中。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應