主体(数据库引擎)
“主体”是可以请求 SQL Server 资源的实体。 与 SQL Server 授权模型的其他组件一样,主体也可以按层次结构排列。 主体的影响范围取决于主体定义的范围(Windows、服务器或数据库)以及主体是否不可分或是一个集合。 例如,Windows 登录名就是一个不可分主体,而 Windows 组则是一个集合主体。 每个主体都具有一个安全标识符 (SID)。
Windows 级主体
Windows 域登录名
Windows 本地登录名
SQL Server-级别主体
SQL Server 登录
服务器角色
数据库级主体
数据库用户
数据库角色
应用程序角色
SQL Server sa 登录名
SQL Server sa 登录是服务器级主体。 默认情况下,该登录名是在安装实例时创建的。 从 SQL Server 2005 开始,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##
guest 用户
每个数据库包括一个 guest。 授予 guest 用户的权限由对数据库具有访问权限,但在数据库中没有用户帐户的用户继承。 无法删除来宾用户,但可以通过撤消来宾CONNECT
用户的权限将其禁用。 CONNECT
可以通过在 master 或 tempdb 以外的任何数据库中执行REVOKE CONNECT FROM GUEST
来撤销该权限。
客户端和数据库服务器
根据定义,客户端和数据库服务器是安全主体,可以得到保护。 在建立安全的网络连接前,这些实体之间可以互相进行身份验证。 SQL Server 支持 Kerberos 身份验证协议,该协议定义客户端如何与网络身份验证服务交互。
Related Tasks
下列主题包括在 SQL Server 联机丛书的本节中:
另请参阅
保护 SQL Server
sys.database_principals (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.sql_logins (Transact-SQL)
sys.database_role_members (Transact-SQL)
服务器级别角色
数据库级别的角色