SQLSERVER4安全性PPT课件

上传人:M****1 文档编号:568471113 上传时间:2024-07-24 格式:PPT 页数:56 大小:244.50KB
返回 下载 相关 举报
SQLSERVER4安全性PPT课件_第1页
第1页 / 共56页
SQLSERVER4安全性PPT课件_第2页
第2页 / 共56页
SQLSERVER4安全性PPT课件_第3页
第3页 / 共56页
SQLSERVER4安全性PPT课件_第4页
第4页 / 共56页
SQLSERVER4安全性PPT课件_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《SQLSERVER4安全性PPT课件》由会员分享,可在线阅读,更多相关《SQLSERVER4安全性PPT课件(56页珍藏版)》请在金锄头文库上搜索。

1、SQL SERVER 数据库管理系统1SQLSERVER4安全性第六章第六章 安全管理安全管理SQL Server 2005安全架构身份验证模式登录管理用户管理 角色管理权限管理2SQLSERVER4安全性6.1 SQL Server安全架构安全架构两个安全阶段:身份验证和权限验证视图安全机制加密方法:加密机制:证书、对称密钥、非对称密钥用户架构分离安全与加密函数with encryption子句审核 SQL Server Profiler(事件跟踪)3SQLSERVER4安全性6.2 SQL Server的验证模式的验证模式Windows身份验证模式混合身份验证模式(即SQL Server身

2、份验证模式)设置验证模式 4SQLSERVER4安全性1 Windows身份验证模式WINDOWS身份验证模式是指通过Windows用户帐户连接到SQL Server,用户身份由Windows系统验证优点:高级安全特性访问速度快5SQLSERVER4安全性2 SQL Server身份验证模式混合身份验证模式允许用户使用Windows和SQL Server身份进行连接,由SQL Server检验登录和密码的正确性优点:非Windows客户、Internet 客户能够通过混合模式建立连接增加了安全性的选择6SQLSERVER4安全性3 设置验证模式方法一:在“已注册的服务器”选择服务器,单击鼠标右

3、键,在弹出的菜单上选择“属性”项,在“编辑”窗口进行设置。方法二:在“对象资源管理器”中,右键单击服务器,再单击选择“属性”项。在“安全性”页上的“服务器身份验证”下进行设置。7SQLSERVER4安全性身份验证过程sysxloginsWindowsWindowsGroup or UserSQL ServerLogin Accountsysxlogins受信任连接受信任连接验证登录名和验证登录名和密码密码SQL Server8SQLSERVER4安全性6.3 登录管理登录管理系统管理员登录账号使用Management Studio管理登录帐户 用T-SQL管理登录帐户9SQLSERVER4安全

4、性1 系统管理员登录账号系统管理员登录账号两个默认的系统管理员登录帐号,可以在服务器中执行任何活动saBUILTINAdministrators(本地管理员组)注:应给sa账号指定口令10SQLSERVER4安全性2 用用Management Studio管理登录账户管理登录账户创建登录账户查看、修改或删除登录帐户11SQLSERVER4安全性2 用用Management Studio管理登录账户管理登录账户创建登录账户:1) 选择服务器,展开“安全性”、“登录名”,并选择“新建登录名”,进入对话框。2) 选择验证模式,根据需要输入帐户名称、密码3) 单击“服务器角色”,查看固定服务器角色中的

5、成员4) 单击“用户映射”,查看登录到数据库用户的映射5) 最后按“确定”按钮。12SQLSERVER4安全性2 用用Management Studio管理登录账户管理登录账户查看、修改登录账户:1) 选择服务器,展开“安全性”、“登录名。2) 单击“登录名”下某一登录帐户,在弹出菜单上单击“属性”项,可查看该帐户信息3) 单击“删除”,能删除该登录帐户。13SQLSERVER4安全性3 用用T-SQL管理登录账户管理登录账户新建登录账户:Create LOGIN login_name WITH sp_addlogin修改登录帐户: ALTER LOGIN;删除帐户: DROP LOGIN;

6、sp_droplogin; sp_revokelogin14SQLSERVER4安全性3 用用T-SQL管理登录账户管理登录账户新建登录账户:Create LOGIN login_name WITH |FROM sp_addlogin修改登录帐户: ALTER LOGIN;删除帐户: DROP LOGIN; sp_droplogin; sp_revokelogin15SQLSERVER4安全性6.4 用户管理用户管理登录名与数据库用户名的关系使用Management Studio管理用户 用T-SQL管理用户16SQLSERVER4安全性1 登录名与数据库用户名的关系登录名与数据库用户名的关系

