我正在尝试使用“使用网络登录 ID 的 Windows NT 身份验证”从 ODBC 数据源管理器创建到 SQL Server 数据库的连接。服务器和客户端都运行 Windows XP。
看起来任何具有管理员权限的帐户都可以在服务器上添加数据源*,但客户端的连接尝试会导致错误消息,表明它正在尝试使用访客帐户进行身份验证。
我发现Microsoft 支持页面说的是:
对于 SQL Server...:使用模拟的用户帐户进行连接。
但它没有提供关于如何要做到这一点。
如何在服务器上模拟用户帐户?
或者(因为这听起来会导致特权的不幸压缩和责任的丧失):
如何为客户端帐户提供服务器数据库的权限,然后确保客户端尝试使用特权帐户而不是来宾帐户进行身份验证?
我知道我提供的信息比较少。这是因为我不熟悉这个领域,不知道什么是相关的。我会尽快添加任何所需信息。
*我计划在它正常运行后立即加强权限。
答案1
听起来你会从描述 Microsoft SQL Server 安全系统背后的“基础知识”的文档中受益。
我会看看这些与校长,权限, 和担保物了解如何在 SQL Server 中以细粒度的方式应用用户/组访问对象的权限。
这些文档有点抽象,但它们是实际的细节。
除了微软,还有非常好的“小抄”那罗宾·佩奇写道,为安全模型提供了良好的背景。
从 10,000 英尺的视角来看,您要做的就是创建 Active Directory 组(您将使用户成为其成员),并向这些组授予对 SQL Server 计算机托管的资源(“安全对象”)的各种权限。您要处理的具体权限和安全对象取决于您的特定应用程序。如果某些用户需要对某些表的更新访问权限,或者需要执行某些存储过程的能力,您将使用 SQL Management Studio(或者,如果您使用的是 SQL Server 2000 或更早版本,则使用 Enterprise Manager)授予所需的权限。