140 likes | 276 Views
9.8 SQL Server 数据库安全性管理. 数据库的安全管理主要是对数据库用户的合法性和操作权限的管理。数据库用户(在不至于引起混淆的情况下简称用户)是指具有合法身份的数据库使用者,角色是具有一定权限的用户组。 SQL Server 的用户或角色分为二级:一级为服务器级用户或角色;另一级为数据库级用户或角色。 SQL Server 的安全性管理包括以下几个方面:数据库系统登录管理、数据库用户管理、数据库系统角色管理以及数据库访问权限的管理。. 9.8 SQL Server 数据库安全性管理.
E N D
9.8 SQL Server数据库安全性管理 • 数据库的安全管理主要是对数据库用户的合法性和操作权限的管理。数据库用户(在不至于引起混淆的情况下简称用户)是指具有合法身份的数据库使用者,角色是具有一定权限的用户组。SQL Server的用户或角色分为二级:一级为服务器级用户或角色;另一级为数据库级用户或角色。 • SQL Server的安全性管理包括以下几个方面:数据库系统登录管理、数据库用户管理、数据库系统角色管理以及数据库访问权限的管理。
9.8 SQL Server数据库安全性管理 9.8.1 数据库系统登陆管理9.8.2 数据库用户管理9.8.3 数据库系统角色管理9.8.4 SQL Server权限管理
9.8.1 数据库系统登陆管理 • 1.登录账号 • 登录账号也称为登录用户或登录名,是服务器级用户访问数据库系统的标识。为了访问SQL Server系统,用户必须提供正确的登录账号,这些登录账号既可以是Windows登录账号,也可以是SQL Server登录账号,但它必须是符合标识符规则的惟一名字。 • 2.查看登录账号 • “登录账号”存放在SQL服务器的安全性文件夹中。当进入企业管理器,打开指定的SQL服务器组和SQL服务器,并选择“安全性”文件夹的系列操作后,就会出现如图9.10所示的屏幕窗口。通过该窗口可以看出安全性文件夹包括4个文件夹:登录、服务器角色、连接服务器和远程服务器。单击“登录”可以看到当前数据库服务器的合法登录用户的一些信息。
9.8.1 数据库系统登陆管理 • 3.创建一个登录账号 • 创建一个登录账号的操作步骤为:右击“登录”文件夹,在弹出的菜单中选择“新建登录”选项后,会出现图9.11所示新建登录对话框界面,回答相应信息即可。也可以通过此界面设定该登录用户的服务器角色和要访问的数据库,这样该登录账号同时也作为数据库用户。 • 4.编辑或删除登录账号 • 单击“登录”文件夹,在出现的显示登录账号的窗口中,用鼠标右击需要操作的登录名。选择“属性”便可对该用户已设定内容进行重新编辑。选择“删除”便可删除该登录用户。
9.8.2数据库用户管理 • 1.用户账号 • 数据库级用户,即是某个数据库的访问标识。在SQL Server的数据库中,对象的全部权限均由用户账号控制。用户账号可以与登录账号相同也可以不相同。 • 数据库用户必须是登录用户。登录用户只有成为数据库用户(或数据库角色)后才能访问数据库。 • 2.查看用户账号 • 使用企业管理器可以创建、查看和管理数据库用户。
9.8.2数据库用户管理 • 3.创建新的数据库用户 • 创建新的数据库用户有两种方法: • (1) 在创建登录用户时,指定他作为数据库用户的身份。 • (2) 单独创建数据库用户,这种方法适于在创建登录账号时没有创建数据库用户的情况 。 • 4.编辑或删除数据库用户账号 • 单击“用户”文件夹,在出现的显示用户账号的窗口中,右击需要操作的用户账号,选择“属性”命令,出现该用户的角色和权限窗口,可对该用户已设定内容进行重新编辑;选择“删除”便可删除该数据库用户 。
9.8.3数据库系统角色管理 • SQL Server中有两种角色,即服务器角色和数据库角色。 • 1.服务器角色 • 一台计算机可以承担多个 SQL Server服务器的管理任务。固定服务器角色是对服务器级用户即登录账号而言的。它是指在登录时授予该登录账号对当前服务器范围内的权限。这类角色可以在服务器上进行相应的管理操作,完全独立于某个具体的数据库。 • 固定服务器角色的信息存储在master数据库的sysxlogins系统表中。 • 注意: • 固定服务器角色不能被删除、修改和增加。 • (2) 固定服务器角色的成员都可以将其他的登录账号增加到该服务器角色中。 • SQL Server 2000提供了8种固定服务器角色,如图9.13所示。
9.8.3 数据库系统角色管理 • 2.数据库角色 • (1) 固定数据库角色:SQL Server 2000提供了10种固定数据库角色,如表9-11所示。 • 注意:① SQL Server 2000提供的10种固定数据库角色不能被删除和修改。 • ② 固定数据库角色的成员可以增加其他用户到该角色中。 • (2)用户定义的数据库角色:用户定义的数据库角色类型有两种:标准角色(Standard Role)和应用程序角色(Application Role)。标准角色用于正常的用户管理,它可以包括成员。而应用程序角色是一种特殊角色,需要指定口令,是一种安全机制。对用户定义的数据库角色,可以设置或修改其权限。
9.8.4 SQL Server权限管理 • 1.权限的种类 • (1) 对象权限 • 对象权限是用于控制用户对数据库对象执行某些操作的权限。数据库对象通常包括表、视图和存储过程。对象权限适用的数据库对象和Transact-SQL语句如表9-12所示。 • (2) 语句权限 • 语句权限是用于控制数据库操作或创建数据库中的对象操作的权限。语句权限用于语句本身,它只能由SA或dbo授予、禁止或撤消。语句权限适用的 Transact-SQL语句和功能如表9-13所示。 • (3) 隐含权限 • 隐含权限指系统预定义而不需要授权就有的权限,包括固定服务器角色成员、固定数据库角色成员、数据库所有者(dbo)和数据库对象所有者(dboo)所拥有的权限。
9.8.4 SQL Server权限管理 • 2.权限的管理 • 对象权限的管理可以通过两种方法实现:一种是通过对象管理它的用户及操作权限,另一种是通过用户管理对应的数据库对象及操作权限。 • 3.语句权限的管理 • SQL Server的企业管理器中还提供了管理语句权限的方法 。 • 4.使用Transact-SQL语句管理权限 • SQL Server 2000的安全性管理,不仅可以通过SQL Server的企业管理器的相应操作实现,还可以在查询分析器中通过Transact-SQL语句实现,方法与标准SQL的类似。 • 使用系统存储过程 sp_helprotect可以查看当前数据库中指定数据对象或语句上的权限信息