首页计算机计算机软件SQLServer2005数据库技术及应用 15 第15章 SQL SERVER 安全管理.pptx

15 第15章 SQL SERVER 安全管理.pptx

页数:27页文件大小:433.1 KB来源: SQLServer2005数据库技术及应用ppt课件

本章从登录身份验证与操作权限控制两层安全机制讲起,对比Windows验证模式与SQL Server验证模式,给出用sp_grantlogin、sp_addlogin等存储过程建立和删除登录帐号的方法;随后说明权限与角色的关系、固定服务器角色的成员管理、数据库用户与角色的创建,以及用GRANT、DENY、REVOKE管理对象权限的语法。

第15章SQL SERVER安全管理章封面,标示本章主题为验证模式、登录帐号与权限
第15章SQL SERVER安全管理目录页,列出安全机制、验证模式、登录帐号、权限与角色等节
15.1 SQL SERVER安全机制的要点列表,对用户登录进行身份验证当用户登录到数据库系统时,系统检查该用户的帐号和口令,既检查能否进入服务器
查看本课件的文字版(共 27 页,供检索与复制)

第1页:第15章SQL SERVER安全管理

第15章SQL SERVER安全管理

第2页:第15章目录:安全管理

第15章SQL SERVER安全管理

15.1 SQL SERVER安全机制

15.2 SQL SERVER的验证模式

15.3建立和管理用户登录帐号15.3.1 Windows验证模式登录帐号的建立和删除15.3.2 SQL Server验证模式登录帐号的建立与删除

15.4权限和角色

15.5固定服务器角色

15.6数据库用户和角色15.6.1管理数据库用户的方法15.6.2管理数据库角色的方法

15.7权限的管理15.7.1 SQL Server中的权限概念15.7.2使用SQL Server Management Studio管理权限15.7.3使用T-SQL命令管理权限

第3页:15.1 SQL SERVER安全机制

15.1 SQL SERVER安全机制SQL SERVER安全主要特征是:

  • 对用户登录进行身份验证当用户登录到数据库系统时,系统检查该用户的帐号和口令,既检查能否进入服务器,也检查是否有权操作服务器中的某个数据库。
  • 对用户进行的操作进行权限控制当用户登录到数据库后,只能对数据库中的对象在允许的权限内进行操作

第4页:15.2 SQL SERVER的验证模式

15.2 SQL SERVER的验证模式SQL Server 2005的身份验证模式有以下几种:

  • Windows验证模式SQL Server数据库系统通常运行在以NT为核心的Windows操作系统平台上,这些操作系统本身就具备了相当强的管理登录、验证用户合法性的能力,所谓Windows验证实际上就是数据库系统借用了操作系统的验证功能,在这种模式下,只要用户已经通过了Windows操作系统的帐号验证,SQL Sever就不再对该用户进行安全性检验,可以直接连接到服务器
  • SQL Sever验证模式这种模式有时又被称为混合模式,在此模式下,可以使用Windows身份验证或SQL Server身份验证对用户进行验证。SQL Server负责维护经过SQLServer身份验证的用户的用户名和密码

第5页:15.3建立和管理用户登录帐号

15.3建立和管理用户登录帐号

  • 不管采用哪种验证模式,用户要使用数据库,第一步就是必须在数据库中拥有一个账号。注意这里所说的账号是SQL Sever自己的账号,不是Windows操作系统的账号,虽然前者可以是后者转化出的,甚至可能名称都是相同的。
  • 一般账号都是需要由用户创建的,不过SQLServer有两个默认的系统管理员登录账号:sa和BUILTIN\Administrator,是安装完成后系统自动创建的,具有SQL Server服务器和所有数据库的全部权限

第6页:15.3.1 Windows验证模式登录

15.3.1 Windows验证模式登录帐号的建立和删除这种模式下新建帐号其实就是把已经存在的Windows操作系统账号添加到SQL Server中去

第7页:创建Windows验证模式登录帐号

