主体(数据库引擎)
主体是可以请求 SQL Server 资源的实体。与 SQL Server 授权模型的其他组件一样,主体也可以按层次结构排列。主体的影响范围取决于主体定义的范围(Windows、服务器或数据库)以及主体是否不可分或是一个集合。例如,Windows 登录名就是一个不可分主体,而 Windows 组则是一个集合主体。每个主体都具有一个安全标识符 (SID)。
Windows 级别的主体
Windows 域登录名
Windows 本地登录名
SQL Server 级的主体
- SQL Server 登录名
数据库级的主体
数据库用户
数据库角色
应用程序角色
SQL Server sa 登录名
SQL Serversa 登录名是服务器级的主体。默认情况下,该登录名是在安装实例时创建的。在 SQL Server 2005 和 SQL Server 2008 中,sa 的默认数据库为 master。这是对早期版本的 SQL Server 的行为的更改。
public 数据库角色
每个数据库用户都属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的 public 角色的权限。
INFORMATION_SCHEMA 和 sys
每个数据库都包含两个实体:INFORMATION_SCHEMA 和 sys,它们都作为用户出现在目录视图中。这两个实体是 SQL Server 所必需的。它们不是主体,不能修改或删除它们。
基于证书的 SQL Server 登录名
名称由双井号 (##) 括起来的服务器主体仅供内部系统使用。下列主体是在安装 SQL Server 时通过证书创建,并且不应删除。
##MS_SQLResourceSigningCertificate##
##MS_SQLReplicationSigningCertificate##
##MS_SQLAuthenticatorCertificate##
##MS_AgentSigningCertificate##
##MS_PolicyEventProcessingLogin##
##MS_PolicySigningCertificate##
##MS_PolicyTsqlExecutionLogin##
客户端和数据库服务器
根据定义,客户端和数据库服务器是安全主体,可以得到保护。在建立安全的网络连接前,这些实体之间可以互相进行身份验证。SQL Server 支持 Kerberos 身份验证协议,该协议定义客户端与网络身份验证服务交互的方式。
有关在 SQL Server 中实现 Kerberos 支持的详细信息,请参阅Kerberos 身份验证与 SQL Server。