第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
6.1 SQL Server权限管理策略
6.2 用户权限管理
第 6章 SQL Server权限管理
上一章 返回目录
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
6.1 SQL Server权限管理策略
6.1.1 安全帐户认证
6.1.2 访问许可确认
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
6.1.1 安全帐户认证
安全帐户认证是用来确认登录 SQL Server的用户
的登录帐号和密码的正确性,由此来验证其是否具
有连接 SQL Server的权限。 SQL Server 2000提供了
两种确认用户的认证模式:
(一) Windows NT认证模式。
(二)混合认证模式。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
(一) Windows NT认证模式
SQL Server数据库系统通常运行在 Windows NT
服务器平台上, 而 NT作为网络操作系统, 本身就具
备 管理登 录, 验 证用户 合法性 的能力, 因此
Windows NT认证模式正是利用了这一用户安全性和
帐号管理的机制, 允许 SQL Server也可以使用 NT的
用户名和口令 。 在这种模式下, 用户只需要通过
Windows NT的认证, 就可以连接到 SQL Server,而
SQL Server本身也就不需要管理一套登录数据 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
(二)混合认证模式
混合认证模式允许用户使用 Windows NT安全性
或 SQL Server安全性连接到 SQL Server,这就意味
着用户可以使用他的帐号登录到 Windows NT,或者
使用他的登录名登录到 SQL Server系统。 NT的用户
既可以使用 NT认证,也可以使用 SQL Server认证。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
利用企业管理器进行认证模式的设置
其主要过程如下:
1,打开企业管理器, 用右键单击要设置认证模式
的服务器, 从快捷菜单中选择, 属性 ( properties),
选项, 则出现 SQL Server属性对话框 。
2,在 SQL Server属性对话框中选择安全性选项 。
3,在安全性选项栏中, 身份验证中可以选择要设
置的认证模式, 同时审核级别中还可以选择跟踪记
录用户登录时的哪种信息, 例如登录成功或登录失
败的信息等 。
4,在启动服务帐户中设置当启动并运行 SQL
Server时默认的登录者中哪一位用户 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
6.1.2 访问许可确认
但是通过认证阶段并不代表用户能够访问 SQL
Server中的数据, 同时他还必须通过许可确认 。 用户
只有在具有访问数据库的权限之后, 才能够对服务
器上的数据库进行权限许可下的各种操作, 这种用
户访问数据库权限的设置是通过用户帐号来实现的 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
6.2 用户权限管理
6.2.1 服务器登录帐号和用户帐号管理
6.2.2 许可(权限)管理
6.2.3 角色管理
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
6.2.1 服务器登录帐号和用户帐号管理
1,SQL Server服务器登录管理
SQL Server有三个默认的用户登录帐号:即 sa、
administrators\builtin和 guest。
2,用户帐号管理
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
1.利用企业管理器创建、管理 SQL Server登录帐号
其具体执行步骤如下:
(1)打开企业管理器,单击需要登录的服务器
左边的,+”号,然后展开安全性文件夹。
( 2 ) 用右键单击登录 ( login) 图标, 从快捷菜
单中选择新建登录 ( new login) 选项, 则出现 SQL
Server登录属性 — 新建登录对话框, 如图 6-2所示 。
( 3)在名称编辑框中输入登录名,在身份验证
选项栏中选择新建的用户帐号是 Windows NT认证模
式,还是 SQL Server认证模式。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
(4)选择服务器角色页框,如图 6-3所示。在
服务器角色列表框中,列出了系统的固定服务器角
色。
(5)选择数据库访问页框,如图 6-4所示。上
面的列表框列出了该帐号可以访问的数据库,单击
数据库左边的复选框,表示该用户可以访问相应的
数据库以及该帐号在数据库中的用户名。
(6)设置完成后,单击“确定”按钮即可完成
登录帐号的创建。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-2 新建登录帐号对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-3 服务器角色对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-4 数据库访问对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
使用 SQL Server的创建登录向导工具创建登
录帐号。
其具体操作过程如下:
图 6-5 --图 6-11
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-5 欢迎使用创建登录向导对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-6 选择身份验证模式对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-7 选择对用户帐号的安全性设置对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-8 输入登录信息对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-9 选择安全性角色对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-10 选择允许登录帐号访问的数据库对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
图 6-11 完成创建登录向导对话框
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
2.用户帐号管理
在数据库中,一个用户或工作组取得合法的登录
帐号,只表明该帐号通过了 Windows NT认证或者
SQL Server认证,但不能表明其可以对数据库数据
和数据库对象进行某种或者某些操作,只有当他同
时拥有了用户帐号后,才能够访问数据库。
利用企业管理器可以授予 SQL Server登录访问数
据库的许可权限。使用它可创建一个新数据库用户
帐号 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
6.2.2 许可(权限)管理
许可用来指定授权用户可以使用的数据库对象和
这些授权用户可以对这些数据库对象执行的操作。
用户在登录到 SQL Server之后,其用户帐号所归属
的 NT组或角色所被赋予的许可(权限)决定了该用
户能够对哪些数据库对象执行哪种操作以及能够访
问、修改哪些数据。在每个数据库中用户的许可独
立于用户帐号和用户在数据库中的角色,每个数据
库都有自己独立的许可系统,在 SQL Server中包括
三种类型的许可:即对象许可、语句许可和预定义
许可。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
三种许可类型
1、对象许可
表示对特定的数据库对象,即表、视图、字段和
存储过程的操作许可,它决定了能对表、视图等数
据库对象执行哪些操作。
2、语句许可
表示对数据库的操作许可,也就是说,创建数据
库或者创建数据库中的其它内容所需要的许可类型
称为语句许可。
3、预定义许可
是指系统安装以后有些用户和角色不必授权就有
的许可。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
可用于语句许可的 Transaction_SQL 语句
及其含义如下:
Create database:创建数据库
Create table:创建表
Create view:创建视图
Create rule:创建规则
Create default:创建缺省
Create procedure:创建存储过程
Create index:创建索引
Backup database:备份数据库
Backup log:备份事务日志
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
许可的管理
1,使用 SQL Server 企业管理器管理许可
SQL Server 可通过两种途径:即面向单一用
户和面向数据库对象的许可设置,来实现对语句
许可和对象许可的管理,从而实现对用户许可的
设定。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
Transaction_SQL 语句使用 grant,revoke和 deny
三种命令来实现管理权限。
2,使用 Transaction_SQL 语句
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
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}]
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
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]
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
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}]
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
6.2.3 角色管理
角色是 SQL Server 7.0版本引进的新概念,它代
替了以前版本中组的概念。利用角色,SQL Server
管理者可以将某些用户设置为某一角色,这样只对
角色进行权限设置便可以实现对所有用户权限的设
置,大大减少了管理员的工作量。 SQL Server提供
了用户通常管理工作的预定义服务器角色和数据库
角色。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
1、服务器角色
服务器角色是指根据 SQL Server的管理任务,以
及这些任务相对的重要性等级来把具有 SQL Server
管理职能的用户划分为不同的用户组,每一组所具
有的管理 SQL Server的权限都是 SQL Server内置的,
即不能对其进行添加、修改和删除,只能向其中加
入用户或者其他角色。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
七种常用的固定服务器角色
系统管理员:拥有 SQL Server所有的权限许可 。
服务器管理员:管理 SQL Server服务器端的设置 。
磁盘管理员:管理磁盘文件 。
进程管理员:管理 SQL Server系统进程 。
安全管理员:管理和审核 SQL Server系统登录 。
安装管理员:增加, 删除连接服务器, 建立数据库复制以及
管理扩展存储过程 。
数据库创建者:创建数据库, 并对数据库进行修改 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
2、数据库角色
数据库角色是为某一用户或某一组用户授予不同
级别的管理或访问数据库以及数据库对象的权限,
这些权限是数据库专有的,并且还可以使一个用户
具有属于同一数据库的多个角色。 SQL Server提供
了两种类型的数据库角色:即固定的数据库角色和
用户自定义的数据库角色。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
(1)固定的数据库角色
public:维护全部默认许可 。
db_owner:数据库的所有者, 可以对所拥有的数据库
执行任何操作 。
db_accessadmin:可以增加或者删除数据库用户, 工
作组和角色 。
db_addladmin:可以增加, 删除和修改数据库中的任
何对象 。
db_securityadmin:执行语句许可和对象许可 。
db_backupoperator:可以备份和恢复数据库 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
db_datareader:能且仅能对数据库中的任何表执
行 select操作, 从而读取所有表的信息 。
db_datawriter:能够增加, 修改和删除表中的数
据, 但不能进行 select操作 。
db_denydatareader:不能读取数据库中任何表中
的数据 。
db_denydatawriter:不能对数据库中的任何表执
行增加, 修改和删除数据操作 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
(2)用户自定义角色
创建用户定义的数据库角色就是创建一组用户,
这些用户具有相同的一组许可 。 如果一组用户需要
执行在 SQL Server中指定的一组操作并且不存在对
应的 Windows NT组, 或者没有管理 Windows NT用
户帐号的许可, 就可以在数据库中建立一个用户自
定义的数据库角色 。 用户自定义的数据库角色有两
种类型:即标准角色和应用程序角色 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
标准角色通过对用户权限等级的认定而将用户划
分为不用的用户组, 使用户总是相对于一个或多个
角色, 从而实现管理的安全性 。
应用程序角色是一种比较特殊的角色 。 当我们打
算让某些用户只能通过特定的应用程序间接地存取
数据库中的数据而不是直接地存取数据库数据时,
就应该考虑使用应用程序角色 。 当某一用户使用了
应用程序角色时, 他便放弃了已被赋予的所有数据
库专有权限, 他所拥有的只是应用程序角色被设置
的角色 。
标准角色和应用程序角色
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
管理角色的方式
1,使用企业管理器管理角色
2,使用存储过程管理角色
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
1,使用企业管理器管理角色
( 1 ) 管理服务器角色
打开企业管理器, 展开指定的服务器, 单击安全
性文件夹, 然后单击服务器角色图标, 选择需要的
选项, 根据提示操作 。
( 2 ) 管理数据库角色
在企业管理器中, 展开指定的服务器以及指定的
数据库, 然后用右键单击角色图标, 从快捷菜单中
选择新建数据库角色选项, 则出现数据库角色属
性 — 新建角色对话框, 根据提示即可新建角色 。
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
2,使用存储过程管理角色
(1)管理服务器角色
在 SQL Server中,管理服务器角色的存储过程主
要有两个:
sp_addsrvrolemember
sp_dropsrvrolemember
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
系统存储过程 sp_addsrvrolemember可以将某一登录
帐号加入到服务器角色中, 使其成为该服务器角色的成
员 。 其语法形式如下:
sp_addsrvrolemember login,role
系统存储过程 sp_dropsrvrolemember可以将某一登
录者从某一服务器角色中删除, 当该成员从服务器角色
中被删除后, 便不再具有该服务器角色所设置的权限 。
其语法形式如下:
sp_dropsrvrolemember
[@loginame=]’login’,[@rolename=]’role’
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
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’]
(2)管理数据库角色
第 6章 SQL Server权限管理
上一页 下一页 返回本章首页
Thank you very much!










下一章