1、数据库原理与应用教程,人民邮电出版社,第10章 安全管理,10.1 安全控制 10.2 SQL Server的安全控制 10.3 管理登录账户 10.4 管理数据库用户 10.5 管理权限 10.6 角色,10.1 安全控制,安全控制:在数据库应用系统的不同层次提供对有意损害行为的安全防范。 1. 安全控制模型 2. 数据库权限的种类及用户分类,1. 安全控制模型,2. 数据库权限的种类及用户的分类,权限的种类 系统维护权 操作权 数据库对象权限:创建、修改、删除 数据操作权:增、删、改、查 用户的分类 系统管理员 对象拥有者 普通用户,10.2 SQL Server的安全控制,三个认证过程
2、第一个是验证用户连接到SQL Server数据库服务器的资格。 第二个是验证用户是否是数据库的合法用户。 第三个是验证用户是否具有操作许可。,SQL Server登录账户来源和认证模式,1登录账户来源 Windows授权用户 SQL授权用户 2安全认证模式Windows身份验证模式 混合身份验证模式,Windows身份验证模式,允许Windows操作系统用户连接到SQL Server。 当使用Windows身份验证模式时,用户必须首先登录到Windows操作系统中,然后再登录到SQL Server。 一般推荐使用Windows验证模式,因为这种安全模式能够与Windows操作系统的安全系统集成
3、在一起,以提供更多的安全功能。,混合模式,混合身份验证模式表示SQL Server允许Windows授权用户和SQL授权用户登录到SQL Server数据库服务器。 如果希望允许非Windows操作系统的用户也能登录到SQL Server数据库服务器上,则应该选择混合身份验证模式。 如果在混合身份验证模式下选择使用SQL授权用户登录SQL Server数据库服务器上,则用户必须提供登录名和密码两部分内容。,设置身份验证模式,可以根据系统的实际应用情况设置SQL Server的身份验证模式。 在企业管理器中设置身份验证模式的步骤: 在要设置身份验证模式的服务器名上单击鼠标右键,在弹出的菜单上选择
4、“属性”命令。 在所示的窗口中选择“安全性”选项卡。,10.3 管理SQL Server登录账户,10.3.1 系统内置的登录账户 10.3.2 建立登录账户 10.3.3 修改登录账户的属性 10.3.4 删除登录账户,10.3.1 系统内置的登录账户,BUILTINAdministrators: 表示所有Windows Adiminstrators组中的用户都可以登录到SQL Server。此组中的成员同时也具有SQL Server的系统管理员权限。 sa:SQL Server身份验证模式的系统管理员账户。 域名Adiminstrator:Windows的系统管理员同时也是SQL Serv
5、er的合法用户,且具有SQL Server的系统管理员权限。,10.3.2 建立登录账户,展开“安全性”,单击“登录”节点。 右击内容窗格中的空白处,从弹出式菜单中选择“新建登录”命令。,10.3.3 修改登录账户的属性,展开“安全性”,单击“登录”节点。 在右边的内容窗格中,右击想要修改密码的登录账户,从弹出的菜单中选择“属性”命令。 可以进行如下更改: 更改密码 更改默认数据库 更改显示给用户所使用的语言,10.3.4 删除登录账户,展开“安全性”节点,单击“登录”节点。 在右边的内容窗格中,右击想要删除的登录账户,从弹出的菜单中选择“删除”命令或按Delete键。,10.4 管理数据库用
6、户,10.4.1 建立数据库用户 10.4.2 删除数据库用户,10.4.1 建立数据库用户,单击要建立数据库用户的数据库节点,右击“用户”, 在弹出的菜单上选择“新建数据库用户”命令。,10.4.2 删除数据库用户,展开要删除用户的数据库。 单击“用户”,然后在右边的内容窗格中右击想要删除的数据库用户,从弹出的菜单中选择“删除”命令。,10.5 管理权限,10.5.1 SQL Server权限种类 10.5.2 权限的管理,10.5.1 SQL Server权限种类,对象创建权用户创建数据库中表、视图等对象的权限。 数据操作权对数据库中数据的操作权限,一般是指对表、视图中的数据进行查询、增加
7、、删除和修改的权限。 隐含权限指由SQL Server预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限,隐含权限相当于内置权限,不需要再明确地授予这些权限。,10.5.2 权限的管理,授予权限:允许用户或角色具有某种操作权。 收回权限:不允许用户或角色具有某种操作权,或者收回曾经授予的权限。 拒绝权限:拒绝某用户或角色具有某种操作权,既使用户或角色由于继承而获得这种操作权,也不允许执行相应的操作。,使用企业管理器管理数据操作权限,展开“数据库”节点并展开要设置权限的数据库,单击“用户”节点。 在内容窗格中右击要设置权限的数据库用户,从弹出的菜单中选择“所有任务”下的“
8、管理权限”命令 。,授予权限,拒绝权限,收回权限,使用T-SQL语句管理数据操作权限,GRANT:授予权限; REVOKE:收回权限; DENY:拒绝权限。,语法格式,授权语句GRANT 操作权限名 , ON 表名 | 视图名TO 数据库用户名 | 用户角色名 , 收权语句REVOKE 操作权限名 , ON 表名 | 视图名 FROM 数据库用户名 | 用户角色名 , 拒绝语句DENY 操作权限名 , ON 表名 | 视图名 TO 数据库用户名 | 用户角色名 , ,示例,例1为用户user1授予Student表的查询权。GRANT SELECT ON Student TO user1 例2为
9、用户user1授予SC表的查询和插入权。GRANT SELECT,INSERT ON SC TO user1 例3收回用户user1对Student表的查询权。REVOKE SELECT ON Student FROM user1 例4拒绝user1用户具有SC表的更改权。DENY UPDATE ON SC TO user1,使用企业管理器管理对象创建权限,展开“数据库”,右击要设置语句权限的数据库,从弹出的菜单中选择“属性”,在弹出的窗口中,选择“权限”标签页。,使用T-SQL语句管理对象创建权限,授权语句GRANT 对象权限名 , TO 数据库用户名 | 用户角色名 , 收权语句REVOKE 对象权限名 , FROM 数据库用户名 | 用户角色名 , 拒绝语句DENY 对象权限名 , TO 数据库用户名 | 用户角色名 , ,