7、登录名是访问SQL Server的通行证,要访问具体的数据库,还要有该数据库的用户名默认情况下,用户名和登录名使用相同的名称一个登录帐户可以映射到不同的数据库,一个数据库用户只能映射到一个登录帐户一个登录名在一个数据库中只能有一个用户17SQLSERVER4安全性2 使用使用Management Studio管理用户管理用户在创建登录帐户时,可指定该帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户步骤:1) 选择服务器和要设置的数据库,展开“安全性”、“用户”2) 选择“新建数据库用户”,在弹出的对话框输入用户名字及对应的登录名,按“确定”完成。18SQLSERVER4安全性3 用用T

8、-SQL管理用户管理用户CREATE USER语句; sp_adduserALTER USERDROP USER; sp_revokeaccess19SQLSERVER4安全性3 用用T-SQL管理用户管理用户例1:创建名为AborHam且密码为340$Uxwp7Mcxo7Khy的服务器登录名,然后在Sales中创建对应的数据库用户AborHam。 CREATE LOGIN AborHam WITH PASSWORD=340$Uxwp7Mcxo7Khy USE Sales CREATE USER AborHam20SQLSERVER4安全性dbo和和guest用户用户dbo用户 dbo是特殊的

9、数据库用户,它是数据库所有者,可在数据库中执行所有的操作。服务器角色sysadmin的任何成员都会对应到每个数据库内的一个dbo用户,且服务器角色sysadmin 任何成员创建的任何对象自动属于dbo。dbo无法删除。guest用户 由系统创建数据库后自动生成,它的作用是让未经授权的或未明确定义的用户具有一定的权限,guest也无法删除。21SQLSERVER4安全性6.5 角色管理角色管理public角色固定服务器角色:在服务器级别定义数据库角色:在数据库级别定义用户定义的角色应用程序角色22SQLSERVER4安全性1 public角色角色public角色在每个数据库中都存在,是系统预定义

10、的角色。每个数据库用户都自动是此角色的成员,无法在此角色中添加或删除用户。public角色提供数据库中用户的默认权限,不能删除。用户将继承授予public角色的权限。23SQLSERVER4安全性2 固定服务器角色RoleRolePermissionPermission系统管理员系统管理员sysadmin可以执行任何活动可以执行任何活动数据库创建者数据库创建者Dbcreator创建更改和删除数据库创建更改和删除数据库磁盘管理员磁盘管理员diskadmin管理磁盘文件管理磁盘文件进程管理员进程管理员processadmin 管理在管理在 SQL Server 中运行的进程中运行的进程服务器管理员

11、服务器管理员serveradmin 设置服务器范围的配置选项,关闭服务器设置服务器范围的配置选项,关闭服务器安装管理员安装管理员setupadmin可以安装复制可以安装复制安全管理员安全管理员securityadmin 管理和审计登录帐号管理和审计登录帐号大容量管理员大容量管理员Bulkadmin执行执行 BULK INSERT 语句语句24SQLSERVER4安全性固定服务器角色固定服务器角色具有服务器级别上的管理权限,存储在master.syslogins系统表中为固定服务器角色添加/删除登录帐号:设置登录帐号属性系统存储过程:sp_addsrvrolemembers; sp_dropsr

12、vrolemembers用management studio添加/删除角色成员查看固定服务器角色的成员: sp_helpsrvrolemembers25SQLSERVER4安全性使用使用Management Studio添加添加/删除角色成员删除角色成员方法一:选择服务器和要设置的数据库,展开“安全性”-“服务器角色”,在某固定服务器角色上单击右键,选择菜单中的“属性”项,单击“添加”或“删除”按钮选择成员。方法二:选择服务器和要设置的数据库,展开“安全性”-“登录名”,在某登录名上右击,选择“属性”,出现“登录属性”对话框。单击“服务器角色”选项卡,直接多项选择该登录名所属的固定服务器角色。

13、26SQLSERVER4安全性固定服务器角色例1:将登录名HelenS添加到sysadmin固定服务器角色EXEC sp_addsrvrolemember HelenS用management studio添加例2:查看sysadmin固定服务器角色的成员 sp_helpsrvrolemember sysadmin27SQLSERVER4安全性3 固定数据库角色RoleRolePermissionPermissionpublicMaintain all default permissionsdb_ownerPerform any database role activitydb_accessad

14、minAdd or remove database users, groups, and rolesdb_ddladminAdd, modify, or drop database objectsdb_security adminAssign statement and object permissionsdb_backupoperatorBack up databasedb_datareaderRead data from any tabledb_datawriterAdd, change, or delete data from all tablesdb_denydatareaderCan

