老系统还有10几台sqlserver数据库,最近需要对这些sqlserver的权限方面做一些梳理,这里先简单介绍下sqlserver角色与权限管理方面的内容。
安全性是所有数据库管理系统的一个重要特征。理解安全性问题是理解数据库管理系统安全性机制的前提。
1、当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中?
这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。
在Microsoft SQL Server 2008系统中,通过身份验证模式和主体解决这个问题。
1)身份验证模式
Microsoft SQL Server 2008系统提供了两种身份验证模式:Windows身份验证模式和混合模式。
Windows身份验证模式:
在该模式中,用户通过Windows用户账户连接SQL Server时,使用Windows操作系统中的账户名和密码。
混合模式:
在混合模式中,当客户端连接到服务器时,既可能采取Windows身份验证,也可能采取SQL Server身份验证。
主体是可以请求系统资源的个体或组合过程。例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行操作和使用相应的数据。
2)主体
主体是可以请求系统资源的个体或组合过程。例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行操作和使用相应的数据。
Microsoft SQL Server 2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。
2、当用户登录到系统中,可以执行哪些操作、使用哪些对象和资源?
在Microsoft SQL Server 2008系统中,通过安全对象和权限设置来解决这个问题。
3、数据库中的对象由谁所有?
如果是由用户所有,那么当用户被删除时,其所拥有的对象怎么办,难道数据库对象可以成为没有所有者的“孤儿”吗?
在Microsoft SQL Server 2008系统中,这个问题是通过用户和架构分离来解决的。
客户机安全机制
网络传输的安全机制
实例级别安全机制
数据库级别安全机制
对象级别安全机制
1、固定服务器角色
固定服务器角色是服务器级别的主体,它们的作用范围是整个服务器。固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名作为成员添加到固定服务器角色中,这样该登录名可以继承固定服务器角色的权限。
下面按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述:
2、数据库角色
这里主要包括三种类型的数据库角色:
固定数据库角色:微软提供的作为系统一部分的角色;用户定义的标准数据库角色:你自己定义的角色,将Windows用户以一组自定义的权限分组;应用程序角色:用来授予应用程序专门的权限,而非授予用户组或者单独用户。
这里主要介绍几个固定数据库角色
1、常用的权限
2、操作权限
权限分为3种状态:授予、拒绝、撤销,可以使用如下的语句来修改权限的状态。
授予权限(GRANT):授予权限以执行相关的操作。通过角色,所有该角色的成员继承此权限。
撤销权限(REVOKE):撤销授予的权限,但不会显示阻止用户或角色执行操作。用户或角色仍然能继承其他角色的GRANT权限。
拒绝权限(DENY):显式拒绝执行操作的权限,并阻止用户或角色继承权限,该语句优先于其他授予的权限。
联系客服