您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > SQLServer安全管理
SQLServer安全性管理内容SQLServer的安全机制登录账号与数据库用户的建立了解服务器角色的作用了解服务器角色的作用数据库中对象的权限赋予Page3/28SQLServer2008安全机制数据库SQLServer数据对象客户机网络用户登录身份验证指定数据库对象权限数据库SQLServer数据对象客户机网络网络用户登录身份验证指定数据库对象权限客户机的安全机制网络传输的安全机制服务器的安全机制数据库的安全机制数据对象的安全机制登录到系统当用户登录数据库管理系统时,如何确保只有合法的用户才能登录?身份验证和主体SQLServer提供了身份验证模式,用以验证客户端和服务器之间连接的方式。Windows身份验证模式SQLServer和Windows身份验证模式Page4/28主体主体是可以请求系统资源的个体、组合过程。MicrosoftSQLServer2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。Page5/28Page6/28主体Windows级Windows组Windows域登录名Windows本地登录名SQLServer级SQLServer登录名固定服务器角色数据库级数据库用户固定数据库角色应用程序角色安全对象服务器安全对象范围端点SQLServer登录名数据库数据库安全对象范围数据库用户/应用程序角色/角色/程序集/消息类型/路由/服务/远程服务绑定/全文目录/证书/非对称密钥/对称密钥/约定/架构架构安全对象范围类型/XML架构集合/聚合/约束/函数/过程/队列/统计信息/同义词/表/视图请求有权限登录到这个服务器的用户有权限能操作数据库的用户Page7/28Windows身份验证模式身份验证模式SQLServerWindows身份验证用户注意:如果SQLserver发现“SQLserver登录账户列表”中的windows账户或组账户在syslogins表中存在,则接受该账户的连接。SQLserver识别不出在windows中被删除后再重新建立的用户或组。用户必须将该账户从SQLserver中删除,然后再进行添加。Page8/28身份验证模式SQLServerWindows身份验证用户windows身份验证模式的优势:(1)可以将一个Windows的用户或组被映射到SQLSerevr的登录账户。(2)用户访问SQLServer更快,不用输入用户名和密码。(3)提供更多功能。如安全确认和密码加密、审核、密码到期、最小密码长度和输入无效密码后将账户锁定等。Page9/28SQLServer和Windows身份验证模式身份验证模式—混合验证用户Windows身份验证SQLServer用户使用Windows身份验证可以直接访问SQLServer。用户使用SQLServer账户与密码进行连接时,将验证账户是否在syslogins表中,密码是否匹配。Page10/28身份验证模式混合模式的优点:通常用于运行在非Windows系统环境的用户、Internet用户或者混杂的工作组用户访问SQLServer时提示:Windows用户映射到SQLServer登录账户称为Windows登录账户,由SQLServer验证的登录账户为SQLSerevr登录账户。Page11/28切换身份验证模式演示切换身份验证模式SQLServer登录帐户当需要使用登录账户时采用如下方法:(1)把已有的windows用户或组添加为登录账户。(2)创建新的SQLserver登录账户。(3)使用系统默认的登录账户。创建登录账户语句CREATELOGINloginName{WITHoption_list}{FROMsources}SourcesWINDOWSCERTIFICATEOption_listPASSWORD=‘***’CHECK_CHANGECHECK_EXPIRATION={ON|OFF}Page13/28创建登录账户createlogindfwithpassword='123',default_database=schtest--建立登录账号createloginzxxwithpassword='123',default_database=schtest--建立登录账号Page14/28Page15/28服务器角色-1什么是服务器角色(固定服务器角色)执行服务器级管理操作的用户权限的集合是系统内置的不能创建服务器角色每个角色有一定的权限登录帐户可以添加到服务器角色拥有大多数常用管理功能可以使管理员很方便地给用户授予权限作用于整个服务器而不是单独的哪个数据库服务器角色-2固定服务器角色描述sysadmin执行任何活动dbcreator可以创建、更改数据库serveradmin可以更改服务器范围的配置选项和关闭服务器securityadmin管理和审核登录帐户processadmin可以终止SQLServer实例中运行的进程setupadmin配置复制和链接服务器diskadmin用于管理磁盘文件bulkadmin可以运行BULKINSERT语句回顾登录账户存放在那个表中?身份验证模式有哪些?sysloginsWindows身份模式和混合模式Page18/28添加登录帐户到服务器角色服务器角色演示演示添加服务器角色成员Page19/28添加登录帐户到服务器角色在指派登录账户到服务器角色中时注意以下几点:不能添加、修改和删除服务器角色。任何已经被指派到服务器角色的登录账户可以添加其它登录账户到这个角色。可以通过对象资源管理器来从服务器角色中去除登录账户。登录帐户与服务器角色SP_addsrvsolememberloginName,serverRolecreateloginzxxwithpassword='123'sp_addsrvrolemember'zxx','sysadmin'Page20/28Page21/28阶段总结SQLServer2008安全机制身份验证模式Windows身份验证SQLServer身份验证登录帐号Windows登录帐号SQLServer登录帐号服务器角色系统内置用户可以添加到服务器角色Page22/28数据库用户访问数据库需要在那个数据库上建立数据库用户从登录中映射特殊用户•Dbo•guest用户SQLServer数据库Page23/28管理数据库安全在建立了SQLServer登录账户以后,需要授予用户和组许可,使他们在数据库中执行任务Page24/28登录账户用于访问SQLServer实例,数据库用户则用于访问数据库。访问数据库需要在数据库上建立数据库的用户数据库用户是映射到登录账户的用户当一个登录账户映射到一个Windows组时,可以建立一个数据库用户映射到这个登录账户,以使Windows组的成员能够访问数据库,也可以为这个Windows组的成员单独建立用户,而不用再新建登录账户。数据库用户演示演示映射数据库用户Page25/28数据库用户演示演示修改数据库用户修改用户属性可以在对象资源管理器的中修改用户属性。方法:选择数据库用户,单击鼠标右键,选择“属性”,修改用户的属性。删除用户可以在对象资源管理器的中删除数据库用户。方法是:选择要删除的数据库用户,单击鼠标右键,选择“删除”。Page26/28向数据库添加帐户1、添加用户账户2、默认数据库账户Page27/28向数据库添加帐户2、默认数据库账户Guest用户账户:允许没有用户账户的用户登录并访问数据库。可以对其配置权限、删除或将其添加到除master、tempdb以外的任何数据库中。满足下面条件是采用guest身份登录:(1)登录账户本身的用户账户有权访问SQLServer,但无权访问该数据库。(2)该数据库包含了guest用户账户。添加数据库用户有登录用户后,能用该帐号登录到dbms服务器。要访问数据库,还要建立数据库用户建立数据库用户语句格式CREATEUSERuser_name[{FOR|FROM}LOGINlogin_name]如:createuserzxxforloginzxxPage29/28数据库角色数据库用户账户对该数据库所具有的权限由该账户所属的数据库角色决定SQLServer提供了两类数据库角色:固定数据库角色和用户自定义数据库角色Page30/28数据库角色固定数据库角色描述db_owner拥有数据库的所有许可db_securityadmin能建立架构、更改角色db_accessadmin能添加或删除用户、组或角色db_backupoperator能备份数据库db_datareader能从数据库表中读数据db_datawriter能修改数据库表中的数据db_ddladmin能添加、修改或删除数据库对象db_denydatareader不能从数据库表中读数据db_denydatawriter不修改数据库表中的数据public维护默认的权限查看数据库角色Page31/28Public角色:维护数据库的默认用户权限所有用户、角色或组默认的属于Public角色,因此不能将它们分配给Public角色包含在每一个数据库中,包括系统数据库和用户数据库不能被删除数据库角色Page32/28数据库角色在没有设置权限的情况下,用户拥有public角色的任何权限,能够进行一下任务:执行不要求权限的语句,如print语句。查看系统表的信息,并执行某些存储过程,以从它们有权访问的master和用户数据库中检索信息。使用guest账户获得任一用户的访问权。Page33/28数据库角色用户定义数据库角色:一组具有相同权限的用户在以下情况时将用户定义的数据库角色添加到数据库:有一组人需要在SQLserver中执行一组指定的活动,并且不存在可使用的windows组;没有管理windows用户账户的权限。Page34/28数据库用户帐户和角色SQLServer指定登录用户和角色数据库用户数据库角色Windows组用户SQLServer登录帐户SQLServer验证信任连接SQLServer验证用户名和口令SQLServerWindows2000或Page35/28数据库角色演示演示创建用户定义数据库角色注意:在对角色应用权限时,该角色的每一个成员都获得该权限。Page36/28添加数据库角色成员向数据库定义的角色添加安全账户时考虑一下因素:向角色添加安全账户时,任何应用于该角色的权限会应用到新成员;将一个SQLServer角色添加为另一个SQLServer角色成员时,不能创建循环角色。故如果角色A已经是角色B的成员时,不能将B角色添加为A角色的成员。Page37/28阶段总结数据库用户从登录中映射特殊用户:Dbo和guest数据库角色固定数据库角色用户定义数据库角色增加用户数据库角色execsp_addrolemember'db_owner','zxx‘存放数据库用户sysusersSelect*fromsysusersPage39/28Page40/28管理权限对数据库对象的安全管理,是通过权限来进行的权限用于控制对数据库对象的访问,以及指定用户对数据库可以执行的操作。访问数据库资源的唯一方法是被直接授予权限或者间接的通过角色或组的成员授予权限。Page41/28管理权限权限的类型:语句、对象和预定义(1)语句权限:在数据库中创建数据库或其他项目的活动时所受到的权限控制语句权限授予某些用户使用T_SQL语句的权力。语句权限是对语句本身的定义。只有sysadmin、db_owner或db_securityadmin角色的成员才可以授予语句权限。Page42/28管理权限权限的类型:语句、对象和预定义(2)对象权限:使用数据库或执行程序的活动受到的权限控制表和视图权限:限制用户对表和视图执行sel
本文标题:SQLServer安全管理
链接地址:https://www.777doc.com/doc-1250187 .html