15、not read data from any tabledb_denydatawriterCannot change data in any table28SQLSERVER4安全性3 固定数据库角色RoleRolePermissionPermissionpublic提供数据库中用户的默认权限提供数据库中用户的默认权限db_owner (dbo)可以执行数据库所有的维护和配置活动可以执行数据库所有的维护和配置活动db_accessadmin可为登录帐户添加或删除访问权限可为登录帐户添加或删除访问权限db_ddladmin可以在数据库中运行任何数据定义语言可以在数据库中运行任何数据定义语言(DD

16、L)db_security admin可以修改角色成员身份和管理权限可以修改角色成员身份和管理权限db_backupoperator可以备份该数据库可以备份该数据库db_datareader可以读取所有用户表中的所有数据可以读取所有用户表中的所有数据db_datawriter可以在所有用户表中添加、删除或更改数据可以在所有用户表中添加、删除或更改数据db_denydatareader不能读取用户表中的任何数据不能读取用户表中的任何数据db_denydatawriter不能添加、删除或更改用户表中的任何数据不能添加、删除或更改用户表中的任何数据29SQLSERVER4安全性固定数据库角色为固定数

17、据库角色添加/删除用户:系统存储过程:sp_addrolemembers; sp_droprolemembers用management studio添加/删除角色成员查看固定数据库角色的成员: sp_helprolemembers30SQLSERVER4安全性使用使用Management Studio添加添加/删除角色成员删除角色成员选择要处理的固定数据库角色,右击后选择“属性”。在对话框中,单击“添加”按钮,选择要加入数据库角色的用户名。按“确定”完成。31SQLSERVER4安全性4 用户自定义角色用于组织数据库用户的安全当一组用户在 SQL Server中有相同的权限时,可建用户角色用户

18、定义的角色只适用于数据库级别32SQLSERVER4安全性(1) 用户角色的创建、修改或删除用management studio创建、删除角色用T-SQL创建、删除角色CREATE ROLE role_name AUTHORIZATION owner_name; sp_addroleALTER ROLE role_name WITH NAME=new_nameDROP ROLEsp_helprole 返回当前数据库中的所有角色33SQLSERVER4安全性使用使用Management Studio创建、删除角色创建、删除角色选择服务器和要设置的数据库,展开“安全性”-“角色”-“数据库角色”,

19、在数据库角色目录上单击右键,选择菜单中的“新建数据库角色”项,指定角色名与所有者,单击“确定” 完成。在某数据库角色上单击右键,选择菜单中的“属性”项,可查阅或修改角色信息。单击“删除”项完成删除。 注:角色成员必须为空才能删除。34SQLSERVER4安全性用户自定义角色例1:创建用户Miller拥有的数据库角色buyersCREATE ROLE buyers AUTHORIZATION Miller用management studio添加例2:将角色buyers的名称更改为purchasing ALTER ROLE buyers WITH NAME= purchasing35SQLSERV

20、ER4安全性(2) 角色成员的添加与删除用management studio添加与删除角色成员用T-SQL添加与删除角色成员sp_addrolemember rolename=role,membername=security_account(安全账户)sp_droprolemember sp_helprolemember 返回当前数据库中的某个角色的成员信息36SQLSERVER4安全性使用使用Management Studio添加添加/删除角色成员删除角色成员方法一:在前面提过的某数据库角色的“数据库角色属性”对话框中,“常规”选项卡上,右下角成员操作区,单击 “添加”或“删除”按钮选择成员

21、。方法二:选择要设置的数据库,展开“安全性”-“用户” ,选择某具体用户,右击,选择“属性”,出现“数据库用户”对话框。在右下角成员操作区,直接多项选择该用户名所属的数据库角色。37SQLSERVER4安全性角色成员的添加与删除例1:将用户Ben添加到数据库角色purchasingSp_addrolemember purchasing,Ben用management studio添加38SQLSERVER4安全性5 应用程序角色用于应用程序级的安全,不允许用户直接操作表中数据,只能通过特定的应用程序访问 特点: 定义在数据库中,类似于用户定义的数据库角色,可以分配权限 建立时,需提供口令 无成员

22、非活动的,使用时需要激活(sp_setapprole)39SQLSERVER4安全性应用程序角色的创建与删除用management studio创建、删除角色用T-SQL创建、删除角色CREATE APPLICATION ROLE appication_role_name WITH PASSWORD=password ,DEFAULT_SCHEMA=schema_nameALTER APPLICATION ROLE DROP APPLICATION ROLEsp_setapprole, sp_unsetapprole40SQLSERVER4安全性使用使用Management Studio创建、

