第11章sql server的安全管理new_第1页
第11章sql server的安全管理new_第2页
第11章sql server的安全管理new_第3页
第11章sql server的安全管理new_第4页
第11章sql server的安全管理new_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL Server20052022-2-271第第11章章 SQL Server安全管理安全管理 SQL Server20052第第1111章章 SQL Server SQL Server安全管理安全管理 学习要点:学习要点: SQL Server的身份验证模式的身份验证模式 SQL Server的登录账户的管理的登录账户的管理 用户的管理用户的管理 角色管理和权限管理角色管理和权限管理 SQL Server20053第第1111章章 SQL Server SQL Server的安全性管理的安全性管理 SQL Server 的身份验证模式的身份验证模式1登录账户管理登录账户管理 2数据库用户

2、管理数据库用户管理3角色管理角色管理4权限管理权限管理5SQL Server2005411.1 SQL Server的身份验证模式 用户想操作SQL Server中某一数据库中的数据,必须满足以下3个条件:首先,登录SQL Server服务器时必须通过身份验证;其次,必须是该数据库的用户或者是某一数据库角色的成员;最后,必须拥有执行该操作的权限。从上面三个条件可以看出SQL Server数据库的安全检查是通过 登录名、用户、权限来完成的。 SQL Server2005511.1 SQL Server的身份验证模式11.1.1 Windows 身份验证模式身份验证模式 当用户通过当用户通过Win

3、dows用户帐户进行连接时,用户帐户进行连接时,SQL Server通过回叫通过回叫Windows 以获得信息,以确定该帐以获得信息,以确定该帐户是否有权限登录。户是否有权限登录。在这种方式下,用户不必提供登录名和密码让在这种方式下,用户不必提供登录名和密码让SQL server验证。验证。 SQL Server2005611.1 SQL Server的身份验证模式11.1.2混合验证模式混合验证模式 混合验证模式使用户能够通过混合验证模式使用户能够通过Windows身份验证或身份验证或SQL Server身份验证与身份验证与SQL Server实例连接。实例连接。在在SQL Server验证

4、模式下,验证模式下,SQL Server在在sys.syslogins系统视图中检测输入的登录名和密系统视图中检测输入的登录名和密码。如果存在该登录名,并且密码也是匹配的,码。如果存在该登录名,并且密码也是匹配的,那么该登录名可以登录到那么该登录名可以登录到SQL Server;否则,登;否则,登录失败。录失败。SQL Server验证模式下,用户必须提供登录名和密验证模式下,用户必须提供登录名和密码。码。SQL Server2005711.1 SQL Server的身份验证模式11.1.3设置验证模式设置验证模式可以使用可以使用SQL Server Management Studio来来设置

5、或改变验证模式。设置或改变验证模式。步骤:步骤: 1)打开)打开SQL Server Management Studio,在在“对象资源管理器对象资源管理器”中,右击服务器,再中,右击服务器,再单击单击 “属性属性” ,出现服务器属性对话框,单,出现服务器属性对话框,单击击“安全性安全性” 选择页,如图选择页,如图11-1所示。所示。SQL Server2005811.1 SQL Server的身份验证模式SQL Server2005911.1 SQL Server的身份验证模式2)选择)选择“Windows身份验证模式身份验证模式” 或或 “SQL Server和和Windows身份验证模式

