该pymssql
模块声称支持 Kerberos 身份验证(和委托),但我似乎无法启用它。
我正在运行的客户端在 Windows 上。我需要通过反向数据库代理连接双跳。客户端、代理和数据库都是域的一部分。当我尝试连接 SQL Server Manager 时,我成功了。但是当我尝试连接pymssql
Python 中的模块时,它不起作用。如果我直接从客户端连接到数据库,我可以让 Kerberos 身份验证工作。但是同样,当我尝试通过代理时它失败了。
这使我相信 Kerberos 身份验证有效,但委派(双跳)无效。
根据关于 FreeTDS 的部分,我应该能够创建一个文件,C:/freetds.conf
它应该从那里读取连接信息。我似乎无法以任何有意义的方式验证这一点。此外,根据freetds 架构,我应该能够添加一个参数,该参数enable gssapi delegation
在启用时(默认关闭)允许 Kerberos 委派。
底线: 我希望在 Windows 上为 pymssql 启用 Kerberos 委派(以便双跳工作)。
目前我已经创建了一个文件C:/freetds.conf
并尝试了几种配置它的方法。
[global]
enable gssapi delegation = on
和
[global]
enable gssapi delegation = true