收藏 分享(赏)

数据库的安全管理.ppt

上传人:fmgc7290 文档编号:7010683 上传时间:2019-04-30 格式:PPT 页数:49 大小:2.67MB
下载 相关 举报
数据库的安全管理.ppt_第1页
第1页 / 共49页
数据库的安全管理.ppt_第2页
第2页 / 共49页
数据库的安全管理.ppt_第3页
第3页 / 共49页
数据库的安全管理.ppt_第4页
第4页 / 共49页
数据库的安全管理.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、数据库的安全管理,1 数据库安全管理概述,为了保证数据库的安全,需要采取一系列的安全防护措施,SQL SERVER系统提供了完善的安全管理机制,包括身份验证模式及其设置、登录账号管理、数据库用户管理、角色管理和权限管理等。SQL SERVER系统的安全管理机制分为三个等级:(1)操作系统级(2)服务器级(3)数据库级,SQL SERVER安全体系结构, “组”的概念只在7.0以前版本有。,说明:, 登录名可以与DB用户名相同。登录用户只有在成为某个DB的用户时才能访问该DB。, 由上图可知,SQL SERVER安全体系由三级组成,即:DBMS或DB服务器、DB、语句与对象级。,1 数据库安全管

2、理概述,(1)操作系统级用户使用客户机,通过网络访问SQL SERVER服务器时,首先要获得计机操作系统的使用权。 (2)服务器级SQL SERVER服务器级的安全,是建立在控制服务器的登录账号和口令的基础上。 (3)数据库级在用户通过SQL SERVER服务器的安全检验之后,将直接面对不同的数据库,这是用户接受的第三次安全检验。,2 SQL SERVER 系统安全机制,SQL SERVER系统的安全管理是建立在身份验证和访问许可两种机制上的。2.1 SQL SERVER身份验证模式SQL SERVER系统的身份验证有两种模式:WINDOWS身份验证模式和混合身份验证模式(1)身份验证, 身份

3、验证阶段, 权限认证阶段,(2)WINDOWS验证模式,2 SQL SERVER 系统安全机制,(3)混合验证模式混合身份验证模式将区分用户账号在WINDOWS操作系统下是否可信,对于可信的连接用户系统,直接采用WINDOWS身份验证模式,否则,SQL SERVER系统会通过账户的存在性和密码的匹配性进行验证。SQL SERVER 验证模式下,登录信息存储在系统表syslogins中,与WINDOWS的登录账号无关。采用混合验证模式的优点:1)创建了WINDOWS之上的另外一个安全层次。2) 支持更大范围的用户使用SQL SERVER3)应有程序可以使用SQL SERVER口令登录,2 SQL

4、 SERVER 系统安全机制,2.2 设置身份验证模式(1)在对象资源管理器中,右击服务器,在弹出的快捷菜单中选择“属性”命令,屏幕上会出现“服务器属性”,如图:,2 SQL SERVER 系统安全机制,2.2 设置身份验证模式(1)单击“安全性”选项,在右边的“服务器身份验证”下,选择其中的服务器身份验证模式,在“登录审核”下,选择其中需要的审核方式。1)“无”表示不使用登录审核2)“仅限失败的登录”表示记录所有的失败登录3)“仅限成功的登录”表示记录所有的成功登录 4)“失败和成功的登录”表示记录所有的登录(2)设置完毕,单击“确定”,完成验证模式的设置和修改。,3 账号管理,3.1 创建

5、登录账户登录账户有两类:(1)WINDOWS用户登录账户(2)SQL SERVER用户登录账户1、创建WINDOWS登录账户例:创建用户名为“LX”的WINDOWS用户账户1)在WINDOWS操作系统中,选择“开始/控制面板/管理工具/计算机管理”命令2)展开“本地用户和组”文件夹,右击“用户”选项,新建用户其及密码,3 账号管理,2、创建服务器登录账户将在WINDOWS系统创建的账户加到SQL SERVER登录账户,SQL SERVER系统提供了两种创建方式:可视化方式和命令方式:例:使用户名为“LX”的WINDOWS用户,能够登录到SQL SERVER( 1)可视化方式:1)在“对象资源管

