数据库技术与应用第13章SQLServer安全管理.ppt
《数据库技术与应用第13章SQLServer安全管理.ppt》由会员分享,可在线阅读,更多相关《数据库技术与应用第13章SQLServer安全管理.ppt(82页珍藏版)》请在三一办公上搜索。
1、第13章 SQL Server安全管理,13.1 SQL Server 2000的安全机制13.2 管理服务器的安全性13.3 管理数据库用户13.4 管 理 角 色13.5 管 理 权 限,合理有效的数据库安全机制可以既保证被授权用户能够方便地访问数据库中的数据,又能够防止非法用户的入侵。SQL Server 2000提供了一套设计完善、操作简单的安全管理机制。,13.1 SQL Server 2000的安全机制,SQL Server 2000 的安全性机制由四层构成,可以用图13-1表示。从用户的角度讲,要访问数据库,需经过如下步骤。,图13-1 SQL Server 2000 的安全性机
2、制,(1)一个数据库用户必须有权登录操作系统,即该用户在Windows 2000 Server操作系统中具有登录账户。在这个前提条件下,才有可能进入SQL Server 2000 系统。,(2)一旦登录了操作系统,登录者还必须得到数据库系统的通行证数据库服务器的登录账户,才具有数据库服务器的连接权或登录权。SQL Server 2000 只有在验证了指定的登录账户有效后,才完成连接。这种对登录账户的验证称为身份验证。对用户而言,登录SQL Server 2000 需要使用以下两类身份验证之一。,Windows 身份验证:此种验证方式仅用于Windows 2000 Server/NT操作系统。在
3、这种方式下,用户只要通过Windows 2000 Server/NT操作系统的登录验证,就可以连接到SQL Server 2000 数据库实例。SQL Server身份验证:在此种验证方式下,即使用户已经登录操作系统,也必须输入有效的SQL Server专用登录名与密码方可连入SQL Server 2000 数据库实例。,(3)当一个登录者登录数据库服务器后,并不等于对其中的数据库具有访问权限,还必须由数据库所有者或管理员授权,使该登录者成为某一个数据库的用户。(4)作为某个数据库的用户,对数据库对象(如数据库pubs中的表authors)的访问权限也必须被授予,这些权限包括SELECT、UP
4、DATE、INSERT、DELETE等。,另一方面,从SQL Server 2000数据库服务器的角度讲,对于要登录数据库服务器的用户,SQL Server 2000采用以下两种安全认证模式。(1)仅Windows 认证模式:这是 SQL Server 2000 的默认身份验证模式,适用于所有登录者均为Windows 2000 Server/NT操作系统用户的情况。但在Windows 98操作系统上运行的SQL Server 实例不支持 Windows 身份验证。,(2)混合认证模式:该模式可用于两类登录者,对于登录时提供了SQL Server 2000登录账户者,系统将使用 SQL Serv
5、er 身份验证对其进行验证。对于没有提供 SQL Server 2000 登录账户或请求 Windows 身份验证的登录者,则使用 Windows 身份验证对其进行验证。,13.2 管理服务器的安全性,对于一个合法的数据库用户,首先必须在SQL Server 2000中为其设置相应的登录账户,否则他不能登录数据库服务器。有两类登录账户,SQL Server身份验证的登录账户(以下简称SQL账户)与Windows 身份验证的登录账户(以下简称Windows账户)。SQL账户的登录名称与登录密码由SQL Server 2000系统负责验证,Windows账户的登录名称与登录密码则由Windows
6、2000 Server/NT负责验证。,使用企业管理器管理登录账户只有sysadmin 或 securityadmin 固定服务器角色的成员能够利用企业管理器或T-SQL语句完成SQL账户和Windows账户的管理任务。1建立登录账户2登录账户的有关内容3修改登录账户,13.2.2 使用T-SQL语句管理登录账户 管理登录账户也可以使用T-SQL语句,需要注意的是管理Windows账户与SQL账户所使用的系统存储过程不同。1管理Windows 身份验证的登录账户,(1)向Windows 账户授权的语法如下。命令格式:sp_grantlogin loginame=login命令说明:logina
7、me=login 指定一个名称为login的 Windows 2000 Server/NT 用户或用户组名称,其格式为 域 用户名 或 计算机名 用户名,loginame可以省略。,(2)拒绝一个Windows 账户登录的语法如下。命令格式:sp_denylogin loginame=login(3)删除一个Windows账户的语法如下。命令格式:sp_revokelogin loginame=login,2管理SQL身份验证的登录账户(1)使用系统存储过程创建SQL账户命令格式:sp_addlogin loginame=login,passwd=password,defdb=database
8、,deflanguage=language,命令说明:login为新建登录账户的名称。password 为密码,默认设置为 NULL。database 为登录时的默认数据库。language 为默认语言。全部按上述次序取值时,局部变量名称loginame、passwd、defdb、deflanguage可以省略。,(2)使用系统存储过程修改SQL账户的密码命令格式:sp_password old=old _ password,new=new _password,loginame=login,命令说明:(1)old _ password为旧的登录密码,其默认值为 NULL;(2)new _pas
9、sword为新的登录密码,无默认值;login为需要更改密码的登录名,login 必须已经存在。,(3)使用系统存储过程修改SQL账户的默认数据库命令格式:sp_defaultdb loginame=login,defdb=database 命令说明:database是新的默认数据库的名称。,(4)使用系统存储过程修改SQL账户的默认语言命令格式:sp_ defaultlanguage loginame=login,deflanguage=language 命令说明:language 是新的数据库默认语言。,(5)使用系统存储过程删除SQL账户命令格式:sp_droplogin loginam
10、e=login,13.2.3 特殊的登录账户saSQL Server 2000在安装后自动建立了一个特殊的SQL账户sa,即System Administrator。该账户默认为是所有数据库的dbo用户(数据库所有者),具有最高权限,可以进行任何操作,且不能被删除。刚安装完毕时,sa没有密码,为了安全起见,一定要为其加入密码。,13.3 管理数据库用户,无论是Windows账户还是SQL账户,登录数据库服务器后的其他操作都是相同的。但首先他必须获得对数据库的访问权。SQL Server 2000 通过为登录账户指派数据库用户来使其获得对数据库的访问权限。,13.3.1 使用企业管理器管理数据库
11、用户1新建数据库用户2删除数据库用户,13.3.2 使用T-SQL语句管理数据库用户使用系统存储过程可以在当前数据库中管理数据库用户。1新建数据库用户命令格式:sp_grantdbaccess loginame=login,name_in_db=name_in_db,命令说明:(1)login:为登录账户的登录名,当其为Windows 账户名时,须采用“域名登录名”格式;当其为SQL账户名时,采用“登录名”格式。(2)name_in_db:表示在当前数据库中为该登录账户所指定的数据库用户的用户名,省略该参数,则默认登录名与用户名相同。,2删除数据库用户命令格式:sp_revokedbacces
12、s name_in_db=name 命令说明:name 为当前数据库中要删除的用户名。,13.3.3 特殊的数据库用户dbo 和guestSQL Server 2000 数据库中有2个特殊用户:dbo和guest。1dbo在创建一个数据库时,SQL Server 2000自动将创建该数据库的登录账户设置为该数据库的一个用户,并起名为dbo。dbo是数据库的拥有者,不能从数据库中删除,dbo对本数据库拥有所有操作权限,并可以将这些权限全部或部分授予其他数据库用户。另外,属于固定服务器角色sysadmin的成员也映射为所有数据库的dbo。,2guest当一个登录者登录数据库服务器时,如果该服务器上
13、的所有数据库都没有为其建立用户账户,则该登录者只能访问那些具有guest用户的数据库。系统数据库Master 与tempdb中的guest 用户不能被删除,而其他数据库中的guest 用户可以被添加或删除。,13.4 管 理 角 色,角色是为了方便权限管理而设置的一种管理单位。若打算使一组登录账户或数据库用户在数据库服务器或数据库对象上具有相同的权限,则可以通过角色实现。,13.4.1 固定角色固定角色按其权限作用范围可以分为固定服务器角色与固定数据库角色,其作用范围分别为整个数据库服务器与单个数据库。这些角色不能修改或删除。,1固定服务器角色SQL Server 2000的服务器角色只有固定
14、服务器角色,用于对数据库服务器的操作。对数据库服务器操作的权限不能直接赋给其他登录账户,只能使某些登录账户成为固定服务器角色的成员,才能使他们具有这些权限。SQL Server 2000具有如下固定服务器角色:,(1)sysadmin,有权在 SQL Server 中进行任何活动。(2)serveradmin,有权设置服务器一级的配置选项,关闭服务器。(3)setupadmin,有权管理链接服务器和启动过程。,(4)securityadmin,有权管理登录和 CREATE DATABASE 权限,还可以读取错误日志和更改密码。(5)processadmin,有权管理在 SQL Server 中
15、运行的进程。(6)dbcreator,有权创建、更改和除去数据库。(7)diskadmin,有权管理磁盘文件。(8)bulkadmin,有权执行 BULK INSERT 语句。,2固定数据库角色SQL Server 2000中的数据库角色用于对单个数据库的操作。每个数据库都有一系列固定数据库角色,尽管在不同的数据库内他们是同名的,但各自的作用范围都仅限于本数据库。SQL Server 2000具有如下固定数据库角色:,(1)db_owner,在数据库中具有全部权限。(2)db_accessadmin,有权添加或删除数据库用户。(3)db_securityadmin,有权管理全部权限、对象所有权
16、、角色和角色成员资格。(4)db_ddladmin,有权发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。,(5)db_backupoperator,有权发出 DBCC、CHECKPOINT 和 BACKUP 语句。(6)db_datareader,有权查询数据库内任何用户表中的所有数据。(7)db_datawriter,有权更改数据库内任何用户表中的所有数据。,(8)db_denydatareader,不能查询数据库内任何用户表中的任何数据。(9)db_denydatawriter,不能更改数据库内任何用户表中的任何数据。,13.4.2 用户定义的数据库角色数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 应用 13 SQLServer 安全管理
链接地址:https://www.31ppt.com/p-6364938.html