gpt4 book ai didi

asp.net - 匿名访问(IIS)和SQL Server

转载 作者:行者123 更新时间:2023-12-04 04:32:45 27 4
gpt4 key购买 nike

我刚刚在雷德蒙德接受了一次采访,他们问我有关asp.net的大量基于安全性的问题。他们提出的问题之一是有关配置安全的Intranet应用程序以使用约束委派来访问SQL Server。在这种情况下,将AD用户帐户委派访问SQL Server。当然,整个目的是:a)不要在Web服务器(web.config)上的任何位置存储任何用户名/密码,并且b)提供可以在Active Directory中进行管理的抽象安全模型。

这些使我开始思考这些年来如何配置我的站点以进行匿名访问。通常,我将使用默认的匿名帐户运行IIS网站,并将连接字符串存储在web.config中(已加密,有时以明文形式)。当然,这需要您的SQL Server在混合模式下运行。所以我的问题是,如果我们根本不将连接字符串存储在web.config中,而只是为特定网站创建了一个唯一的匿名域帐户,该帐户在SQL Server中具有db_datareader访问权限,该怎么办?有什么理由为什么这样做会是个坏主意?

我已经尝试过考虑所有这是个坏主意的情况,而我唯一能想到的是“黑客”破坏了Web服务器上的代码,然后以某种方式访问​​了SQL Server。 。但是这可能在两种情况下都发生。

有人知道这里的最佳做法吗?

最佳答案

在我工作的地方,我们有一个在特定域帐户下运行的Windows服务。该帐户在SQL Server中设置为登录帐户,并且需要访问的数据库中具有匹配的用户。我们从来没有任何问题。

我认为最重要的是正确配置数据库用户(或角色),以便它只能访问所需的数据库。

我已经考虑过使用AD来管理SQL访问,其方式与您在第一段中描述的方式类似。 (AD组-> SQL Server登录->数据库用户->数据库对象)到目前为止,我唯一看到的缺点是,如果用户直接连接到数据库,他们将绕过应用程序中的任何逻辑。好处之一是,您知道哪些域用户正在访问您的数据库。

关于asp.net - 匿名访问(IIS)和SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/496255/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com