SQL Server Express 2008安装程序允许您为每个服务分配不同的用户帐户.
对于开发环境,您会使用域用户,本地用户,NT Authority\NETWORK SERCVICE,NT Authority\Local System或其他一些帐户,为什么?
不建议使用本地系统,它是管理员等效帐户,因此可能导致可疑的编码,利用管理员权限,这是生产系统中不允许的,因为安全意识管理员/ DBA真的不喜欢以管理员身份运行服务.
根据服务器实例是否需要访问其他域资源,应确定应在哪个类型的低权限帐户下运行.
如果它不需要访问任何(非匿名)域资源,那么我通常会创建一个唯一的本地低权限帐户,以便在其下运行,以获得在同一身份上下文中不运行多个服务的额外安全性好处. 请注意,SQL Server或SQL Server代理服务不支持本地服务帐户.
如果它确实需要访问非匿名域资源,那么您有三个选项:
作为网络服务运行,该服务也是低权限帐户,但保留计算机网络凭据.
在本地服务帐户下运行
在具有低本地权限的自定义域帐户下运行.在开发人员帐户下运行的一个优点是,可以更轻松地将调试程序附加到您自己身份中的进程,而不会影响安全性,因此调试更容易(因为非管理员帐户没有权限默认情况下将调试程序附加到另一个身份进程).使用其他域帐户的一个缺点是管理这些帐户的开销,特别是因为每个开发人员的每个服务理想情况下应该具有唯一的凭据,因此如果开发人员要离开,则不会有任何泄漏.
我倾向于做的大部分内容不要求服务访问域资源,所以我倾向于使用我管理的唯一本地低权限帐户.我还专门作为非管理员用户运行(并且在XP SP2,Server 2003,Vista和Server 2008下都没有出现重大问题)所以当我遇到需要服务来访问域资源的情况时,我无后顾之忧关于使用我自己的域凭据(加上这种方式,我不必担心网络管理员有关创建/维护一堆非生产域身份).
这取决于.
本地系统 - 从来没有,这是一个太高的特权.
网络服务 - 也许,如果你需要连接到网络资源,但这是值得怀疑的.
本地服务 - 可能是最佳选择,有限权限,不解锁网络连接
本地互动用户?它真的需要拥有登录权限,还是充当用户?
域用户?善良不,除非您从其中访问网络驱动器; 如果SQL运行困难,则攻击者将针对域进行身份验证.