【发布时间】:2017-07-26 09:10:46
【问题描述】:
我似乎找不到这个问题的明确答案。
问题:我正在使用 Octopus Deploy 运行一个可执行文件,该可执行文件将运行我的数据库迁移脚本。当 Octopus“Tentacle”Windows 服务以localsystem 运行时发生错误,该服务转换为NT AUTHORITY\System。
一种解决方案是更改 SQL 服务器安全设置并向 NT AUTHORITY\System 用户授予适当的角色,从而允许以 localsystem 用户身份运行的进程创建数据库。
进行此更改会带来哪些安全隐患?这将允许以localsystem 运行的任何进程对数据库执行操作,但鉴于我控制安装到服务器上的内容,这是一件坏事吗?
似乎在 SQL Server 2012 左右进行了更改,其中 localsystem 帐户以前默认为 sysadmin,但现在已更改。我看到的一件事是,此更改会阻止服务器管理员访问服务器,但鉴于您无论如何都无法以 localsystem 登录,因此我看不出这是怎么可能的。
我错过了什么?
参考资料:
https://dba.stackexchange.com/questions/142166/grant-sysadmin-permissions-to-nt-authority-system
【问题讨论】:
-
我会创建一个用于您的服务的特定帐户,并且只向该用户授予最低权限。根据this,运行向导的用户必须在您的 SQL Server 上具有创建数据库和授予权限的权限