【发布时间】:2015-04-08 11:44:32
【问题描述】:
pymssql 模块声称支持 Kerberos 身份验证(和委托),但我似乎无法启用它。
我正在运行的客户端是在 Windows 上。我需要通过反向数据库代理连接双跳。客户端、代理和数据库都是域的一部分。当我尝试连接 SQL Server Manager 时,我成功了。但是当我尝试连接 Python 中的 pymssql 模块时,它不起作用。如果我直接从客户端连接到数据库,我可以让 Kerberos 身份验证工作。但同样,当我尝试通过代理时它失败了。
这让我相信 Kerberos 身份验证有效,但委派(双跳)无效。
根据section on FreeTDS,我应该能够在C:/freetds.conf 创建一个文件,它应该从那里读取连接信息。我似乎无法以任何有意义的方式验证这一点。此外,根据the freetds schema,我应该能够添加一个参数enable gssapi delegation,启用时(默认关闭)允许 Kerberos 委派。
底线: 我希望在 Windows 上为 pymssql 启用 Kerberos 委派(以便双跳工作)。
目前我在C:/freetds.conf创建了一个文件,并尝试了几种配置方法。
[global]
enable gssapi delegation = on
和
[global]
enable gssapi delegation = true
【问题讨论】:
-
您是否有更改来评估我的答案?
-
机会,是的。我一直在寻找替代解决方案。我找到了一些,不幸的是我不能使用 Pymssql。我会接受你的回答,并奖励赏金。因为如果我无论如何都试图让它工作,那么你为我省去了一个长期的头痛,但徒劳无功。感谢您的努力,希望有更好的答案。
-
(更好的是我的意思是让我可以使用 pymssql)
-
你能在Windows下编译那个软件吗?补丁非常简单。
-
自定义编译超出了我所寻找的范围。我需要这个解决方案便于携带。
标签: python kerberos freetds pymssql kerberos-delegation