资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第10章 SQL SERVER权限管理,10.1 SQL Server权限管理策略,对于一个数据库管理员来说,安全性就意味着必须保证那些具有特殊数据访问权限的用户能够登录到SQL Server,并且能够访问数据以及对数据库对象实施各种权限范围内的操作;同时,他还要防止所有的非授权用户的非法操作。 SQL Server提供了既有效又容易的安全管理模式,这种安全管理模式是建立在安全身份验证和访问许可两者机制上的。,10.1.1 安全身份验证,安全身份验证用来确认登录SQL Server的用户的登录帐号和密码的正确性,由此来验证该用户是否具有连接SQL Server的权限。任何用户在使用SQL Server数据库之前,必须经过系统的安全身份验证。 SQL Server 2005提供了两种确认用户对数据库引擎服务的验证模式: (1)Windows身份验证 (2)SQL Server身份验证。,10.1.1 安全身份验证,(1)SQL Server数据库系统通常运行在Windows服务器上,而Windows作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,因此Windows验证模式正是利用了这一用户安全性和帐号管理的机制,允许SQL Server可以使用Windows的用户名和口令。在这种模式下,用户只需要通过Windows的验证,就可以连接到SQL Server,而SQL Server本身也就不需要管理一套登录数据。 (2)SQL Server身份验证模式允许用户使用SQL Server安全性连接到SQL Server。在该认证模式下,用户在连接SQL Server时必须提供登录名和登录密码,这些登录信息存储在系统表syslogins中,与Windows的登录帐号无关。SQL Server自身执行认证处理,如果输入的登录信息与系统表syslogins中的某条记录相匹配,则表明登录成功。,10.1.1 安全身份验证,利用SQL Server管理平台可以进行认证模式的设置,步骤如下: (1)打开Server管理平台,右击要设置认证模式的服务器,从弹出的快捷菜单中选择“属性”选项,则出现SQL Server属性对话框。 (2)在SQL Server属性对话框中选择“安全性”选项页,如图10-1所示。 (3)在“服务器身份验证”选项栏中,可以选择要设置的认证模式,同时在“登录审核”中还可以选择跟踪记录用户登录时的哪种信息,例如登录成功或登录失败的信息等。 (4)在“服务器代理帐户”选项栏中设置当启动并运行SQL Server时,默认的登录者中哪一位用户。,图10-1 SQL Server服务器属性页框,10.1.2 访问许可确认,通过了认证并不代表用户就能访问SQL Server中的数据,同时他还必须通过许可确认。用户只有在具有访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作,这种用户访问数据库权限的设置是通过用户帐号来实现的 。,10.2 用户权限管理,10.2.1 服务器登录帐号和用户帐号管理 10.2.2 许可(权限)管理 10.2.3 角色管理,10.2.1服务器登录帐号和用户帐号管理,SQL Server服务器登录管理 利用SQL Server管理平台可以创建、管理SQL Server登录帐号。其具体执行步骤如下: (1)打开SQL Server管理平台,单击需要登录的服务器左边的“+”号,然后展开安全性文件夹。 (2)右击登录名(login)图标,从弹出的快捷菜单中选择“新建登录名”选项,则出现SQL Server“登录名新建”对话框,如图10-2所示。,图10-2 新建登录名对话框,10.2.1服务器登录帐号和用户帐号管理,SQL Server服务器登录管理 (3)在“名称”文本框中输入登录名,在身份验证选项栏中选择新建的用户帐号是Windows 认证模式,或是SQL Server认证模式。 (4)选择“服务器角色”页框,如图10-3所示。在服务器角色列表框中,列出了系统的固定服务器角色。在这些固定服务器角色的左端有相应的复选框,打勾的复选框表示该登录帐号是相应的服务器角色成员。,图10-3 服务器角色对话框,10.2.1服务器登录帐号和用户帐号管理,SQL Server服务器登录管理 (5)选择“用户映射”页框,如图10-4所示。上面的列表框列出了“映射到此登录名的用户”,单击左边的复选框设定该登录账号可以访问的数据库以及该帐号在各个数据库中对应的用户名。下面的列表框列出了相应的“数据库角色成员身份”清单,从中可以指定该帐号所属的数据库角色。,图10-4 用户映射对话框,10.2.1服务器登录帐号和用户帐号管理,SQL Server服务器登录管理 (6)选择“安全对象”页框,如图10-5所示。安全对象是 SQL Server数据库引擎授权系统控制对其进行访问的资源。点击“添加”按钮,可对不同类型的安全对象进行安全授予或拒绝。 (7)设置完成后,单击“确定”按钮即可完成登录帐号的创建。,图10-5 安全对象对话框,10.2.1服务器登录帐号和用户帐号管理,2. 用户帐号管理 在一个数据库中,用户帐号惟一标识一个用户,用户对数据库的访问权限以及对数据库对象的所有关系都是通过用户帐号来控制的。 利用SQL Server管理平台可以授予SQL Server登录访问数据库的许可权限。,10.2.1服务器登录帐号和用户帐号管理,2. 用户帐号管理 利用SQL Server管理平台创建一个新数据库用户帐号的过程如下: 打开SQL Server管理平台,展开要登录的服务器和数据库文件夹,然后展开要创建用户的数据库及安全文件夹,右击用户图标,从快捷菜单中选择“新建用户”选项,则出现“数据库用户新建”对话框,如图10-6所示。 在用户名框内输入数据库用户名称,在登录名选择框内选择已经创建的登录帐号,然后在下面的数据库角色成员选择框中为该用户选择数据库角色,最后单击“确定”按钮即可完成数据库用户的创建。,图10-6 新建数据库用户对话框,10.2.1服务器登录帐号和用户帐号管理,2. 用户帐号管理 同样,在SQL Server 管理平台中,也可以查看或者删除数据库用户,方法是:展开某一数据库,选中用户图标,则在右面的页框中显示当前的数据库的所有用户,如图10-7所示。要删除数据库用户,则在右面的页框中右击所要删除的数据库用户,从弹出的快捷菜单中选择“删除”选项,则会从当前的数据库中删除该数据库用户。,图10-7 管理数据库用户对话框,10.2.2 许可(权限)管理,许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。用户在登录到SQL Server之后,其用户帐号所归属的Windwos组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色,每个数据库都有自己独立的许可系统。 在SQL Server中包括三种类型的许可:即对象许可、语句许可和预定义许可。,10.2.2 许可(权限)管理,对象许可表示对特定的数据库对象(即表、视图、字段和存储过程)的操作许可,它决定了能对表、视图等数据库对象执行哪些操作。如果用户想要对某一对象进行操作,其必须具有相应的操作的权限。表和视图许可用来控制用户在表和视图上执行SELECT,INSERT,UPDATE和DELETE语句的能力。字段许可用来控制用户在单个字段上执行SELECT,UPDATE和REFERENCES操作的能力。存储过程许可用来控制用户执行EXECUTE语句的能力。 语句许可表示对数据库的操作许可,也就是说,创建数据库或者创建数据库中的其他内容所需要的许可类型称为语句许可。这些语句通常是一些具有管理性的操作,如创建数据库、表和存储过程等。这种语句虽然仍包含有操作的对象,但这些对象在执行该语句之前并不存在于数据库中。因此,语句许可针对的是某个SQL语句,而不是数据库中已经创建的特定的数据库对象。 预定义许可是指系统安装以后有些用户和角色不必授权就有的许可。其中的角色包括固定服务器角色和固定数据库角色,用户包括数据库对象所有者。只有固定角色或者数据库对象所有者的成员才可以执行某些操作。执行这些操作的许可就称为预定义许可。,10.2.2 许可(权限)管理,许可的管理包括对许可的授权、否定和收回。在SQL Server中,可以使用SQL Server管理平台和Transaction_SQL 语句两种方式来管理许可。 1. 使用SQL Server 管理平台管理许可 SQL Server 可通过两种途径实现对用户许可的设定: (1)面向单一用户 (2)面向数据库对象的许可设置。,10.2.2 许可(权限)管理,1. 使用SQL Server 管理平台管理许可 (1)面向单一用户的许可设置。其具体过程如下: 在SQL Server管理平台中,展开服务器和数据库,单击用户图标,此时在右面的页框中将显示数据库的所有用户。在数据库用户清单中,右击要进行许可设置的用户,从弹出的快捷菜单中选择“属性”选项,则出现数据库用户属性对话框,选择“安全对象”页框,如图10-8所示。,图10-8 数据库用户属性对话框,10.2.2 许可(权限)管理,1. 使用SQL Server 管理平台管理许可 (1)面向单一用户的许可设置。 在上页对话框中单击“添加”按钮,则弹出“添加对象”对话框,如图10-9所示。选择“特定对象”单选钮后,出现如图10-10所示的对话框,图10-9 添加对象对话框,图10-10 选择对象对话框,10.2.2 许可(权限)管理,1. 使用SQL Server 管理平台管理许可 (1)面向单一用户的许可设置。 点击“确定”后则出现图10-11所示的对话框。在该对话框中可以进行对象许可的设置。点击对话框底部“列权限”按钮,出现如图10-12所示对话框,在该对话框中可以选择用户对哪些列具有哪些权限。最后单击“确定”按钮即可完成许可的设置。,图10-11 设置对象权限对话框,图10-12 设置列权限对话框,10.2.2 许可(权限)管理,1. 使用SQL Server 管理平台管理许可 (1)面向单一用户的许可设置。 在如图10-13所示的数据库用户常规选项页中,如果在“数据库角色成员身份”选项栏中选择一个数据库角色,实际上就完成了数据库用户语句许可的设置。因为对于这些数据库固定角色,SQL Server已经定义了其具有哪些语句许可。,图10-13 数据库用户属性常规页框,10.2.2 许可(权限)管理,1. 使用SQL Server 管理平台管理许可 (2)面向数据库对象的许可设置。 在SQL Server 管理平台中,展开服务器和数据库,然后选择需要设置的用户对象,即表、视图、存储过程等,在右面的页框中选择要进行许可设置的对象,右击该对象,从弹出的快捷菜单中选择“属性”选项,出现对象属性对话框,在该对话框中选择“权限”页框,单击“添加”按钮设置好相应的对象许可后,如图10-14所示,单击“确定”按钮即可完成数据库对象的许可设置。,图10-14 表属性中的权限对话框,10.2.2 许可(权限)管理,2.使用Transaction_SQL 语句 Transaction-SQL 语句使用grant、revoke和deny三种命令来管理权限,相关的语法和实例可参照第3章数据控制语言部分。,10.2.3 角色管理,角色定义了常规的 SQL Server 用户类别。每种角色将该类别的用户与其使用 SQL Server时执行的任务集以及成功完成这些任务所需的知识相关联。利用角色,SQL Server管理者可以将某些用户设置为某一角色,这样只要对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。 SQL Server提供了用户通常管理工作的预定义服务器角色和数据库角色。用户还可以创建自己的数据库角色,以便表示某一类进行同
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号