【发布时间】:2022-08-10 23:24:29
【问题描述】:
我正在尝试连接到仅限于 Windows 身份验证的公司网络上的 Microsoft SQL Server 数据库。我已经配置了 Kerberos,并且 Kerberos 确实成功发出了票证,并且我可以在票证查看器中验证票证是否有效。但是,当我尝试在 Azure Data Studio 中连接并选择“Windows 身份验证”时,我收到消息“由于 Kerberos 错误导致连接失败”。
我的 krb5.conf 位于 ~/etc/krb5.conf 并且我遵循了配置说明here。
在连接到网络的 Windows 机器上,当我运行 setspn -L DATABASENAME 时,我显示:
Registered ServicePrincipalNames for CN=DATABASENAME,OU=Servers,OU=Data Center,DC=companyname,DC=com:
MSServerClusterMgmtAPI/DATABASENAME
MSServerClusterMgmtAPI/DATABASENAME.companyname.com
WSMAN/DATABASENAME
WSMAN/DATABASENAME.companyname.com
TERMSRV/DATABASENAME
TERMSRV/DATABASENAME.companyname.com
RestrictedKrbHost/DATABASENAME
HOST/DATABASENAME
RestrictedKrbHost/DATABASENAME.companyname.com
HOST/DATABASENAME.companyname.com
当我运行nslookup -type=srv _kerberos._tcp.companyname.com 时,我显示:
Server: UnKnown
Address: xx.x.x.163
Non-authoritative answer:
_kerberos._tcp.companyname.com SRV service location:
priority = 0
weight = 100
port = 88
svr hostname = dcname01.companyname.com
_kerberos._tcp.companyname.com SRV service location:
priority = 0
weight = 100
port = 88
svr hostname = dcname02.companyname.com
_kerberos._tcp.companyname.com SRV service location:
priority = 0
weight = 100
port = 88
svr hostname = dcname03.companyname.com
_kerberos._tcp.companyname.com SRV service location:
priority = 0
weight = 100
port = 88
svr hostname = dcname04.companyname.com
dcname01.comapnyname.com internet address = xx.x.x.47
dcname02.companyname.com internet address = xx.x.x.8
dcname03.companyname.com internet address = xx.xx.x.11
dcname04.companyname.com internet address = xx.xx.x.10
我配置 krb5.conf 文件的方式是:
[libdefaults]
default_realm = COMPANYNAME.COM
[realms]
COMPANYNAME.COM = {
kdc = dcname01.companyname.com
kdc = dcname02.companyname.com
kdc = dcname03.companyname.com
kdc = dcname04.companyname.com
}
我为 krb5.conf 尝试了许多不同的配置,包括以不同格式包含和省略不同的 k/v 对,但我尝试过的都没有奏效。我还尝试通过自制软件重新安装 krb5。
我在 macOS 12.3.1 上使用 Intel Mac。
什么会导致 Azure Data Studio 不承认我的 Kerberos 票证?
标签: sql-server authentication kerberos macos-monterey azure-data-studio