数据库管理与应用教材的电子课件和所用数据库 08-Chap08

上传人:E**** 文档编号:89415988 上传时间:2019-05-24 格式:PPT 页数:40 大小:2.81MB
返回 下载 相关 举报
数据库管理与应用教材的电子课件和所用数据库 08-Chap08_第1页
第1页 / 共40页
数据库管理与应用教材的电子课件和所用数据库 08-Chap08_第2页
第2页 / 共40页
数据库管理与应用教材的电子课件和所用数据库 08-Chap08_第3页
第3页 / 共40页
数据库管理与应用教材的电子课件和所用数据库 08-Chap08_第4页
第4页 / 共40页
数据库管理与应用教材的电子课件和所用数据库 08-Chap08_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《数据库管理与应用教材的电子课件和所用数据库 08-Chap08》由会员分享,可在线阅读,更多相关《数据库管理与应用教材的电子课件和所用数据库 08-Chap08(40页珍藏版)》请在金锄头文库上搜索。

1、数据库管理与应用实例教程,彭勇 主编,第8章 数据库的安全,本章导航,本章的主要内容及其在SQL Server2005数据库管理系统中的位置如图示。,学习要点,(1)数据库安全控制的一般方法 (2)SQL Server的安全体系结构 (3)SQL Server系统登录管理 (4)数据库用户管理 (5)角色管理和权限管理,数据库安全控制的一般方法,一、安全性级别,SQL Server 2005安全机制可分为如下4个等级: 操作系统的安全性。 SQL Server的登录安全性。 数据库的访问安全性。 数据库对象的使用安全性。,一般来说,为了减少管理的开销,在对象级安全管理上应该在大多数场合赋予数据

2、库以广泛的权限,然后再针对实际情况在某些敏感的数据上实施具体的访问权限限制。SQL Server通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。,二、数据库安全控制的一般方法,用户访问数据库时需要历经三个阶段及相应的安全认证过程。 第一阶段:用户首先要登录到SQL Server实例。 第二阶段:用户在要访问的每个数据库里必须获得一个用户账号。 第三阶段:用户访问数据库。,课堂实践1,【任务1】 简述SQL Server的安全等级。 【任务2】 说明用户访问数据库时需要历经的三个阶段及相应的安全认证过程。,SQL Server的安全认证模式,一、Windows身份验证模式(集成验

3、证模式),在Windows身份验证模式是指要登录到SQL Server系统的用户身份由Windows系统来验证。 Windows登录验证模式下,SQL Server回叫Windows以获得相应的登录信息,并在sysxlogins表中查找该账户,以确定该账户是否有权登录。在这种方式下,用户不必提供登录名或密码让SQL Server验证。 使用这种验证方式,SQL Server就可以利用Windows的安全性,例如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定账号。,二、SQL Server身份验证模式(混合验证模式),在SQL Server身份验证模式下,使用Wi

4、ndows用户账户连接的用户可以使用信用连接。当用户使用指定的登录名称和密码进行非信任连接时,SQL Server检测输入的登录名和密码是否与系统sysxlogins表中记录的登录名和密码相匹配,自己进行身份证。如果不存在该用户的登录账户,则身份验证失败,用户将会收到错误信息。用户只有提供正确的登录名和密码,才能通过SQL Server验证。, 如果用户试图通过提供空白登录名连接到SQL Server实例,SQL Server将使用Windows身份验证。此外,如果用户使用特定的登录连接到配置为Windows身份验证模式的SQL Server实例,则将忽略该登录并使用Windows身份验证。

5、尽可能使用Windows身份验证模式以增强SQL Server安全。,登录管理,一、课堂案例1使用SSMS管理登录,【案例学习目标】 学会用管理平台来管理登录名。 【案例知识要点】 新建登录名,查看登录属性以及删除登录名。 【案例完成步骤】 (1)打开SQL Server Management Studio的“对象资源管理器”,展开【安全性】节点。 (2)右键单击【登录名】,选择【新建登录名】,如图所示。,(3)打开【登录名-新建】对话框,选择“Windows身份验证”登录名,如图所示。,(4)单击【搜索】按钮,打开【选择用户和组】对话框,单击【高级】按钮后,再单击【立即查找】按钮,选择Win

6、dows用户yqlhy,如图所示。,(5)选择用户或组后,单击【确定】按钮,返回【登录名-新建】对话框。再单击【确定】按钮,就可以创建与Windows用户yqlhy对应的登录名yqlhy。 如果要在当前数据库引擎中创建“SQL Server身份验证”登录名,基本步骤相同,只需要在步骤(3)中选择“SQL Server身份验证”,在【登录名】文本框中输入指定的登录名、密码和确认密码,并根据操作系统情况“选中/取消选中”【用户在下次登录时必须更改密码】,如图所示。,(6)在“对象资源管理器”中,依次展开【安全性】节点、【登录名】节点。可查看到已有的登录名。右键单击【sa】登录名,选择【属性】,如图

7、所示。,(7)打开【登录属性】对话框,选择【状态】选项,选择“登录”中的【启用】,如图所示。 选择【常规】选项卡,查看和设置登录名的基本属性。 选择【服务器角色】选项卡,查看和设置登录名所属的服务器角色。 选择【用户映射】选项卡,查看和设置映射到此登录名的用户和数据库角色。 (8)在右键菜单中选择【删除】命令,打开“删除对象”对话框,单击【删除】按钮,完成指定登录名的删除。,二、使用T-SQL管理登录,1.新建登录名 使用CREATE LOGIN语句可以创建登录名,其基本语句格式如下所示: CREATE LOGIN 登录名 例如,创建登录名为“loginuser”、口令为“123456”、默认

