将Microsoft SQL Server的综合安全访问权限授予LocalSystem账户?

5
假设我的Web应用程序运行在Windows服务器上。它托管在Tomcat中,Tomcat作为Windows服务在LocalSystem账户下运行。它访问远程Windows服务器上的Microsoft SQL Server。我希望Web应用程序能够使用集成身份验证来对SQL Server进行身份验证。
从之前一个问题的答案中,我知道如果Tomcat在<your-domain-name>\A1账户下运行,以下SQL命令序列将启用集成身份验证。
CREATE LOGIN [<your-domain-name>\A1] FROM WINDOWS;
CREATE USER [<your-domain-name>\A1];
GRANT ... ON <object-name> TO [<your-domain-name>\A1];

如果可以的话,正确的SQL语法应该是在主机H1上向本地系统账户授予类似的权限。

"LocalSystem"和"LOCAL SERVICE"是两个非常不同的账户。 - Remus Rusanu
@RemusRusanu 我不是Windows专家(也不是Tomcat服务器的管理员 :) 如果Tomcat显然以“LocalSystem”而不是“LOCAL SERVICE”运行,这对我意味着什么? - Drux
你最初的标题是“本地服务”。对于这种情况,答案将非常不同,因为LOCAL SERVICE不允许远程身份验证,你将无法为其配置登录(除非授予ANONYMOUS LOGON登录权限,这是绝对不可取的)。 - Remus Rusanu
@RemusRusanu 您是正确的。标题有误。刚在Tomcat系统上检查了一下。在Windows服务下它说“登录为:本地系统”。感谢您的编辑。 - Drux
1个回答

7

本地系统 是指本地网络上的计算机帐户。计算机帐户由计算机名称和后缀 $ 标识。

因此,要在域 <your-domain-name> 上从主机 H1 创建 Local System 帐户的登录,您需要运行以下命令:

CREATE LOGIN [<your-domain-name>\H1$] FROM WINDOWS;

接下来,您可以运行以下命令授予权限给此帐户:

CREATE USER [<your-domain-name>\H1$] FOR LOGIN [<your-domain-name>\H1$];
GRANT ... ON <object-name> TO [<your-domain-name>\H1$];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接