SQLSERVER---安全性.ppt_第1页
SQLSERVER---安全性.ppt_第2页
SQLSERVER---安全性.ppt_第3页
SQLSERVER---安全性.ppt_第4页
SQLSERVER---安全性.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1,SQL SERVER教程,SQL SERVER 数据库管理系统,SQL SERVER教程,2,第六章 安全管理,SQL Server 2005安全架构 身份验证模式 登录管理 用户管理 角色管理 权限管理,SQL SERVER教程,3,6.1 SQL Server安全架构,两个安全阶段:身份验证和权限验证 视图安全机制 加密方法: 加密机制:证书、对称密钥、非对称密钥 用户架构分离 安全与加密函数 with encryption子句 审核 SQL Server Profiler(事件跟踪),SQL SERVER教程,4,6.2 SQL Server的验证模式,Windows身份验证模式 混合身份验证模式(即SQL Server身份验证模式) 设置验证模式,SQL SERVER教程,5,1 Windows身份验证模式,WINDOWS身份验证模式是指通过Windows用户帐户连接到SQL Server,用户身份由Windows系统验证 优点: 高级安全特性 访问速度快,SQL SERVER教程,6,2 SQL Server身份验证模式,混合身份验证模式允许用户使用Windows和SQL Server身份进行连接,由SQL Server检验登录和密码的正确性 优点: 非Windows客户、Internet 客户能够通过混合模式建立连接 增加了安全性的选择,SQL SERVER教程,7,3 设置验证模式,方法一:在“已注册的服务器”选择服务器,单击鼠标右键,在弹出的菜单上选择“属性”项,在“编辑”窗口进行设置。 方法二:在“对象资源管理器”中,右键单击服务器,再单击选择“属性”项。在“安全性”页上的“服务器身份验证”下进行设置。,SQL SERVER教程,8,身份验证过程,SQL SERVER教程,9,6.3 登录管理,系统管理员登录账号 使用Management Studio管理登录帐户 用T-SQL管理登录帐户,SQL SERVER教程,10,1 系统管理员登录账号,两个默认的系统管理员登录帐号,可以在服务器中执行任何活动 sa BUILTINAdministrators(本地管理员组) 注:应给sa账号指定口令,SQL SERVER教程,11,2 用Management Studio管理登录账户,创建登录账户 查看、修改或删除登录帐户,SQL SERVER教程,12,2 用Management Studio管理登录账户,创建登录账户: 1) 选择服务器,展开“安全性”、“登录名”,并选择“新建登录名”,进入对话框。 2) 选择验证模式,根据需要输入帐户名称、密码 3) 单击“服务器角色”,查看固定服务器角色中的成员 4) 单击“用户映射”,查看登录到数据库用户的映射 5) 最后按“确定”按钮。,SQL SERVER教程,13,2 用Management Studio管理登录账户,查看、修改登录账户: 1) 选择服务器,展开“安全性”、“登录名。 2) 单击“登录名”下某一登录帐户,在弹出菜单上单击“属性”项,可查看该帐户信息 3) 单击“删除”,能删除该登录帐户。,SQL SERVER教程,14,3 用T-SQL管理登录账户,新建登录账户: Create LOGIN login_name WITH sp_addlogin 修改登录帐户: ALTER LOGIN; 删除帐户: DROP LOGIN; sp_droplogin; sp_revokelogin,SQL SERVER教程,15,3 用T-SQL管理登录账户,新建登录账户: Create LOGIN login_name WITH |FROM sp_addlogin 修改登录帐户: ALTER LOGIN; 删除帐户: DROP LOGIN; sp_droplogin; sp_revokelogin,SQL SERVER教程,16,6.4 用户管理,登录名与数据库用户名的关系 使用Management Studio管理用户 用T-SQL管理用户,SQL SERVER教程,17,1 登录名与数据库用户名的关系,登录名是访问SQL Server的通行证,要访问具体的数据库,还要有该数据库的用户名 默认情况下,用户名和登录名使用相同的名称 一个登录帐户可以映射到不同的数据库,一个数据库用户只能映射到一个登录帐户 一个登录名在一个数据库中只能有一个用户,SQL SERVER教程,18,2 使用Management Studio管理用户,在创建登录帐户时,可指定该帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户 步骤: 1) 选择服务器和要设置的数据库,展开“安全性”、“用户” 2) 选择“新建数据库用户”,在弹出的对话框输入用户名字及对应的登录名,按“确定”完成。,SQL SERVER教程,19,3 用T-SQL管理用户,CREATE USER语句; sp_adduser ALTER USER DROP USER; sp_revokeaccess,SQL SERVER教程,20,3 用T-SQL管理用户,例1:创建名为AborHam且密码为340$Uxwp7Mcxo7Khy的服务器登录名,然后在Sales中创建对应的数据库用户AborHam。 CREATE LOGIN AborHam WITH PASSWORD=340$Uxwp7Mcxo7Khy USE Sales CREATE USER AborHam,SQL SERVER教程,21,dbo和guest用户,dbo用户 dbo是特殊的数据库用户,它是数据库所有者,可在数据库中执行所有的操作。服务器角色sysadmin的任何成员都会对应到每个数据库内的一个dbo用户,且服务器角色sysadmin 任何成员创建的任何对象自动属于dbo。dbo无法删除。 guest用户 由系统创建数据库后自动生成,它的作用是让未经授权的或未明确定义的用户具有一定的权限,guest也无法删除。,SQL SERVER教程,22,6.5 角色管理,public角色 固定服务器角色:在服务器级别定义 数据库角色:在数据库级别定义 用户定义的角色 应用程序角色,SQL SERVER教程,23,1 public角色,public角色在每个数据库中都存在,是系统预定义的角色。每个数据库用户都自动是此角色的成员,无法在此角色中添加或删除用户。 public角色提供数据库中用户的默认权限,不能删除。用户将继承授予public角色的权限。,SQL SERVER教程,24,2 固定服务器角色,SQL SERVER教程,25,固定服务器角色,固定服务器角色具有服务器级别上的管理权限,存储在master.syslogins系统表中 为固定服务器角色添加/删除登录帐号: 设置登录帐号属性 系统存储过程:sp_addsrvrolemembers; sp_dropsrvrolemembers 用management studio添加/删除角色成员 查看固定服务器角色的成员: sp_helpsrvrolemembers,SQL SERVER教程,26,使用Management Studio添加/删除角色成员,方法一:选择服务器和要设置的数据库,展开“安全性”-“服务器角色”,在某固定服务器角色上单击右键,选择菜单中的“属性”项,单击“添加”或“删除”按钮选择成员。 方法二:选择服务器和要设置的数据库,展开“安全性”-“登录名”,在某登录名上右击,选择“属性”,出现“登录属性”对话框。单击“服务器角色”选项卡,直接多项选择该登录名所属的固定服务器角色。,SQL SERVER教程,27,固定服务器角色,例1:将登录名HelenS添加到sysadmin固定服务器角色 EXEC sp_addsrvrolemember HelenS 用management studio添加 例2:查看sysadmin固定服务器角色的成员 sp_helpsrvrolemember sysadmin,SQL SERVER教程,28,3 固定数据库角色,SQL SERVER教程,29,3 固定数据库角色,SQL SERVER教程,30,固定数据库角色,为固定数据库角色添加/删除用户: 系统存储过程:sp_addrolemembers; sp_droprolemembers 用management studio添加/删除角色成员 查看固定数据库角色的成员: sp_helprolemembers,SQL SERVER教程,31,使用Management Studio添加/删除角色成员,选择要处理的固定数据库角色,右击后选择“属性”。在对话框中,单击“添加”按钮,选择要加入数据库角色的用户名。按“确定”完成。,SQL SERVER教程,32,4 用户自定义角色,用于组织数据库用户的安全 当一组用户在 SQL Server中有相同的权限时,可建用户角色 用户定义的角色只适用于数据库级别,SQL SERVER教程,33,(1) 用户角色的创建、修改或删除,用management studio创建、删除角色 用T-SQL创建、删除角色 CREATE ROLE role_name AUTHORIZATION owner_name; sp_addrole ALTER ROLE role_name WITH NAME=new_name DROP ROLE sp_helprole 返回当前数据库中的所有角色,SQL SERVER教程,34,使用Management Studio创建、删除角色,选择服务器和要设置的数据库,展开“安全性”-“角色”-“数据库角色”,在数据库角色目录上单击右键,选择菜单中的“新建数据库角色”项,指定角色名与所有者,单击“确定” 完成。 在某数据库角色上单击右键,选择菜单中的“属性”项,可查阅或修改角色信息。单击“删除”项完成删除。 注:角色成员必须为空才能删除。,SQL SERVER教程,35,用户自定义角色,例1:创建用户Miller拥有的数据库角色buyers CREATE ROLE buyers AUTHORIZATION Miller 用management studio添加 例2:将角色buyers的名称更改为purchasing ALTER ROLE buyers WITH NAME= purchasing,SQL SERVER教程,36,(2) 角色成员的添加与删除,用management studio添加与删除角色成员 用T-SQL添加与删除角色成员 sp_addrolemember rolename=role,membername=security_account(安全账户) sp_droprolemember sp_helprolemember 返回当前数据库中的某个角色的成员信息,SQL SERVER教程,37,使用Management Studio添加/删除角色成员,方法一:在前面提过的某数据库角色的“数据库角色属性”对话框中,“常规”选项卡上,右下角成员操作区,单击 “添加”或“删除”按钮选择成员。 方法二:选择要设置的数据库,展开“安全性”-“用户” ,选择某具体用户,右击,选择“属性”,出现“数据库用户”对话框。在右下角成员操作区,直接多项选择该用户名所属的数据库角色。,SQL SERVER教程,38,角色成员的添加与删除,例1:将用户Ben添加到数据库角色purchasing Sp_addrolemember purchasing,Ben 用management studio添加,SQL SERVER教程,39,5 应用程序角色,用于应用程序级的安全,不允许用户直接操作表中数据,只能通过特定的应用程序访问 特点: 定义在数据库中,类似于用户定义的数据库角色,可以分配权限 建立时,需提供口令 无成员 非活动的,使用时需要激活(sp_setapprole),SQL SERVER教程,40,应用程序角色的创建与删除,用management studio创建、删除角色 用T-SQL创建、删除角色 CREATE APPLICATION ROLE appication_role_name WITH PASSWORD=password ,DEFAULT_SCHEMA=schema_name ALTER APPLICATION ROLE DROP APPLICATION ROLE sp_setapprole, sp_unsetapprole,SQL SERVER教程,41,使用Management Studio创建、删除角色,选择服务器和要设置的数据库,展开“安全性”-“角色”-“应用程序角色”,在数据库角色目录上单击右键,选择菜单中的“新建应用程序角色”项,在“常规”选项卡指定角色名称指定角色名称、默认结构、密码等信息,单击“确定” 完成。,SQL SERVER教程,42,6.6 权限管理,用户权限是指不同的用户对不同的数据对象允许执行的操作权限 主体与安全对象的概念 权限类型 管理权限,SQL SERVER教程,43,1 主体与安全对象的概念,1) 主体 主体是可以请求SQL Server数据资源的个体、组,每个主体有唯一的安全标识符(SID)。主体分为如下几种: Windows级别的主体:Windows登录名 SQL Server级别的主体:SQL Server登录名 数据库级别的主体:数据库用户、数据库角色、应用程序角色,SQL SERVER教程,44,1 主体与安全对象的概念,2) 安全对象 安全对象是系统控制对其访问的资源。安全对象范围有服务器、数据库、架构三个层次。 安全对象范围服务器:包含端点、登录帐户、数据库等 安全对象范围数据库:包含用户、角色、应用程序角色、程序集、服务、证书、非对称密钥、对称密钥、约定等 安全对象范围架构:包含类型、约束、函数、过程、队列、统计信息、表、视图等,SQL SERVER教程,45,2 权限类型,SQL SERVER教程,46,3为用户和角色分配权限,用management studio管理权限 用T-SQL管理权限 授予、拒绝和废除许可权限 “授予权限”许可访问 “拒绝权限”即禁止访问 废除已授予或已拒绝的权限,SQL SERVER教程,47,授予、拒绝,废除许可权限,SQL SERVER教程,48,使用Management Studio管理权限,可从主体或安全对象出发来设置权限 从主体:选择用户或角色,右击“属性”项,单击“安全对象”选项卡,对权限进行设置 从安全对象:选择数据库或表,右击“属性”项,单击“权限”选项卡,选定用户或角色对其权限进行设置,SQL SERVER教程,49,用T-SQL管理权限,GRANT、REVOKE、DENY 例:授予用户Ben对Sales中的Employee的SELECT权限 GRANT SELECT ON Sales. Employee TO BEN,SQL SERVER教程,50,用户最终获得权限的必要条件,1、用户已直接被授予权限或者其已属于某一个角色且该角色已被授予权限。 2、没有DENY过用户或其所属的任何一个角色。,SQL SERVER教程,51,如何管理SQL SERVER的安全性,确定默认登录帐号的使用 sa BUILT

温馨提示

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

评论

0/150

提交评论