通过SQL语句创建Windows验证模式的登录帐号语法:Sp_grantlogin [@loginname = ] ’login’说明:Sp_grantlogin是系统存储过程。@loginname=是占位符,可以省略。login:即被授予登录权限的Windows操作系统用户或组名称。一般格式是“域\用户名或组”或“计算机名\用户名称”。

第8页:取消Windows帐号登录权限

通过T-SQL语句取消帐号登录权限语法:Exec sp_revokelogin [@loginname = ]’login’说明:sp_revokelogin是系统存储过程,功能与sp_grantlogin正好相反,是取消Windows系统用户和组登录SQLServer的权限

第9页:SQL Server验证模式登录帐号

15.3.2 SQL Server验证模式登录帐号的建立与删除

  • 通过SQL Server ManagementStudio创建SQL Server验证模式的登录帐号
  • 通过SQL语句创建SQL Server验证模式的登录帐号

第10页:sp_addlogin创建登录帐号

SQL语句创建SQL Server验证模式登录帐号语法:sp_addlogin [@loginname=] ‘login’[,[@passwd=] ‘password’][,[@defdb=]’database’][,[@deflanguage=]’language’][,[@sid=]’sid’][,[@encryptopt=]’encrypption_option’]

第11页:SQL Server验证模式的登录帐号

SQL Server验证模式的登录帐号的删除

  • 在SQL Server Management Studio中删除和Windows验证模式下的删除方法一样,在要删除的登录帐号上单击鼠标右键,选择“删除”命令即可。
利用T-SQL语句删除语法:Exec sp_droplogin [@loginname=]’login’

第12页:15.4权限和角色

15.4权限和角色

  • 通俗地说,权限是指用户对数据库对象的使用及操作的权利,而角色就是一个集成权限的容器,属于某个角色的用户自动被授予角色所有的权限
  • 角色是一个非常有用的工具,利用角色我们可以将用户集中到一个单元中,然后对该单元应用权限
  • 在SQL Server中,角色分固定服务器角色、固定数据库角色和用户自定义数据库角色

第13页:15.5固定服务器角色

15.5固定服务器角色

  • 固定服务器角色是为操作数据库服务器事先设置好的一些权限集合。无论是Windows模式下创建的登录帐号还是SQL Sever验证模式下创建的账号,要想获得对数据库服务器本身的某种管理权限,都必须加入某个固定服务器角色,因为SQL Sever规定只能将登录帐号添加为固定服务器角色的成员,而不能自定义服务器角色

第14页:添加和删除固定服务器角色方法

添加和删除固定服务器角色方法

  • 通过SQL Server ManagementStudio添加和删除固定服务器角色成员的方法
  • 通过SQL语句添加和删除固定服务器角色成员

第15页:添加固定服务器角色成员

通过SQL语句添加固定服务器角色成员语法:sp_addsrvrolemember [@loginname=]’login’,[@rolename=]’role’参数含义:sp_addsrvrolemember是系统存储过程,作用是将登录帐号添加为某个固定服务器角色成员。添加后登录帐号便有了固定服务器角色所拥有的权限。login即要添加到某个角色的登录帐号。role即固定服务器角色名,必须为表15-1中所列的角色之一

第16页:删除固定服务器角色成员

通过SQL语句删除固定服务器角色成员语法:sp_dropsrvrolemember [@loginname=]’login’,[@rolename]’role’参数说明:sp_dropsrvrolemember是系统存储过程,用于从固定服务器角色中删除登录帐号。如果是权限最大的sysadmin固定服务器角色的成员执行sp_dropsrvrolemember,可删除任何固定服务器角色中的成员,其他固定服务器角色成员则只能删除自身所在固定服务器角色中的其他成员

第17页:15.6数据库用户和角色

15.6数据库用户和角色

  • 用户要访问服务器上的数据库了,除了有帐号和服务器角色还不够,用户还必须在他想访问的数据库里拥有一个账号,亦即数据库用户名
  • 数据库里的账号除了单独的用户,还有起着用户组作用的角色。和服务器角色不同的是,数据库角色既可以使用系统预设的固定数据库角色,也可以自定义数据库角色

