数据库原理与应用 第8章 管理SQL Server的安全性

上传人:E**** 文档编号:89423311 上传时间:2019-05-25 格式:PPT 页数:64 大小:550.50KB
返回 下载 相关 举报
数据库原理与应用 第8章  管理SQL Server的安全性_第1页
第1页 / 共64页
数据库原理与应用 第8章  管理SQL Server的安全性_第2页
第2页 / 共64页
数据库原理与应用 第8章  管理SQL Server的安全性_第3页
第3页 / 共64页
数据库原理与应用 第8章  管理SQL Server的安全性_第4页
第4页 / 共64页
数据库原理与应用 第8章  管理SQL Server的安全性_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《数据库原理与应用 第8章 管理SQL Server的安全性》由会员分享,可在线阅读,更多相关《数据库原理与应用 第8章 管理SQL Server的安全性(64页珍藏版)》请在金锄头文库上搜索。

1、第8章 管理SQL Server的安全性,【本章导读】,对任何企业组织来说,数据的安全性最为重要。数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。SQL Server 2005 提供了内置的安全性和数据保护机制,这种管理既有效又容易实现。,【本章要点】,SQL Server的安全性机制 管理服务器的安全性 管理SQL Server数据库的安全性 管理表和列级的安全性,第8章 管理SQL Server的安全性,8.1 SQL Server的安全性机制 8.2 管理服务器的安全性 8.3 SQL Server数据库的安全性 8.4 表和列级的安全性 本章小结 习题八,8

2、.1 SQL Server的安全性机制,数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 SQL Server的安全性控制策略可以从四个方面分析:操作系统的安全性,服务器的安全性,数据库的安全性以及表和列级的安全性。,8.1 SQL Server的安全性机制,SQL server 的安全机制 SQL server的安全机制可以划分为4个等级: 1、客户机操作系统的安全性 2、SQL server的等安全性 3、数据库的使用安全性 4、数据库对象的使用安全性,8.1.1 操作系统的安全性,在用户使用客户计算机通过网络实现对SQL Server服务器的访问时,用户首先要

3、获得客户计算机操作系统的使用权。 一般来说,在能够实现网络互连的前提下,用户没有必要向SQL Server服务器的主机进行登录,除非SQL Server服务器就运行在本地计算机上。SQL Server可以直接访问网络端口,所以可以实现对Windows NT或Windows 2000 Server安全体系以外的服务器及其数据库的访问。,操作系统的安全性是操作系统管理员或网络管理员的任务。由于SQL Server 2005采用了集成Windows NT网络安全性的机制,所以使得操作系统安全性的地位得到提高,但同时也加大了管理数据库系统安全性的灵活性和难度。,8.1.2 服务器的安全性,SQL Se

4、rver服务器的安全性是建立在控制服务器登录账号和口令的基础上的。SQL Server采用了标准的SQL Server 登录和集成Windows登录两种方法。无论是哪种登录方式,用户在登录时提供的登录账号和口令决定了用户能否获得对SQL Server 服务器的访问权,以及在获得访问权后用户可以利用的资源。设计和管理合理的登录方式是SQL Server DBA(DataBase Administrator,数据库管理员)的重要任务,在SQL Server的安全体系中,DBA是发挥主动性的第一道防线。,SQL Server事先设计了许多固定的服务器角色,可供具有服务器管理员资格的用户分配和使用,拥

5、有固定服务器角色的用户可以拥有服务器级的管理权限。,8.1.3 数据库的安全性,在用户通过SQL Server服务器的安全性检查以后,将直接面对不同的数据库入口。这是用户接受的第三次安全性检查。 在建立用户的登录账号信息时,SQL Server会提示用户选择默认的数据库。以后用户每次连接上服务器后,都会自动转到默认的数据库上。对任何用户来说,Master数据库的门总是打开的,如果在设置登录账号时没有指定默认的数据库,则对用户的权限将局限在 Master 数据库内。,默认情况下,只有数据库的所有者才可以访问该数据库内的对象,数据库的所有者可以给其他用户分配访问权限,以便让其他用户也拥有针对该数据

6、库的访问权,在SQL Server中并不是所用的权限都可以自由地转让和分配的。 SQL Server提供了许多固定的数据库角色,可以用来在当前数据库内向用户分配部分权限。同时,还可以创建用户自定义的角色,来实现特定权限的授予。,8.1.4 表和列级的安全性,数据库对象的安全性是核查用户权限的最后一个安全等级。在创建数据库对象时,SQL Server自动将该数据库对象的所有权赋予该对象的创建者。对象的所有者可以实现以该对象的完全控制。 默认情况下,只有数据库的所有者可以在该数据库下进行操作。当一个普通用户想访问数据库内的对象时,必须事先由数据库的所有者赋予该用户关于某指定对象的指定操作权限。例如

7、,一个用户想访问某数据库表的信息,则他必须在成为数据库的合法用户的前提下,获得由数据库所有者分配的针对该表的访问许可。,8.2 管理服务器的安全性,8.2.1 服务器登录账号 8.2.2 设置安全性身份验证模式 8.2.3 创建登录账号 8.2.4 拒绝登录账号 8.2.5 删除登录账号 8.2.6 特殊账户SA 8.2.7 服务器角色,8.2.1 服务器登录帐号,Windows登录帐号是由Windows服务器负责验证用户身份的身份验证方式,由Windows帐号或组控制用户对SQL Server系统的访问。 SQL Server登录帐号是SQL Server 2005自身负责验证身份的登录帐号

