IIS PHP 使用 Windows 身份验证和最终用户标识连接到 MSSQL

IIS PHP connect to MSSQL using Windows Authentication and end-user identity

提问人:Mario 提问时间:9/28/2023 最后编辑:Dale KMario 更新时间:9/28/2023 访问量:39

问:

我们是本地的 Windows 服务器,在 IIS 后面运行 PHP,并在其他服务器上运行 SQL Server 群集。

有没有办法使用最终用户身份对来自我们的 PHP 应用程序的 SQL 请求进行身份验证?

更明确地说:使用 Windows 身份验证设置 IIS 是有效的,并且通过 AD 针对我们的 SQL Server 对 PHP 进程(IIS 中的应用程序池)进行身份验证已经完成。
我们想要实现的目标(而不是我们的安全团队)是将最终用户身份用于请求。
这样我们就可以将 SQL Server 中的 AD 用户/组的权限授予特定角色,而不仅仅是 PHP 进程。

谢谢。

php sql-server active-directory windows 身份验证

评论

2赞 ADyson 9/28/2023
为什么这是必要的或有用的?然后,如果用户精明,他们可以直接连接到数据库,并绕过应用程序中的任何业务逻辑。我的组织摆脱了所有这些,因为它存在安全和数据完整性风险,而且维护起来也太麻烦了。让应用程序处理执行某些操作或访问某些数据的授权,并执行更改验证。然后像现在一样使用通用标识连接到 sql。不要向最终用户授予对任何 SQL Server 的直接访问权限。无论如何,这将是我的建议。
1赞 ADyson 9/28/2023
此外,从 learn.microsoft.com/en-us/sql/connect/php/ 来看,它似乎表明不可能与最终用户的身份建立联系,尽管在 IIS 中使用模拟可能会起作用(尽管这本身可能会给您的网站带来您宁愿避免的其他复杂性)
1赞 Dale K 9/28/2023
是的,听起来像是一个非常糟糕的主意。
0赞 ADyson 9/28/2023
更让我担心的是,这种使安全更难监管的建议似乎来自一些被描述为“安全”团队的人......
0赞 Charlieface 9/29/2023
您需要在 IIS 中设置模拟,然后需要设置约束委派或基于资源的 CD,这意味着您需要让 IT 部门参与才能正确设置 Active Directory。

答: 暂无答案