使用 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
。完成連線設定檔,然後選取 [連線]。
成功連線之後,您的伺服器就會顯示在 [伺服器] 提要欄位中。