数据库安全及访问控制.ppt
《数据库安全及访问控制.ppt》由会员分享,可在线阅读,更多相关《数据库安全及访问控制.ppt(55页珍藏版)》请在三一办公上搜索。
1、SQL Server,第16章数据库安全及访问控制,16.1 SQL Server安全认证模式与设置 16.2 SQL Server登录账户的管理 16.3 数据库访问权限的建立与删除 16.4 角色管理 16.5 数据库权限管理,第16章数据库安全及访问控制,16.1 SQL Server安全认证模式与设置,16.1.1 用户安全认证模式 16.1.2 设置安全认证模式,16.1 SQL Server安全认证模式与设置,SQL Server作为DBMS,采用了三个层次的安全控制策略:1、用户首先登录到数据库服务器上(是服务器合法用户)2.然后使服务器用户(login)成为某个数据库的合法用户
2、,从而能够访问数据库。3.让数据库用户在数据库中具有一定的权限(数据操作权、创建对象权等),16.1.1 用户安全认证模式,安全帐户认证是用来确认登录SQL Server的用户的登录帐号和密码的正确性,由此来验证其是否具有连接SQL Server的权限。SQL Server 提供了两种确认用户的认证模式:(一)Windows NT认证模式。(二)混合认证模式。,(一)Windows NT认证模式,SQL Server数据库系统通常运行在Windows NT服务器平台上,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,因此Windows NT认证模式正是利用了这一用户安全性和帐
3、号管理的机制,允许SQL Server也可以使用NT的用户名和口令。在这种模式下,用户只需要通过Windows NT的认证,就可以连接到SQL Server,而SQL Server本身也就不需要管理一套登录数据。,需要注意的是:登录前必须将Windows NT账号加入到SQL Server 中,才能采用Windows NT账号登录到SQL Server上。,(二)混合认证模式,混合认证模式允许用户使用Windows NT安全性或SQL Server安全性连接到SQL Server。在这种方式下,对于可信连接用户的连接请求,系统将采用Windwos NT/2003认证模式,而对于非可信连接用户则
4、采用SQL Server认证模式。采用SQL Server模式认证时,系统检查是否已经建立了该用户的登录标识以及二者的口令是否相同。通过认证后,用户应用程序才可连接到SQL Server服务器,否则系统将拒绝用户的连接请求。,SQL Server对登录标识的认证过程可用下图表示:,无论采用以上哪种认证模式,在用户连接到SQL Server后,他们的操作完全相同。比较起来,两种认证模式各有优劣:(1)Windows认证更为安全。(2)SQL Server认证管理较为简单,它允许应用程序的所有用户使用同一登录标识。为了便于用户帐户的集中管理,在Windows NT/2003平台下,最好选用Wind
5、ows认证模式。,16.1.2 设置安全认证模式,其主要过程如下:1.打开SSMS,用右键单击要设置认证模式的服务器,从快捷菜单中选择“属性(properties)”选项,则出现SQL Server属性对话框。2.在SQL Server属性对话框中选择安全性选项。3.在安全性选项栏中,身份验证中可以选择要设置的认证模式,同时审核级别中还可以选择跟踪记录用户登录时的哪种信息,例如登录成功或登录失败的信息等。4.在启动服务帐户中设置当启动并运行SQL Server时默认的登录者中哪一位用户。,16.2 SQL Server登录账户的管理,16.2.1 Windows NT登录帐户建立与删除 16.
6、2.2 SQL Server登录账户建立与删除,系统内置已有的登录帐号:SQL Server有三个默认(内置)的用户登录帐号:即sa、builtinadministrators和guest。Sa:SQL Server验证模式的系统管理员帐号;builtinadministrators:是一个windows组帐号,表示所有windows系统管理员(Administrator)组中的用户都可以登录到SQL Server;Guest:是来宾帐号。,16.2.1 Windows NT登录帐户建立与删除,1、建立其他新的Windows NT/2003账户 操作步骤如下:以Administrators登录
7、到Windows 2003;选择“开始”“设置”“控制面板”“管理工具”“计算机管理”;在计算机管理窗口,选择“本地用户和组”,单击右键,在快捷菜单上单击“新用户”,进入如下图界面;在“新用户”对话框中输入新用户名和密码(这里用户名是meng,密码是1111);单击【确定】按钮,一个新的Windows NT/2003账户建立成功。,2.将Windows NT/2003账户加入到SQL Server中 方法一:使用系统存储过程 在SQL Server中,授予Windows NT/2003用户或用户组连接SQL Server服务器的权限。其语法格式为:sp_grantlogin loginame=
8、login 其中,login是Windows NT/2003用户或用户组名称,其格式为“域用户名称”。对于本地用户或组,则域名即为本地计算机名,其格式为“计算机名用户名称”。方法二:使用,例:将新建的Windows NT账户meng用系统存储过程添加到SQL Server系统中。EXEC sp_grantlogin ZUFE-MXHmeng-ZUFE-MXH是计算机名,meng是Windows 2003用户,例:将Windows NT账户deng用方法添加到SQL Server系统中。,3.用新建Windows 2003用户登录SQL Server 如果想用新建Windows 2003用户登录
9、SQL Server,首先将登录的默认数据库选择成用户自己建立的数据库(如果默认数据库是master,新建用户登录权限限制不起作用)。在建立访问该数据库权限的基础上,然后可以在Windows 2003中选择“开始”“关机”,注销原来的账户,用新的账户(比如meng)登录Windows 2003。登录成功后,启动SSMS就可以新的用户自动进入SQL Server。,4.废除Windows NT用户和SQL Server的连接 系统存储过程sp_grantlogin所添加的登录标识均存储在SQL Server的syslogins系统表中。以系统管理员身份调用系统存储过程sp_revokelogin
10、或从ssms中能够将它们从syslogin系统表中删除,这时在登录窗口中被删除的登录标识也将不再存在(需要刷新界面)。方法一:使用系统存储过程 语法格式:sp_revokelogin loginame=login 参数说明:login是待删除的SQL Server服务器登录标识。方法二:使用ssms,16.2.2 SQL Server登录账户建立与删除,在Windows NT/2003环境下,如果要使用SQL Server登录标识登录SQL Server,首先应将SQL Server的认证模式设置为混合模式。设置成混合认证模式后,可以使用系统存储过程或ssms创建SQL Server登录标识。
11、,1.创建SQL Server登录标识方法一:使用系统存储过程语法格式:sp_addlogin loginame=login,passwd=password,defdb=database,deflanguage=language,sid=sid,encryptopt=encryption_option,参数说明:Login为注册标识或SQL Server用户名,长度为1到128个字符,其中可以包括字母、符号和数字,但不能是空字符串,不能包含,不能与现有登录标识同名;Passwd为口令,默认口令是NULL(即不需要口令),用户可以在任何时候使用;Database指定用户在注册时连接到的默认数据库
12、,如果没有指定默认数据库,则默认数据库是master;sid 是新建登录标识的安全标识号,一般由系统自动建立。encryption_option说明登录标识口令是否需要加密存储到系统表中,其数据类型为varchar(20),它有以下三种取值:NULL:默认设置,口令加密存储;skip_encryption:要求不要加密口令。skip_encryption_old:所提供的口令被SQL Server前期版本加密,这种取值主要用于早期版本数据库的升级。language说明用户注册到SQL Server时使用的默认语言代码。,例:创建SQL Server登录账户wang。EXEC sp_addlog
13、in loginame=wang,passwd=1234-新建登录标识wangEXEC sp_addlogin loginame=wang1,passwd=1234,defdb=stu方法二:使用ssmsselect*from sys.syslogins,2用新建SQL server登录用户登录SQL Server首先设置安全认证模式成混合模式,再将登录的默认数据库选择成用户自己建立的数据库,在建立该用户访问该数据库权限的基础上,启动ssms,先断开原来的连接,再重新连接,然后选择SQL server身份认证,输入新的用户名和密码即可用新用户身份访问SQL Server。,3、删除SQL se
14、rver 登录标识如果管理员要禁止某个用户连接SQL server 服务器,则可调用系统存储过程sp_droplogin或使用ssms将其登录标识从系统中删除。方法一:使用系统存储过程语法格式:sp_droplogin loginame=login参数说明:login为存储在syslogin系统表中的SQL server登录标识。删除标识也就是删除该用户在syslogin表中的对应记录。方法二:使用ssms删除步骤类似上述Windows账户删除。,16.3 数据库访问权限的建立与删除 在数据库中,一个用户或工作组取得合法的登录帐号,只表明该帐号通过了Windows NT认证或者SQL Serv
15、er认证,但不能表明其可以对数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥有了数据库访问权限后,才能够访问数据库。,16.3.1 建立用户访问数据库的权限 16.3.2 删除用户访问数据库的权限,建立用户访问数据库的权限方法一:使用系统存储过程语法格式:sp_grantdbaccess loginame=login,name_in_db=name_in_db将登录账号用户或组添加到当前数据库,使该用户能够具有在当前数据库中执行活动的权限。参数说明:login是登录标识名称或Windows NT/2003用户或用户组名称。name_in_db是在数据库中为login参数指定登录标识所
16、创建的用户名称,它可以与登录名称不同,也可以相同。省略该参数时,所创建的数据库用户名称与login相同。,例:将上述建立的Windows 用户“ZUFE-MXHmeng”添加到“教学管理”数据库,并取名MANAGER。USE 教学管理GOEXEC sp_grantdbaccess ZUFE-MXHmeng,MANAGERGO注意:sa不能添加到数据库中;只有sysadmin固定服务器角色、db_accessadmin和db_owner固定数据库角色成员才能执行sp_grantdbaccess;不能从用户定义的事务中执行sp_grantdbaccess。方法二:使用ssms,16.3.2 删除用
17、户访问数据库的权限方法一:使用系统存储过程语法格式:sp_revokedbaccess name_in_db=name_in_db参数说明:name_in_db是在数据库中指定登录标识所创建的用户名称。例16-11删除windows账户“ZUFE-MXHmeng”名为“MANAGER”访问“教学管理”数据库的访问权限。USE 教学管理GOEXEC sp_revokedbaccess MANAGERGO方法二:使用ssms。,16.4 角色管理,角色是一个强大的工具,可以将用户集中到一个单元中,然后对该单元应用权限。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全 访问 控制
链接地址:https://www.31ppt.com/p-5985576.html