8、。当使用SQL Server登录帐号和口令的用户连接SQL Server服务器时,由SQL Server 2005验证该用户是否在syslogins表中,且其口令是否与以前记录的口令匹配。,在“SQL Server Management Studio”的“对象资源管理器”窗口中,依次展开“服务器”/“安全性”/“登录名”,,use master go select * from syslogins go,对于Windows NT/2000帐号,帐号名采用 “域名(计算机名)用户(或组)名” domain 域的用户administrator,-“domain administrator” 对于内

9、建本地组,如administrators、users和guests的帐号名中可以用“BUILTIN ”代替域名或计算机名,比如内建的administrators组-“BUILTIN administrators”。,8.2.2 设置安全性身份验证模式,SQL Server的身份验证模式有两种类型: Windows身份验证模式(Windows Authentication Mode) 混合验证模式(Mixed Authentication Mode)。,8.2.2 设置安全性身份验证模式,(1)在“对象资源管理器”中,展开服务器组。 (2)右键单击要设置安全认证模式的服务器,并在弹出的快捷菜单中

10、选择“属性”。 (3)在打开的“服务器属性”对话框中,选择“安全性”选择页。 (4)在“安全性”选择页的“服务器身份验证”一项中,通过选择Windows身份验证或SQL Server 和Windows身份验证来设置服务器的身份验证方式,如图8-3所示。 设置改变后,用户必须停止并重新启动SQL Server服务,设置才会生效。,8.2.3 创建登录帐号,使用SQL Server Management Studio-参见录像; 使用T-SQL语句;,使用T-SQL语句创建SQL Server帐号,sp_addlogin loginame = 登录名 , passwd = 密码 , defdb =

11、 默认数据库 , deflanguage = 默认语言 , sid = 安全标识号 , encryptopt = encryption选项 ,8.2.4 拒绝登录帐号,只能拒绝 Windows登录帐号,对于SQL Server登录帐号,如果想禁止它连接SQL Server ,只能将其删除。 使用SQL Server Management Studio拒绝Windows登录帐号 使用T-SQL语句方式拒绝Windows登录帐号,使用SQL Server Management Studio拒绝Windows登录帐号,使用T-SQL语句方式拒绝Windows登录帐号,exec sp_denylogi

12、n A-FB21BA6BE13B4Liu,8.2.5 删除登录帐号,使用SQL Server Management Studio 使用T-SQL语句,使用SQL Server Management Studio,使用T-SQL语句,sp_revokelogin:用于删除Windows登录帐号。 sp_droplogin : 用于删除SQL Server帐号。,8.2.6 特殊帐户SA,System Adminstrator(SA)是SQL Server为了向后兼容而内建的特殊帐号。SA属于sysadmin角色,而且不能改变。系统管理员在执行管理操作时,应使用其他sysadmin帐号登录,而尽量

13、不要使用SA帐号。,8.2.7 服务器角色,8.2.7 服务器角色的管理,使用SQL Server Management Studio:参见录像; 使用T-SQL语句;,使用T-SQL语句,sp_addsrvrolemember membername = 帐号名, rolename = 角色名 sp_dropsrvrolemember membername = 帐号名, rolename = 角色名,8.3 SQL Server数据库的安全性,8.3.1 添加数据库用户 8.3.2 修改数据库用户 8.3.3 删除数据库用户 8.3.4 特殊数据库用户 8.3.5 固定数据库角色 8.3.6

14、创建自定义数据库角色 8.3.7 增删数据库角色成员,8.3.1 添加数据库用户,使用SQL Server Management Studio添加数据库用户:参见录像; 使用T-SQL语句添加数据库用户,使用T-SQL语句添加数据库用户,sp_grantdbaccess loginame = 帐号名 ,name_in_db = 数据库用户名 OUTPUT,8.3.2 修改数据库用户,修改数据库用户,即修改用户所属的数据库角色及权限。这些内容将在介绍数据库角色和权限的部分介绍。,8.3.3 删除数据库用户,使用SQL Server Management Studio删除数据库用户 使用T-SQL

15、语句删除数据库用户 sp_revokedbaccess name_in_db = 数据库用户名,8.3.4 特殊数据库用户,Dbo是数据库对象的所有者。不能被删除。 Dbo用户对应于创建该数据库的登录帐号,所以所有系统数据库的Dbo都对应于sa帐户。 Guest 用户允许没有对应数据库用户的登录帐号访问数据库,它在数据库上的默认权限最小。可以将权限应用到 Guest 用户上,就如同它是任何其它用户一样。,8.3.5 固定数据库角色,public:维护全部默认许可。 db_owner:数据库的所有者,可以对所拥有的数据库执行任何操作。 db_accessadmin:可以增加或者删除数据库用户、工

16、作组和角色。 db_addladmin:可以增加、删除和修改数据库中的任何对象。 db_securityadmin:执行语句许可和对象许可。 db_backupoperator:可以备份和恢复数据库。,8.3.6 创建自定义数据库角色,使用SQL Server Management Studio创建角色 使用存储过程sp_addrole 也可以创建数据库角色。其语法格式为: sp_addrole rolename = 角色名 , ownername = 角色的所有者 ,8.3.7 增删数据库角色成员,使用SQL Server Management Studio增删数据库角色成员 使用T-SQL 语句 sp_addrolemember rolename = 角色名 ,

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

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

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