6、理器”中,展开“安全性”项。右击“登录名”,在弹出的快捷菜单中选择“新建登录名”命令,打开“登录名-新建”窗口,如图2)在其中的“常规”项中,如果选中了“WINDOWS身份验证”,则“登录名”设置为用WINDOWS账号登录,无须设置密码;如果选中了“SQL SERVER身份验证”,则需要设置一个“登录名”以及“密码”和“确认密码”。,3 账号管理,3)选择WINDOWS验证模式,单击“搜索”按钮,屏幕出现“选择用户或组”对话框。在“对象名”文本框输入“LX”或单击“高级”按钮。4)单击“服务器角色”项,屏幕出现服务器角色设定页面,可以查看和更改登录账号在服务器角色中的成员身份。5)单击“用户映

7、射”项,可查看和修改SQL登录账号数据库用户的映射,并可以选择允许其在该数据库中担任的角色。6)“确定”设置完成。至此,一个WINDOWS组或用户就加入到SQL SERVER登录账户中(服务器登录账号创建完毕)。,3 账号管理,2、创建服务器登录账户 (2)命令方式:1)使用系统存储过程sp_grantlogin授予登录权限语法格式:sp_grantlogin loginame=用户名例:用sp_grantlogin将WINDOWS用户LX加入到SQL SERVER登录账户中。exec sp_grantlogin DELL-PCLX例:用sp_grantlogin将WINDOWS本地组User

8、s中的所有用户连接到SQL SERVER的权限。exec sp_grantlogin BUILTINUsers,3 账号管理,2、创建服务器登录账户 (2)命令方式:1)使用系统存储过程sp_addlogin创建登录语法格式:sp_addlogin loginame=用户名,passwd=密码 ,defdb=数据库名 例:用sp_addlogin创建一个TYC-YLH登录账户,新登密码为sqlserver-tyc-ylh,默认数据库为 test.exec sp_addlogin TYC-YLH,sqlserver-tyc-ylh,test,3 账号管理,3.2 查看服务器登录账户1、可视化方式

9、2、用命令方式查看SQL SERVER登录账户语法格式:sp_helplogins LoginNamePattern=用户名例:用系统存储过程查看SQL SERVER系统中所有账户信息exec sp_helplogins 例:用系统存储过程查看TYC-YLH 账户的信息exec sp_helplogins TYC-YLH,3 账号管理,3.3 修改登录账户1、sp_password old=原密码new=新密码,loginame=用户名2、sp_defaultdb loginame=用户名, defdb=数据库名3、 sp_defaultlanguage loginame=用户名, langu

10、age=语言 3.4 修改登录账户可视化方式和命令方式1、删除WINDOWS用户或组登录账户sp_revokelogin loginame=用户名2、删除SQL SERVER登录账户sp_droplogin loginame=用户名,4 角色管理,角色是为了方便权限管理而设置的管理单位,是一种SQL SERVER安全账户。 数据库管理员和数据库拥有者在设置访问权限时,应首先建立角色,并将访问权限集中授予角色,之后将需要拥有这种权限的用户加入到角色中,这些用户即继承角色的访问权限。需要撤销用户的访问权限时,将用户从角色中删除即可。,2019/4/30,Designed by Tao Hongca

11、i,25 / 73,1.SQL SERVER中的系统角色,public、dbo,sysadmin、securityadmin、serveradmin、setupadmin、processadmin、diskadmin、dbcreator、bulkadmin,(1) 服务器级的系统角色,(2) 常用的数据库级系统角色,说明:, 以上系统角色的权限是固定的。, sa被自动分配为sysadmin角色。, 数据库的用户自动分配为public角色。, 创建数据库对象的用户自动分配为该对象的dbo角色。,2.固定服务器角色管理,1)可视化方式例:用可视化方式将登录账户LX添加为dbcreator的成员。从