23、删除角色创建、删除角色选择服务器和要设置的数据库,展开“安全性”-“角色”-“应用程序角色”,在数据库角色目录上单击右键,选择菜单中的“新建应用程序角色”项,在“常规”选项卡指定角色名称指定角色名称、默认结构、密码等信息,单击“确定” 完成。41SQLSERVER4安全性6.6 权限管理权限管理用户权限是指不同的用户对不同的数据对象允许执行的操作权限主体与安全对象的概念权限类型管理权限42SQLSERVER4安全性1 主体与安全对象的概念1) 主体主体是可以请求SQL Server数据资源的个体、组,每个主体有唯一的安全标识符(SID)。主体分为如下几种:Windows级别的主体:Window

24、s登录名SQL Server级别的主体:SQL Server登录名数据库级别的主体:数据库用户、数据库角色、应用程序角色43SQLSERVER4安全性1 主体与安全对象的概念2) 安全对象安全对象是系统控制对其访问的资源。安全对象范围有服务器、数据库、架构三个层次。安全对象范围服务器:包含端点、登录帐户、数据库等安全对象范围数据库:包含用户、角色、应用程序角色、程序集、服务、证书、非对称密钥、对称密钥、约定等安全对象范围架构:包含类型、约束、函数、过程、队列、统计信息、表、视图等44SQLSERVER4安全性2 权限类型预定义预定义预定义预定义Fixed RoleObject Owner对象对

25、象对象对象SELECT INSERTUPDATEDELETEREFERENCESSELECT UPDATEREFERENCESEXECTABLEVIEWCOLUMNSTORED PROCEDUREDDLDDLCREATE DATABASECREATE TABLECREATE VIEWCREATE PROCEDURECREATE RULECREATE DEFAULTCREATE FUNCTIONBACKUP DATABASEBACKUP LOG45SQLSERVER4安全性3为用户和角色分配权限用management studio管理权限用T-SQL管理权限授予、拒绝和废除许可权限“授予权限”许

26、可访问“拒绝权限”即禁止访问废除已授予或已拒绝的权限46SQLSERVER4安全性授予、拒绝,废除许可权限GRANT:授予授予REVOKE:回收回收DENY:拒绝拒绝47SQLSERVER4安全性使用使用Management Studio管理权限管理权限可从主体或安全对象出发来设置权限从主体:选择用户或角色,右击“属性”项,单击“安全对象”选项卡,对权限进行设置从安全对象:选择数据库或表,右击“属性”项,单击“权限”选项卡,选定用户或角色对其权限进行设置48SQLSERVER4安全性用用T-SQL管理权限管理权限GRANT、REVOKE、DENY例:授予用户Ben对Sales中的Employe

27、e的SELECT权限GRANT SELECT ON Sales. Employee TO BEN49SQLSERVER4安全性用户最终获得权限的必要条件1、用户已直接被授予权限或者其已属于某一个角色且该角色已被授予权限。2、没有DENY过用户或其所属的任何一个角色。50SQLSERVER4安全性如何管理SQL SERVER的安全性确定默认登录帐号的使用saBUILTINAdministrators确定用户帐号Guest 的职能确定角色public的许可权限对角色应用许可权限创建dbo所属的对象51SQLSERVER4安全性如何管理应用程序的安全性利用视图和存储过程管理安全性利用应用角色管理客户

28、应用程序的安全性52SQLSERVER4安全性视图和SP的许可机制 机制:视图主要是防止用户访问或修改数据库表中某些敏感列数据。可以通过赋予用户视图权限(SELECT、UPDATE、INSERT、DELETE),而禁止用户访问底层表,来实现数据安全。存储过程主要是实现数据库的整体一致性,可以通过赋予用户执行存储过程的权限(EXEC),而禁止用户访问底层表或视图,来实现安全。53SQLSERVER4安全性视图和SP的许可机制 调用链: 视图引用其它的表或视图,存储过程引用其它的视图、表及存储过程,形成一个调用链。 一般来说,视图或存储过程的拥有者(Owner)也是被引用对象(表、视图或其它对象)的Owner,并且都属于同一数据库。视图(或存储过程)拥有者只需要将视图对象的许可分配给用户,用户就能执行该视图,不需要用户具有访问被引用对象的许可。 但是,如果视图和存储过程引用了别人的对象,也即所有者不同,则用户提交T_SQL请求时,SQLServer将检查下列权限: 1.执行该视图或存储过程的权限 2.不同所有者被引用对象的权限 54SQLSERVER4安全性练习配置SQL SERVER身份验证模式授权windows 组和用户访问SQL SERVER废除和拒绝windows组和用户的访问权限创建数据库角色并增加成员管理对象权限55SQLSERVER4安全性SQLSERVER4安全性

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号