6、身份验证模式” (混合模式)。(混合模式)。3)在)在“登录审核登录审核”中设置是否对用户登录中设置是否对用户登录SQL Server 2005服务器的情况进行审核,即是否将登录成功和服务器的情况进行审核,即是否将登录成功和失败的信息写入失败的信息写入SQL Server错误日志中。错误日志中。SQL Server20051011.2登录账户管理11.2.1 系统安装时已经创建的登录账户系统安装时已经创建的登录账户 SQL Server 2005安装好之后,系统会自动产生一些安装好之后,系统会自动产生一些系统内置登录账户。系统内置登录账户。本地管理员组(本地管理员组(BUILTAdminist

7、rators) 默认属于默认属于sysadmin角色中的成员,因此具有管理员角色中的成员,因此具有管理员权限。权限。系统管理员系统管理员 (sa) 默认情况下,它指派给固定服务器角色默认情况下,它指派给固定服务器角色 sysadmin,并不能进行更改。并不能进行更改。 SQL Server20051111.2登录账户管理11.2.2创建登录账户1使用SQL Server Management Studio 添加 Windows登录账户 注意:授权用户或组访问SQL Server时,此Windows用户和组必须事先存在。 2使用SQL Server Management Studio添加SQL

8、Server登录账户(展开服务器-安全性-右击“登录名”)SQL Server20051211.2登录账户管理3使用使用CREATE LOGIN语句创建登录账户。语句创建登录账户。 例例11.1 创建一个使创建一个使Windows用户用户HBSIZangSan得以连接到得以连接到SQL Server 的登录账户。的登录账户。(HBSI是服务器名,是服务器名,windows用用户户ZangSan必须已存在必须已存在) CREATE LOGIN HBSIZhangSan FROM WINDOWS 例例11.2 创建一个创建一个SQL Server 登录,登录名为登录,登录名为lisi并指定密码并指

9、定密码abcd。 CREATE LOGIN lisi WITH PASSWORD = abcdSQL Server20051311.2登录账户管理11.2.3 修改登录账户修改登录账户1使用使用Management Studio修改登录账户的修改登录账户的属性:属性: 在在Management Studio的的“对象资源管理器对象资源管理器”中,展开服务器下的中,展开服务器下的“安全性安全性”节点,展开节点,展开“登录名登录名”,右击需要修改的登录名,选择,右击需要修改的登录名,选择“属性属性”,在弹出的,在弹出的“登录属性登录属性”对话框对话框 中进中进行相应的属性修改。行相应的属性修改。

10、SQL Server20051411.2登录账户管理2使用使用ALTER LOGIN语句修改登录账户属性语句修改登录账户属性 ALTER LOGIN login_name | WITH ,. 例例11.3 将将lisi登录账户名称更改为登录账户名称更改为lisi_new。 ALTER LOGIN lisi WITH NAME=lisi_new 例例11.4 将将lisi_new 登录账户的密码修改为登录账户的密码修改为 “aaaa”。 ALTER LOGIN lisi_new WITH PASSWORD=aaaaSQL Server20051511.3数据库用户管理11.3.1默认数据库用户默

11、认数据库用户1数据库所有者数据库所有者 (DataBase Owner ,缩写为缩写为dbo)dbo 是数据库的所有者,拥有数据库中的所有是数据库的所有者,拥有数据库中的所有对象,每个数据库都有对象,每个数据库都有dbo用户用户无法删除无法删除 dbo 用户,且此用户始终出现在每个用户,且此用户始终出现在每个数据库中。数据库中。通常,登录名通常,登录名sa映射为库中的用户映射为库中的用户dbo。另外,。另外,由固定服务器角色由固定服务器角色 sysadmin的任何成员创建的任何成员创建的任何对象都自动属于的任何对象都自动属于dbo。SQL Server20051611.3数据库用户管理2Gue

12、st用户用户Guest 用户帐户允许没有用户帐户的登录名访问数据用户帐户允许没有用户帐户的登录名访问数据库。库。当登录名没有被映射到一个用户名上时,如果在数据当登录名没有被映射到一个用户名上时,如果在数据库中存在库中存在Guest用户,登录名将自动映射成用户,登录名将自动映射成Guest,并获得相应的数据库访问权限。并获得相应的数据库访问权限。Guest用户可以和其他用户一样设置权限。用户可以和其他用户一样设置权限。不能删除不能删除Guest用户,但可以在除用户,但可以在除master和和tempdb之之外的任何数据库中禁用外的任何数据库中禁用Guest用户。用户。SQL Server2005

13、1711.3数据库用户管理3INFORMATION_SCHEMA和和sys用户用户每个数据库中都包含每个数据库中都包含INFORMATION_SCHEME和和sys用户,它们出现在目录视图中。使用它们获用户,它们出现在目录视图中。使用它们获取有关数据库的元数据信息。取有关数据库的元数据信息。SQL Server20051811.3数据库用户管理11.3.2创建数据库用户创建数据库用户1使用使用Management Studio添加数据库用户添加数据库用户. (展开某个数据库(展开某个数据库-右击右击“安全性安全性”-新建新建-用用户)户)2使用使用CREATE USER语句添加数据库用户。语句

14、添加数据库用户。 CREATE USER user_name FOR | FROM LOGIN login_name 例例11.7 在当前数据库中创建用户在当前数据库中创建用户lisi ,其登,其登录名为录名为lisi_new 。CREATE USER lisi FROM LOGIN lisi_newSQL Server20051911.2登录账户管理11.3.3 删除用户账户或登录账户删除用户账户或登录账户1. 删除用户账户删除用户账户DROP USER lisi2删除登录账户删除登录账户 DROP LOGIN lisi_newSQL Server20052011.4角色管理 角色是为了易于

15、管理而对用户进行分组的一种方角色是为了易于管理而对用户进行分组的一种方式。式。 在在SQL Server中,角色分为服务器角色和数据库中,角色分为服务器角色和数据库角色两种。角色两种。 服务器角色是服务器级别的一个对象,只能包含服务器角色是服务器级别的一个对象,只能包含登录名。登录名。 数据库角色是数据库级别的一个对象,只能包含数据库角色是数据库级别的一个对象,只能包含数据库用户名。数据库用户名。 SQL Server20052111.4角色管理11.4.1固定服务器角色固定服务器角色 固定服务器角色固定服务器角色 描述描述Sysadmin 在在 SQL Server 中执行任何活动。中执行任

16、何活动。Serveradmin 配置服务器范围的设置。配置服务器范围的设置。Securityadmin 管理服务器登录。管理服务器登录。Processadmin 管理在管理在 SQL Server 中运行的进程中运行的进程Dbcreator 创建和改变数据库。创建和改变数据库。Diskadmin 管理磁盘文件。管理磁盘文件。bulkadmin 执行大容量插入语句。执行大容量插入语句。SQL Server20052211.4角色管理1使用使用Management Studio将登录账户添加到固定服务器角将登录账户添加到固定服务器角色。(服务器色。(服务器-安全性安全性-双击某个双击某个“服务器角

17、色服务器角色”-添加成员)添加成员)2给服务器角色添加成员(登录账户)给服务器角色添加成员(登录账户) sp_addsrvrolemember login,role 其中:其中: login:添加到固定服务器角色中的登录名。:添加到固定服务器角色中的登录名。 role:要添加登录名的固定服务器角色的名称。:要添加登录名的固定服务器角色的名称。 例如:例如:sp_addsrvrolemember lisi_new, sysadmin3. 删除服务器角色的成员删除服务器角色的成员 例如:例如: sp_dropsrvrolemember lisi_new, sysadmin SQL Server20

18、052311.4角色管理11.4.2固定数据库角色固定数据库角色 描述db_owner 数据库拥有者,可以执行所有数据库 角色的活动。db_ddladmin 添加、修改或除去数据库中的对象。db_backupoperator 有备份数据库的权限。Public 数据库中用户的所有默认权限。SQL Server20052411.4角色管理1使用使用SQL Server Management Studio将用户添加到固定将用户添加到固定数据库角色。数据库角色。(某个数据库(某个数据库-安全性安全性-角色角色-数据库角色数据库角色-双击某个角色双击某个角色-添加添加成员)成员)2给数据库角色添加成员(

19、用户账户)给数据库角色添加成员(用户账户) sp_addrolemember role , security_account 其中:其中:role:当前数据库中的数据库角色的名称。:当前数据库中的数据库角色的名称。 security_account:是添加到该角色的用户。:是添加到该角色的用户。 例如:例如:sp_addrolemember db_owner,lisi3. 删除数据库角色的成员删除数据库角色的成员 例如:例如:sp_droprolemember db_owner,lisi SQL Server20052511.4角色管理11.4.3自定义数据库角色自定义数据库角色1使用使用Ma

20、nagement Studio创建用户自定义数据库角色。创建用户自定义数据库角色。(某个数据库(某个数据库 - 右击右击“安全性安全性”- 新建新建 - 新建数据库角色)新建数据库角色)2使用使用CREATE ROLE语句创建数据库角色语句创建数据库角色 CREATE ROLE role_name 3使用使用DROP ROLE语句删除数据库角色语句删除数据库角色例:从当前数据库中删除一个角色例:从当前数据库中删除一个角色abcDROP ROLE abcSQL Server20052611.5权限管理11.5.1权限类型权限类型 权限用来控制用户如何访问数据库对象。一个用权限用来控制用户如何访问

21、数据库对象。一个用户可以直接分配到权限,也可以作为一个角色的户可以直接分配到权限,也可以作为一个角色的成员来间接的得到权限。一个用户可以同时属于成员来间接的得到权限。一个用户可以同时属于多个角色。多个角色。 权限分为:对象权限、语句权限。权限分为:对象权限、语句权限。 SQL Server20052711.5权限管理1对象权限对象权限 对象权限是指用户访问和操作数据库中表、对象权限是指用户访问和操作数据库中表、视图、存储过程等对象的权限。视图、存储过程等对象的权限。 有五个不同的权限:有五个不同的权限: 查询(查询(SELECT)、插入()、插入(INSERT)、)、更新(更新(UPDATE)

22、、删除()、删除(DELETE)、)、执行(执行(EXECUTE)。)。 前四个权限用于表和视图,执行只用于存前四个权限用于表和视图,执行只用于存储过程。储过程。SQL Server20052811.5权限管理2语句权限语句权限 是用户创建数据库或在数据库中创建或修改对象、执行数据是用户创建数据库或在数据库中创建或修改对象、执行数据库或事务日志备份的权限。库或事务日志备份的权限。语句权限有:语句权限有: BACKUP DATABASE BACKUP LOG CREATE DATABASE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE RULE

23、CREATE TABLE CREATE VIEW SQL Server20052911.5权限管理11.5.2权限管理操作权限管理操作 一个用户或角色的权限可以有三种存在的一个用户或角色的权限可以有三种存在的形式:形式: 授予(授予(granted) 拒绝(拒绝(denied) 回收(回收(revoked)或称为:废除)或称为:废除 授予是赋予用户某权限;拒绝是禁止用户授予是赋予用户某权限;拒绝是禁止用户的某权限;回收是撤销以前授予或拒绝的的某权限;回收是撤销以前授予或拒绝的权限。权限。SQL Server20053011.5权限管理1使用使用Management Studio管理权限管理权限

24、 (某个数据库(某个数据库-安全性安全性-用户用户-双击某个用户双击某个用户-安全对象安全对象-添加)添加)2用用Transact_SQL语句管理权限语句管理权限(1)语句权限)语句权限 GRANT/DENY/REVOKE ALL | statement ,n TO security_account ,n 其中:其中:ALL:表示所有可用的权限。:表示所有可用的权限。 Statement:语句权限(见:语句权限(见P28幻灯片)。幻灯片)。 security_accoun:用户。:用户。例如,给用户例如,给用户user1创建表的权限。创建表的权限。 GRANT CREATE TABLE TO user1SQL Server200531(2)对象权限)对象权限GRANT/DENY/REVOKE ALL PRIVILEGES | permission ( column ,.n ) ,.n ON securable TO pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论