Presentation is loading. Please wait.

Presentation is loading. Please wait.

第6章 SQL Server权限管理 6.1 SQL Server权限管理策略 6.2 用户权限管理 上一章 返回目录.

Similar presentations


Presentation on theme: "第6章 SQL Server权限管理 6.1 SQL Server权限管理策略 6.2 用户权限管理 上一章 返回目录."— Presentation transcript:

1 第6章 SQL Server权限管理 6.1 SQL Server权限管理策略 6.2 用户权限管理 上一章 返回目录

2 6.1 SQL Server权限管理策略 安全帐户认证 访问许可确认

3 安全帐户认证 安全帐户认证是用来确认登录SQL Server的用户的登录帐号和密码的正确性,由此来验证其是否具有连接SQL Server的权限。 SQL Server 2000提供了两种确认用户的认证模式: (一)Windows NT认证模式。 (二)混合认证模式。

4 (一)Windows NT认证模式 SQL Server数据库系统通常运行在Windows NT服务器平台上,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,因此Windows NT认证模式正是利用了这一用户安全性和帐号管理的机制,允许SQL Server也可以使用NT的用户名和口令。在这种模式下,用户只需要通过Windows NT的认证,就可以连接到SQL Server,而SQL Server本身也就不需要管理一套登录数据。

5 (二)混合认证模式 混合认证模式允许用户使用Windows NT安全性或SQL Server安全性连接到SQL Server,这就意味着用户可以使用他的帐号登录到Windows NT,或者使用他的登录名登录到SQL Server系统。NT的用户既可以使用NT认证,也可以使用SQL Server认证。

6 利用企业管理器进行认证模式的设置 其主要过程如下:
1. 打开企业管理器,用右键单击要设置认证模式的服务器,从快捷菜单中选择“属性(properties)”选项,则出现SQL Server属性对话框。 2. 在SQL Server属性对话框中选择安全性选项。 3. 在安全性选项栏中,身份验证中可以选择要设置的认证模式,同时审核级别中还可以选择跟踪记录用户登录时的哪种信息,例如登录成功或登录失败的信息等。 4. 在启动服务帐户中设置当启动并运行SQL Server时默认的登录者中哪一位用户。

7 访问许可确认 但是通过认证阶段并不代表用户能够访问SQL Server中的数据,同时他还必须通过许可确认。用户只有在具有访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作,这种用户访问数据库权限的设置是通过用户帐号来实现的。

8 6.2 用户权限管理 服务器登录帐号和用户帐号管理 许可(权限)管理 角色管理

9 6.2.1 服务器登录帐号和用户帐号管理 1. SQL Server服务器登录管理
服务器登录帐号和用户帐号管理 1. SQL Server服务器登录管理 SQL Server有三个默认的用户登录帐号:即sa、administrators\builtin和guest。 2. 用户帐号管理

10 1.利用企业管理器创建、管理SQL Server登录帐号
其具体执行步骤如下: (1)打开企业管理器,单击需要登录的服务器左边的“+”号,然后展开安全性文件夹。 (2)用右键单击登录(login)图标,从快捷菜单中选择新建登录(new login)选项,则出现SQL Server登录属性—新建登录对话框,如图6-2所示。 (3)在名称编辑框中输入登录名,在身份验证选项栏中选择新建的用户帐号是Windows NT认证模式,还是SQL Server认证模式。

11 (4)选择服务器角色页框,如图6-3所示。在服务器角色列表框中,列出了系统的固定服务器角色。
(5)选择数据库访问页框,如图6-4所示。上面的列表框列出了该帐号可以访问的数据库,单击数据库左边的复选框,表示该用户可以访问相应的数据库以及该帐号在数据库中的用户名。 (6)设置完成后,单击“确定”按钮即可完成登录帐号的创建。

12 图6-2 新建登录帐号对话框

13 图6-3 服务器角色对话框

14 图6-4 数据库访问对话框

15 使用SQL Server的创建登录向导工具创建登录帐号。
其具体操作过程如下: 图6-5 --图6-11

16 图6-5 欢迎使用创建登录向导对话框

17 图6-6 选择身份验证模式对话框

18 图6-7 选择对用户帐号的安全性设置对话框

19 图6-8 输入登录信息对话框

20 图6-9 选择安全性角色对话框

21 图 选择允许登录帐号访问的数据库对话框

22 图 完成创建登录向导对话框

23 2.用户帐号管理 在数据库中,一个用户或工作组取得合法的登录帐号,只表明该帐号通过了Windows NT认证或者SQL Server认证,但不能表明其可以对数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥有了用户帐号后,才能够访问数据库。 利用企业管理器可以授予SQL Server登录访问数据库的许可权限。使用它可创建一个新数据库用户帐号 。

24 许可(权限)管理 许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。用户在登录到SQL Server之后,其用户帐号所归属的NT组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色,每个数据库都有自己独立的许可系统,在SQL Server中包括三种类型的许可:即对象许可、语句许可和预定义许可。

25 三种许可类型 1、对象许可 表示对特定的数据库对象,即表、视图、字段和存储过程的操作许可,它决定了能对表、视图等数据库对象执行哪些操作。
2、语句许可 表示对数据库的操作许可,也就是说,创建数据库或者创建数据库中的其它内容所需要的许可类型称为语句许可。 3、预定义许可 是指系统安装以后有些用户和角色不必授权就有的许可。

26 可用于语句许可的Transaction_SQL 语句 及其含义如下:
Create database:创建数据库 Create table:创建表 Create view:创建视图 Create rule:创建规则 Create default:创建缺省 Create procedure:创建存储过程 Create index:创建索引 Backup database:备份数据库 Backup log:备份事务日志

27 许可的管理 1. 使用SQL Server 企业管理器管理许可

