数据库原理 第八章 保证数据安全性

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

国家信息化计算机教育认证高等职业教育电子信息类专业“双证课程”培养方案配套演示文稿中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室数据库原理与SQLServer第8章保证数据安全性中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室第8章保证数据安全性8.1设置登录数据库服务器的权限—登录账户管理8.2设置使用数据库的权限—用户管理8.3设置访问数据的权限—角色管理8.4设置获得访问的许可—许可管理实训安全管理中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室8.1设置登录数据库服务器的权限—登录账户管理8.1.1SQLServer2000的认证模式8.1.2配置SQLServer2000认证模式8.1.3创建登录账户8.1.4修改登录账户8.1.5删除登录账户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室8.1.1SQLServer2000的认证模式每个网络用户在访问SQLServer服务器时,都必须经过两个阶段的身份认证:第一个阶段的身份认证是认证用户是否具有连接服务器的资格,SQLServer使用“登录账户”来标识用户的连接资格;第二个阶段的身份认证是认证用户是否具有访问和操作数据库的资格。下面,首先讨论第一阶段的认证,也就是对登录账户的认证。中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室SQLServer2000对登录账户的认证,有两种模式•Windows认证模式只要用户通过了Windows平台的身份验证,就可以成功连接到SQLServer服务器。•SQLServer和Windows混合认证模式在这种方式下,对于可信连接,系统使用Windows认证模式;对于不可信连接,使用SQLServer认证模式。8.1.1SQLServer2000的认证模式中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室登录账户的认证过程8.1.1SQLServer2000的认证模式中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室8.1.2配置SQLServer2000认证模式在SQL-EM中,单击展开左侧窗口中的服务器组,选中要进行认证模式设置的服务器,单击右键,打开快捷菜单,选择“属性”命令,打开“SQLServer属性(配置)”对话框,选择其中的“安全性”选项卡。中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室设置认证模式设置对登录账户连接审核信息的记录方式8.1.2配置SQLServer2000认证模式中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室8.1.3创建登录账户登录账户的信息存储在系统数据库master的表syslogins中,当在SQLServer2000系统中增加一个登录账户时,一般要指定一个默认数据库。SQLServer2000有两个默认的登录账户:sa和BUILTIN\Administrators,它们拥有SQLServer2000系统和全部数据库中所有对象的权限。不管SQLServer2000实际的数据库所有权如何,它们被默认为是任何用户数据库的管理者。所以它们拥有最高的管理权限,可以执行服务器范围内的所有操作。这两个登录账户不同的地方是:sa使用的是SQLServer身份验证,而BUILTIN\Administrators使用的是Windows身份验证。中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室1.使用SQL语句sp_addlogin[@loginame=]'登录账户名'[,[@passwd=]'密码'][,[@defdb=]'数据库名'][,[@deflanguage=]'语言']8.1.3创建登录账户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室例8-1新建登录账户login1,密码为login1,默认数据库为student。8.1.3创建登录账户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室2.使用SQL-EM(1)启动SQL-EM,展开左侧窗口中指定的数据库服务器“安全性”文件夹,单击“登录”结点,右侧窗口显示已存在的登录账户的信息。(2)选择左边窗格中的“登录”结点,单击右键,打开快捷菜单,选择“新建登录”命令,打开“SQLServer登录属性-新建登录”对话框。中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室(3)单击“常规”选项卡,在“名称”文本框中输入新建登录账户的名称,也可以单击名称文本框后的按钮,选择Windows用户作为登录账户。同时,在该选项卡上还可以设置登录账户的身份验证模式、默认语言和默认数据库。2.使用SQL-EM中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室(4)单击“服务器角色”选项卡,可以设置该登录账户对应的服务器角色,在“数据库访问”选项卡上可以设置该登录账户的数据库访问许可。角色和访问许可的相关知识在8.3节和8.4节介绍。(5)单击“确定”按钮,完成新登录账户的创建。此时,在右侧窗口中可以看到新创建的登录账户的相关信息。2.使用SQL-EM中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室8.1.4修改登录账户1.使用SQL语句(1)修改登录账户默认的数据库修改登录账户默认的数据库可以通过执行系统存储过程sp_defaultdb实现。其基本语法格式为:sp_defaultdb[@loginame=]'登录账户',[@defdb=]'数据库名'中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室例8-2将登录账户login1的默认数据库修改为pubs。8.1.4修改登录账户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室(2)修改登录账户密码修改登录账户密码可以通过执行系统存储过程sp_password实现。其基本语法格式为:sp_password[[@old=]'原密码',]{[@new=]'新密码'}[,[@loginame=]'登录账户']8.1.4修改登录账户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室例8-3将登录账户login1的密码由login1改为abcdef。8.1.4修改登录账户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室2.使用SQL-EM(1)启动SQL-EM,展开左侧窗口中指定的数据库服务器“安全性”文件夹,单击“登录”结点,指向右侧窗口要修改的登录账户,单击右键,选择“属性”命令,打开“SQLServer登录属性”对话框。(2)修改该登录账户的密码、默认库等属性,最后单击“确定”按钮,完成登录账户的修改。中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室8.1.5删除登录账户1.使用SQL语句删除登录账户可以通过执行系统存储过程sp_droplogin实现。其基本语法格式为:sp_droplogin[@loginame=]'登录账户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室例8-4删除登录账户login1。8.1.5删除登录账户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室2.使用SQL-EM(1)启动SQL-EM,展开左侧窗口中指定的数据库服务器“安全性”文件夹,单击“登录”结点,指向右侧窗口要删除的登录账户,单击右键,选择“删除”命令,打开“确认删除登录账户”对话框。(2)单击“是”按钮,完成登录账户的删除。中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室8.2设置使用数据库的权限—用户管理8.2.1特殊的数据库用户8.2.2创建数据库用户8.2.3删除数据库用户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室8.2.1特殊的数据库用户在SQLServer2000中包含有以下三种特殊的数据库用户,具有特殊的权限和作用。(1)数据库所有者(dbo)(2)数据库对象所有者(3)guest。中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室1.数据库所有者SQLServer2000数据库的创建者即为该数据库的所有者。此外,固定服务器角色sysadmin的所有成员被映射为每一个数据库的dbo。dbo用户不能从数据库中删除,dbo对数据库具有所有操作权限,并且可以将所拥有的数据库操作权限授予其他用户。sysadmin成员所创建的数据库对象自动属于dbo,而不属于用户自身。所以在SQL语句中限定数据库对象时,如果数据库对象为sysadmin角色成员所创建,则使用dbo,否则使用创建者的用户名称限定数据库对象。8.2.1特殊的数据库用户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室例8-5如果student数据库有stonepf和stone两个用户,其中stonepf属于sysadmin角色,而stone是db_owner角色成员。他们分别在student数据库中建立两个数据表Table1和Table2,指定这两个对象时分别使用dbo和stone。脚本:SELECT*FROMMyDB.dbo.Table1SELECT*FROMMyDB.stone.Table28.2.1特殊的数据库用户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室2.数据库对象所有者SQLServer2000数据库对象包括表、索引、视图、默认、规则、触发器、用户定义函数和存储过程等,数据库对象的创建者即成为该数据库对象的所有者。数据库对象所有者隐含具有该对象的所有权限,只有他显式地向其他用户授权后,其他用户才能访问该数据库对象。在一个数据库中不同用户可以创建同名的数据库对象,所以当用户访问数据库对象时,必须对数据库对象所有者进行限定。例如下面的语句说明要检索用户stone所创建的Table1表:SELECT*FROMstone.Table1在SQL语句中不限定数据库对象所有者时,SQLServer2000将首先在数据库中查找属于当前用户的数据库对象。如果查找不到,则再查找属于dbo的数据库对象。如果再次查找失败,SQLServer2000认为数据库中无此数据库对象,从而结束该语句的执行,并向用户报告错误信息。8.2.1特殊的数据库用户中国高等职业技术教育研究会&CEAC信息化培训认证管理办公室3.guest用户guest用户是SQLServer2000数据库中的一个特殊用户,当某个SQLServer2000登录账户在数据库中没有建立对应的数据库用户,而又要访问该数据库时,SQLServer2000就查找数据库中是否存在guest用户。若存在该用户,就允许该登录账户使用guest用户的权限访问数据库,否则将拒绝其访问。SQLServer2000系统数据库master和tempdb中的guest用户账户不能被删除,而其他数据库中的guest用户均可被创建或删除。8.2.1特殊的数据库用户中国高等职业技术教育研究会&CEAC信息化培训认证管理办

1 / 76
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功