8、数据库为books的登录。 CREATE LOGIN loginuser WITH PASSWORD=123456,DEFAULT_DATABASE=books GO 如果是创建Windows用户的登录名winlogin(对应的Windows用户为winlogin),则创建Windows登录名的语句为: CREATE LOGIN yqlwinlogin FROM WINDOWS GO FROM WINDOWS指定创建Windows用户登录名。,2.修改登录名 使用ALTER LOGIN语句可以改变登录名的密码和用户名称,基本语句格式如下所示: ALTER LOGIN 登录名 WITH ,n 例

9、如,将上例中的“loginuser”登录的口令修改为“456789”。 ALTER LOGIN loginuser WITH PASSWORD=456789 GO 3.删除登录名 使用DROP LOGIN语句可以删除登录名。基本语句格式如下所示: DROP LOGIN 登录名 例如,删除登录名“loginuser”。 DROP LOGIN loginuser GO 4.查询登录名信息 使用存储过程sp_helplogins可以查询登录帐户的信息。基本语句格式如下所示。 EXEC sp_helplogins 登录名 例如,查询登录账户loginuser的信息。 EXEC sp_helplogin

10、s loginuser,课堂实践2,【任务1】 使用SSMS创建“SQL Server 身份验证”登录名“newsql”并查看其属性。 使用SSMS删除登录名“newsql”。 【任务2】 使用T-SQL语句创建“Windows身份验证”登录名“newwin”并查看其属性。 使用T-SQL语句删除登录名“newwin”。,用户管理,一、课堂案例2使用SSMS管理数据库用户,【案例学习目标】 在books数据库中,学会用SSMS实现数据库用户的管理。 【案例知识要点】 数据库用户的新建与删除及数据库用户属性的查看。 【案例完成步骤】 (1)启动SQL Server Management Stud

11、io,在“对象资源管理器”中依次展开【数据库】节点、【books】数据库节点、【安全性】节点。 (2)右键单击【用户】,选择【新建用户】,如图所示。,(3)打开【数据库用户-新建】对话框,如图所示。输入数据库用户名“dbnewuser”.,指定对应的登录名“loginuser”,选择 按钮,打开【选择登录名】对话框,如图所示。选择【浏览】按钮,打开【查找对象】对话框,选择对应的登录名loginuser。,(4)设置完成后,单击【确定】按钮,完成数据库用户的创建。 (5)右键单击用户【dbnewuser】,选择【属性】,如图所示。 (6)打开【数据库用户-dbnewuser】对话框,查看和设置数

12、据库用户的属性。,二、使用T-SQL管理数据库用户,1.新建数据库用户 使用CREATE USER可以添加数据库用户,基本语句格式如下所示: CREATE USER 数据库用户名 FOR|FROM LOGIN 登录名 |WITHOUT LOGIN 如果创建与登录名同名的数据库用户,可以不写FOR|FROMLOGIN 登录名。,2.修改数据库用户 使用ALTER USER语句可以改变数据库用户名和密码,基本语句格式如下: ALTER USER 数据库用户名 WITH,n,3.查看数据库用户的属性 使用存储过程sp_helpuser可以查看当前数据库的指定用户信息。基本语句格式如下: EXEC s

13、p_helpuser 数据库用户名,4.删除数据库用户 使用DROP USER语句可以删除数据库用户,基本语句格式如下所示: DROP USER 数据库用户名,例如,从books数据库中删除数据库用户“dbnewuser”。 USE books GO DROP USER dbnewuser GO,【任务1】 使用SSMS创建与登录名“newsql”对应的数据库用户“sqluser”,并查看其属性。 使用SSMS删除数据库用户“sqluser”。 【任务2】 使用T-SQL语句创建与登录名“newwin”对应的数据库用户“winuser”。 使用T-SQL语句查看books数据库中的用户信息。

14、使用T-SQL语句删除数据库用户“winuser”,课堂实践3,角色管理,一、服务器角色,1固定服务器角色,固定服务器角色及功能,2设置服务器角色 (1)使用SSMS将登录名“loginuser”添加到固定服务器角色“sysadmin”。 (2)使用T-SQL语句将“loginuser”登录名添加到“serveradmin”服务器角色中,并从“sysadmin”服务器角色中删除“loginuser”登录名。,3查看登录所属服务器角色 右键单击登录名“loginuser”,在菜单中选择【属性】,打开【登录属性-loginuser】对话框,如图所示。单击【服务器角色】选项卡,查看登录名“login

15、user”所属服务器角色情况。,二、数据库角色,1固定数据库角色及功能,利用SSMS可以查看固定数据库角色的属性,并将数据库用户添加到角色中。,2自定义数据库角色,可以使用SSMS或T-SQL语句创建自定义数据库角色。 (1)使用SSMS创建自定义数据库角色db_userrole。,(2)使用T-SQL语句创建自定义数据库角色 使用语句可以在当前数据库创建新的自定义数据库角色。 CREATE ROLE 角色名 AUTHORIZATION 所有者名 使用存储过程sp_addrolemember可以为当前数据库中的数据库角色添加数据库用户。 sp_addrolemember 角色名,用户名 使用A

16、LTER ROLE语句可以修改当前数据库中的数据库角色。 ALTER ROLE 角色名 WITH NAME=新名称 使用DROP ROLE语句可以删除当前数据库中的数据库角色。 DROP ROLE角色名 使用sp_helprole可以查看数据库中角色详细信息。 sp_helprole 角色名,例如,在books数据库中创建自定义数据库角色“db_userrole”,并将新创建的数据库用户“dbnewuser”添加到该角色中。 USE books GO CREATE ROLE db_userrole GO EXEC sp_addrolemember db_userrole , dbnewuser GO,课堂实践4,【任务1】 在数据库boo

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

当前位置:首页 > 高等教育 > 大学课件

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