第18页:15.6.1管理数据库用户的方法

15.6.1管理数据库用户的方法

  • 用SQL Server Management Studio完成
在查询分析器中用T-SQL语句完成创建语法:sp_grantdbaccess [@loginname=]’login’ [,[@name_in_db] = ‘name_in_db’]删除语法:sp_revokedbaccess [@name_in_db=]’name_in_db’

第19页:15.6.2管理数据库角色的方法

15.6.2管理数据库角色的方法

  • 固定数据库角色
  • 固定数据库角色是指那些SQL Server已经定义好具有那些管理、访问数据库权限的角色,SQL Server数据库管理员不能对其所具有的权限作任何修改

第20页:管理数据库角色的方法(续)

15.6.2管理数据库角色的方法

  • 用户自定义数据库角色
  • 当打算为某些数据库用户设置相同的权限,但预定义的固定数据库角色又不能满足实际需要时,可以通过自定义新的数据库角色来满足要求。
  • 用户自定义的数据库角色有两种类型:标准数据库角色和应用程序角色

第21页:添加、修改和删除数据库角色的方法

添加、修改和删除数据库角色的方法

  • 使用SQL Server Management Studio
使用T-SQL命令添加角色的语法格式:sp_addrole [@rolename=] ‘role’[[, @ownername=] ‘owner’]删除数据库角色的语法格式:sp_droprole [@rolename=] ‘role’

第22页:SQL Server权限概念

15.7.1 SQL Server中的权限概念

  • 经过服务器账号验证和数据库用户账号确认后,SQL Sever安全的最后一道控制措施就是权限了,这里权限是指用户登录到SQLServer之后,由数据库用户账号决定的该用户能够对哪些数据库对象执行哪种操作(如能够访问、修改哪些数据及对哪些数据库对象执行哪种操作)的规则。
  • 在SQL Servr中包括3种类型的权限:对象权限、语句权限和隐含权限

第23页:用SSMS管理权限

15.7.2使用SQL Server Management Studio管理权限借助SQL Server Management Studio给某个数据库用户授予权限的步骤如下:

  • 打开SQL Server Management Studio并展开所要的数据库,选择数据库中要设置权限的对象,比如一个表,右击鼠标,选择“属性”,在弹出的窗口中点击“权限”
单击“添加”按钮,系统将弹出“选择用户或角色”对话窗口,单击“浏览”按钮选择要设置“授予”、“具有授予”及“拒绝”权限的数据库用户,然后可以在窗口下部通过打勾或撤销打勾对这用户的Select、Insert、Delete、Update等具体操作权限进行设置

第24页:15.7.3使用T-SQL命令管理权限

15.7.3使用T-SQL命令管理权限

在SQL Server中分别使用GRANT、DENY和REVOKE三种命令来管理授予、禁止和撤销权限,使用方式基本相同

第25页:授予权限GRANT语法格式

授予权限语法格式:GRANT{ALL | permission [,…n]}{[(column[,…n])] ON {table|view}|ON {table | view}[(column[,…n])]|ON {stored_procedure | extended_procedure}|ON {user_defined_function}}TO security_account [,…n][WITH GRANT OPTION][AS {group | role}]

第26页:禁止权限DENY语法格式

禁止权限语法格式DENY{ALL | permission [,…n]}{[(column[,…n])] ON {table|view}|ON {table | view}[(column[,…n])]|ON {stored_procedure | extended_procedure}|ON {user_defined_function}}TO security_account [,…n][CASCADE]

第27页:撤销权限REVOKE语法格式

撤销权限语法格式REVOKE [GRANT OPTION FOR]{ALL | permission [,…n]}{[(column[,…n])] ON {table | view}|ON {table | view}[(column[,…n])]|ON {stored_procedure | extended_procedure}|ON {user_defined_function}}{TO | FROM} security_account [,…n][CASCADE][AS {group | role}]
顶部目录