28 2. 使用Transaction_SQL 语句 Transaction_SQL 语句使用grant、revoke和deny三种命令来实现管理权限。

29 Grant语句其语法形式如下: (1)对语句的许可
Grant {all|statement[,…n]} to security_account[,…n] (2)对对象的许可 grant { {all [priviledges]|permission[,…n]} [(column[,…n])] on {table|view} |on {table|view} [(column[,…n])] |on {stored_procedure|extended_procedure} } to security_account[,…n] [as {group|role}]

30 Deny语句其语法形式如下: (1)否定语句的许可
deny {all|statement[,…n]} to security_account [,…n] (2)否定对象的许可 deny { {all [priviledges]|permission[,…n]} [(column[,…n])] on {table|view} |on {table|view} [(column[,…n])] |on {stored_procedure|extended_procedure} } to security_account[,…n]

31 Revoke语句其语法形式如下: (1)收回语句的许可
revoke {all|statement[,…n]} from security_account [,…n] (2)收回对象的许可 revoke [grant option for] { {all [priviledges]|permission[,…n]} [(column[,…n])] on {table|view} |on {stored_procedure|extended_procedure} } from security_account[,…n] [as {group|role}]

32 角色管理 角色是SQL Server 7.0版本引进的新概念,它代替了以前版本中组的概念。利用角色,SQL Server管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。SQL Server提供了用户通常管理工作的预定义服务器角色和数据库角色。

33 1、服务器角色 服务器角色是指根据SQL Server的管理任务,以及这些任务相对的重要性等级来把具有SQL Server管理职能的用户划分为不同的用户组,每一组所具有的管理SQL Server的权限都是SQL Server内置的,即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。

34 七种常用的固定服务器角色 系统管理员:拥有SQL Server所有的权限许可。 服务器管理员:管理SQL Server服务器端的设置。
磁盘管理员:管理磁盘文件。 进程管理员:管理SQL Server系统进程。 安全管理员:管理和审核SQL Server系统登录。 安装管理员:增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。 数据库创建者:创建数据库,并对数据库进行修改。

35 2、数据库角色 数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。SQL Server提供了两种类型的数据库角色:即固定的数据库角色和用户自定义的数据库角色。

36 (1)固定的数据库角色 public:维护全部默认许可。 db_owner:数据库的所有者,可以对所拥有的数据库执行任何操作。
db_accessadmin:可以增加或者删除数据库用户、工作组和角色。 db_addladmin:可以增加、删除和修改数据库中的任何对象。 db_securityadmin:执行语句许可和对象许可。 db_backupoperator:可以备份和恢复数据库。

37 db_datareader:能且仅能对数据库中的任何表执行select操作,从而读取所有表的信息。
db_datawriter:能够增加、修改和删除表中的数据,但不能进行select操作。 db_denydatareader:不能读取数据库中任何表中的数据。 db_denydatawriter:不能对数据库中的任何表执行增加、修改和删除数据操作。

38 (2)用户自定义角色 创建用户定义的数据库角色就是创建一组用户,这些用户具有相同的一组许可。如果一组用户需要执行在SQL Server中指定的一组操作并且不存在对应的Windows NT组,或者没有管理Windows NT用户帐号的许可,就可以在数据库中建立一个用户自定义的数据库角色。用户自定义的数据库角色有两种类型:即标准角色和应用程序角色。

39 标准角色和应用程序角色 标准角色通过对用户权限等级的认定而将用户划分为不用的用户组,使用户总是相对于一个或多个角色,从而实现管理的安全性。
应用程序角色是一种比较特殊的角色。当我们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据而不是直接地存取数据库数据时,就应该考虑使用应用程序角色。当某一用户使用了应用程序角色时,他便放弃了已被赋予的所有数据库专有权限,他所拥有的只是应用程序角色被设置的角色。

40 管理角色的方式 1. 使用企业管理器管理角色 2. 使用存储过程管理角色

41 1. 使用企业管理器管理角色 (1)管理服务器角色
打开企业管理器,展开指定的服务器,单击安全性文件夹,然后单击服务器角色图标,选择需要的选项,根据提示操作。 (2)管理数据库角色 在企业管理器中,展开指定的服务器以及指定的数据库,然后用右键单击角色图标,从快捷菜单中选择新建数据库角色选项,则出现数据库角色属性—新建角色对话框,根据提示即可新建角色。

42 2. 使用存储过程管理角色 (1)管理服务器角色 在SQL Server中,管理服务器角色的存储过程主要有两个:
sp_addsrvrolemember sp_dropsrvrolemember

43 系统存储过程sp_addsrvrolemember可以将某一登录帐号加入到服务器角色中,使其成为该服务器角色的成员。其语法形式如下:
sp_addsrvrolemember login,role 系统存储过程sp_dropsrvrolemember可以将某一登录者从某一服务器角色中删除,当该成员从服务器角色中被删除后,便不再具有该服务器角色所设置的权限。其语法形式如下: sp_dropsrvrolemember

44 (2)管理数据库角色 sp_addrole:用来创建一个新的数据库角色 sp_addrole role,owner
sp_droprole:用于删除一个数据库角色 sp_droprole role sp_helprole:显示当前数据库所有的数据库角色的所有信息 sp_helprole [‘role’] sp_addrolemember:向数据库某一角色中添加数据库用户sp_addrolemember role,security_account sp_droprolemember:用来删除某一角色的用户 sp_droprolemember role,security_account sp_helprolemember:用于显示某一数据库角色的所有成员 sp_helprolemember [‘role’]

45 Thank you very much! 谢谢您的光临,再见! 下一章


Download ppt "第6章 SQL Server权限管理 6.1 SQL Server权限管理策略 6.2 用户权限管理 上一章 返回目录."

Similar presentations


Ads by Google