07数据库的安全性

上传人:油条 文档编号:31132430 上传时间:2018-02-05 格式:PPT 页数:35 大小:708KB
返回 下载 相关 举报
07数据库的安全性_第1页
第1页 / 共35页
07数据库的安全性_第2页
第2页 / 共35页
07数据库的安全性_第3页
第3页 / 共35页
07数据库的安全性_第4页
第4页 / 共35页
07数据库的安全性_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《07数据库的安全性》由会员分享,可在线阅读,更多相关《07数据库的安全性(35页珍藏版)》请在金锄头文库上搜索。

1、1,数据库系统中,DBMS提供统一的数据保护功能:保证数据的正确、一致数据的完整性防范对象:不合语义的、不正确的数据保证数据的安全可靠数据的安全性防范对象:非法用户和非法操作,Page 2,第8章 数据库的安全性,3,1、用户管理2、角色划分3、权限管理4、数据的导入/导出和备份,4,1. SQL Server的安全机制,网络,登录,登录,用户,数据库服务器,学生库,教师库,财务库,表1,表2,表3,表4,是否可以操作数据库?,有相应操作权限?,是合法服务器用户?,SQL Server 2005的安全机制: 用户访问数据库必须经过两级安全性检查,即用户身份检查、用户操作权限检查。- 用户身份检

2、查:DBMS对连接数据库服务器的用户进行身份检查;-操作权限检查:对已经连接到服务器的用户,检查其是否可以操作指定数据库及其对象,是否有相应的操作权限。,5,支持Windows身份验证模式和混合模式两种身份验证模式。 Windows身份验证模式: SQL Server利用其操作系统平台的管理登录、验证用户合法性的能力,用户只需要通过Windows的身份验证,就可以连接到SQL Server, SQL Server本身不需要管理一套登录数据。 混合模式: 允许用户选择使用其Windows账户或其SQL Server账户登录到SQL Server系统。 对于后者,SQL Server自己设置和管理

3、SQL Server登录账户,并对登录用户进行身份验证。,(1) SQL SERVER2005的身份验证模式,说明:在安装SQLServer2005服务器时,曾要求选择身份验证模式,通常选择混合模式,同时设置了系统登录账户sa的登录密码。安装后也可随时更改身份验证模式。,6,设置SQL Server的身份认证模式,在SSMS中右击服务器,选择“属性”,修改后重新启动SQL Server才生效,7,用户登录到服务器后,对某数据库及其对象进行操作时,系统还要检查:该登录账户是否在该数据库中有数据库帐号;有无对该数据库对象相应的操作权限。,(2) SQL SERVER2005的权限验证机制,8,2.

4、 SQL Server2005系统的安全管理,包括用户管理、角色管理和权限管理三方面。,用户:分为登录用户和数据库用户。登录用户又分为Windows管理的用户和SQL Server服务器管理的用户。数据库用户:登录用户只有在相应的数据库中映射(设置)为其合法的用户,才允许访问该数据库。默认新建立的数据库都自动添加了一个由sa登录帐号映射得到的数据库用户dbo。 权限:用户登录后,能对服务器、数据库及其对象执行什么样的操作,称之为用户的权限。 登录用户的权限:对服务器的安装、配置、备份、文件、进程、安全性和批量数据导入等管理工作。数据库用户的权限:权限分三个层次:创建数据库对象及进行数据库备份的

5、权限、对数据库对象的操作权限以及对指定表字段的操作权限。,9,角色:对权限的一种集中管理方式,通过角色将用户分类,同类用户统一进行权限管理,简化了用户的权限管理工作。,固定服务器角色: Sysadmin:可以在SQL Server中执行任何操作Serveradmin:可以设置服务器范围的配置选项,关闭服务器Setupadmin:可以管理链接服务器和启动过程Securityadmin:可以管理登录和CREATE DATABASE权限,可以读取错误日志和更改密码Processadmin:可以管理在SQL Server中运行的进程Dbcreator:可以创建、更改和除去数据库Diskadmin:可以

6、管理磁盘文件Bulkadmin:可以执行BULK INSERT(大容量数据插入)语句,10,固定数据库角色: Public:每个数据库用户都属于public角色 db_owner:在数据库中有全部权限 db_accessadmin:可以增加或者删除数据库用户 db_securityadmin:管理数据库角色和成员,并管理数据库的语句和对象权限 db_ddladmin:可以添加、修改或除去数据库中的对象(运行所有DDL) db_backupoperator:可以备份和恢复数据库 db_datareader:可以读取数据库内任何用户表中的所有数据 db_datawriter:可以更改数据库内任何用

7、户表中的所有数据 db_denydatareader:不能读取数据库内任何用户表中的任何数据 db_denydatawriter:不能更改数据库内任何用户表中的任何数据自定义数据库角色,通过在角色中添加用户成员, 使其获得相应的管理和操作权限;或者在添加用户时,可以指定该用户属于哪一个角色,也会使其自动获取相应权限。,11,(1)用户管理,指添加、修改、查看、删除用户以及用户授权。包括登录用户管理和数据库用户管理。,登录用户管理 1)添加登录用户Windows用户:首先在服务器操作系统中建立该用户,然后将其添加到SQL Server的登录用户中。 Windwos用户的名称:计算机名称用户名SQ