12、“服务器角色”项添加,(1) 添加固定服务器角色成员,2.固定服务器角色管理,1)可视化方式例:用可视化方式将登录账户LX添加为dbcreator的成员。从“登录”项添加,(1) 添加固定服务器角色成员,2.固定服务器角色管理,2)命令方式sp_addsrvrolemember loginame=用户名,rolename=角色名例:用系统存储过程将登录账户LX添加为固定服务器角色sysadmin的成员。,(1) 添加固定服务器角色成员,2.固定服务器角色管理,sp_dropsrvrolemember loginame=用户名,rolename=角色名例:用系统存储过程将登录账户LX从固定服务器

13、角色sysadmin中删除。,(2) 删除固定服务器角色成员,2.固定服务器角色管理,sp_helpsrvrole| sp_helpsrvrolemember srvrolename=角色名例:查看固定服务器角色sysadmin及其成员的信息。,(3) 查看固定服务器角色成员,3.数据库角色管理,sp_addrolemember rolename=角色名, membername=用户名,(1) 添加数据库角色成员,sp_helpdbfixedrole | sp_helprole rolename=角色名sp_helpuser name_in_db=用户名例:查看当前数据库中所有用户及db_ow

14、ner数据库角色的信息。,(2) 查看数据库角色及其成员信息,3.数据库角色管理,sp_droprolemember rolename=角色名, membername=用户名,(3) 删除数据库角色成员,4.用户定义数据库角色管理,(1) 创建、修改和删除用户定义数据库角色1)可视化方式例:为test数据库创建db_owner角色,并对其进行修改,然后删除。,2019/4/30,Designed by Tao Hongcai,41 / 73,sp_addrole rolename = 新角色名 , ownername = 该角色所有者 ,为角色增加成员用户:sp_addrolemember,删

15、除角色:sp_droprole,查询角色信息:sp_helprole,4.用户定义数据库角色管理,(1) 创建、修改和删除用户定义数据库角色2)命令方式,(2) 添加和删除用户定义数据库角色成员1)可视化方式 :如图2)命令方式: sp_addrolemember,5 数据库权限管理,SQL语言用GRANT语句向用户授予操作权限。语句格式为: GRANT ALL | 语句 ,.n TO ,.n 功能:将对指定操作对象的指定操作权限授予指定的用户。 不同类型的操作对象有不同的操作权限。,2019/4/30,Designed by Tao Hongcai,44 / 73,可被授权的语句:,CREA

16、TE DATABASECREATE DEFAULTCREATE FUNCTIONCREATE PROCEDURECREATE RULECREATE TABLECREATE VIEWBACKUP DATABASEBACKUP LOG,5 数据库权限管理,1、可视化方式完成用户或角色的权限授予例:将在TEST数据库中创建视图的权限授予“TYC”用户如图 2、命令方式例:授予用户“TYC”具有创建军表的权限USE TESTGOGRANT CREATE TABLE TO TYC GO,例:把查询 S 表权限授给用户U1GRANT SELECT ON TABLE S TO U1; 例:把对S表和C表的全

17、部权限授予用户U2和U3GRANT ALL PRIVILIGES ON TABLE S, C TO U2, U3; 例:把对表SC的查询权限授予所有用户GRANT SELECT ON TABLE SC TO PUBLIC; 例:把查询S表和修改学生学号的权限授给用户U4GRANT UPDATE(Sno), SELECT ON TABLE S TO U4;,例:把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION; 例:DBA把在数据库S_C中建立表的权限授予用户U8。GRANT CREATETAB ON DATABASE S_C TO U8;,收回权限 授予的权限可以由DBA或其他授权者用REVOKE语句收回。 语句格式为:REVOKE ,. ON FROM ,.; 例:把用户U4修改学生学号的权限收回REVOKE UPDATE(Sno) ON TABLE S FROM U4; 例:收回所有用户对表SC的查询权限REVOKE SELECT ON TABLE SC FROM PUBLIC; 例:把用户U5对SC表的INSERT权限收回REVOKE INSERT ON TABLE SC FROM U5;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 数据库

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报