8、L Server用户:在SSMS对象资源管理器中单击“新建登录名”(a)输入登录用户名称, 并设置登录密码;(b)指定默认数据库;(c)选择用户的服务器角色,使其具有相应的服务器管理权限;(d)选择映射成为指定数据库的用户,同时使该数据库用户添加为指定数据库角色的成员,以获得相应操作权限。注意默认数据库必须选中。,2)查看、修改和删除登录用户 右击该登录用户,选择“属性”或“删除”。,12,数据库用户管理 主要指将登录用户映射为指定数据库的用户,并通过角色分配授予该数据库用户相应的操作权限。 在SSMS对象资源管理器中单击展开指定数据库的安全性分支,右击“用户”,选“新建用户”(a)输入或搜索

9、要映射的登录用户名称;(b)输入映射成的数据库用户名,一般与 登录用户同名;(c)指定该用户加入的角色以及其拥有的 架构(二者选择一致);(d)最后单击“确定”。同样,可以随时查看、修改、删除数据库用户。,13,(2)权限管理,权限是指用户对服务器可以执行的管理任务、对访问的数据库和对该数据库对象可以执行的相关操作。权限分三级层次管理:服务器权限、数据库权限、数据库对象权限。服务器权限:允许执行服务器管理任务,权限被定义在固定服务器角色中。在服务器属性对话框的“权限”页可以为登录用户授予权限。,14,数据库权限:允许创建、管理数据库对象。在指定数据库的属性对话框中为数据库用户授予权限。,15,

10、数据库对象权限:对特定的数据库对象(表、视图、存储过程、函数等)的操作权限。主要有6种:SELECT:查询权限INSERT:插入数据权限UPDATE:修改权限(必须同时具有SELECT权限)DELETE:删除数据权限REFERENCE:引用对象的权限ALTER:更改对象的权限 在具体的数据库对象的属性对话框中的“权限”页面中添加数据库用户,并授予他对该对象的相应操作权限。 数据库的创建者可以查看、添加或删除数据,更改表定义、或控制允许其他用户对表进行操作的权限。,16,学生基本信息表的“表属性”对话框,添加数据库用户、角色,并对他授予相应权限。,17,(3)角色管理,角色是对权限的一种集中管理

11、机制,是为了简化对用户权限管理工作而设置的一种对象。,管理服务器角色:对指定的固定服务器角色添加或删除成员。管理数据库角色:对指定的固定数据库角色添加或删除成员。,18,自定义数据库角色:,本数据库用户、角色中谁是该角色的拥有者,他可以在角色中添加或删除角色成员。,此角色拥有的架构,例如dbo,添加或删除角色成员。,19,“安全对象”页面设置该角色可以访问的对象,并进行授权。,对指定列的操作权限,添加特定的对象,如“表”,并指定具体的表,如“学生基本信息”表。,拒绝:拒绝授予该对象该权限,也防止对象通过角色成员身份继承权限; 具有授予权限:可以将此权限授予其他用户。若未授予也未拒绝,则可以使用

12、从角色继承来的权限;拒绝覆盖其他权限。,20,(1)用户管理相关命令可以使用系统存储过程添加、修改、删除登录用户和数据库用户,修改登录密码、修改默认数据库例1:将Windows用户LEEpublic映射到SQL Server登录账户。 exec sp_grantlogin LEEpublic例2:创建SQL Server登录账户lee,密码为111111,默认数据库为“学生管理”。 exec sp_addlogin lee, 111111, 学生管理例3:为登录账户lee创建数据库用户。 exec sp_grantdbaccess lee 如果没有指定数据库用户名,则默认为与“登录名”相同。例

13、4:删除数据库用户lee 。 exec sp_revokedbaccess lee,3. 使用SQL命令进行安全管理,21,(2)权限管理相关命令设置数据库对象权限包括: 授予权限(Grant):授予用户或角色相应的对象权限。 拒绝权限(Deny):可用于防止该用户或角色通过 GRANT 获得特定权限 ,包括删除以前授予用户、组或角色的权限,停用从其他角色继承的权限,确保用户、组或角色将来不继承更高级别的组或角色的权限。 废除权限(Revoke):废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。,22,基本语法如下: GRANT ALL | 权限 ,.n ( 列名

14、 ,.n ) ON 表 | 视图 | ON 表 | 视图 ( 列名 ,.n ) | ON 存储过程 | ON用户自定义函数 TO 安全账户 ,.n WITH GRANT OPTION AS 组 | 角色 ,在表、视图上可授予SELECT、INSERT、DELETE、UPDATE、 REFERENCES权限。,数据库用户或角色,使被授权用户或角色可以将该权限再授予其他用户,授予对象权限GRANT,23,授予对象权限举例,【例1】使用GRANT语句对角色newrole授予对表“学生”的INSERT、UPDATE和DELETE的权限。 GRANT INSERT, UPDATE, DELETE ON

15、学生 TO newrole【例2】使用GRANT语句授予用户Mary、John和Tom对pubs数据库的authors表的插入、修改、删除权限。 USE pubs GRANT INSERT, UPDATE, DELETE ON authors TO Mary, John, Tom,24,授予对象权限举例,【例3】使用GRANT语句授予用户Log1对pubs数据库的Titles表的Title_id和Title列具有修改权限。 USE Pubs GRANT UPDATE(Title_id , Title) ON Titles TO Log1 也可以写成: USE Pubs GRANT UPDATE ON Titles(Title_id , Title) TO Log1,25,授予对象权限举例,【例4】使用GRANT语句将对Market数据库的Custumers表的SELECT、INSERT权限授予用户Zhang,并允许用户Zhang再将该权限授予其他用户或角色。 USE Market GRANT SELECT , INSERT ON Custumers TO Zhang WITH GRANT OPTION,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号