Server安全管理ppt课件_第1页
Server安全管理ppt课件_第2页
Server安全管理ppt课件_第3页
Server安全管理ppt课件_第4页
Server安全管理ppt课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、第14章 SQL Server平安管理14.1 SQL Server 2000的平安机制14.2 管理效力器的平安性14.3 管理数据库用户14.4 管 理 角 色14.5 管 理 权 限合理有效的数据库平安机制可以既保证被授权用户可以方便地访问数据库中的数据,又可以防止非法用户的入侵。SQL Server 2000提供了一套设计完善、操作简单的平安管理机制。14.1 SQL Server 2000的平安机制SQL Server 2000 的平安性机制由四层构成,可以用图14-1表示。从用户的角度讲,要访问数据库,需经过如下步骤。 图14-1 SQL Server 2000 的平安性机制1一个

2、数据库用户必需有权登录操作系统,即该用户在Windows 2000 Server操作系统中具有登录账户。在这个前提条件下,才有能够进入SQL Server 2000 系统。2一旦登录了操作系统,登录者还必需得到数据库系统的通行证数据库效力器的登录账户,才具有数据库效力器的衔接权或登录权。SQL Server 2000 只需在验证了指定的登录账户有效后,才完成衔接。这种对登录账户的验证称为身份验证。对用户而言,登录SQL Server 2000 需求运用以下两类身份验证之一。Windows 身份验证:此种验证方式仅用于Windows 2000 Server/NT操作系统。在这种方式下,用户只需经

3、过Windows 2000 Server / NT操作系统的登录验证,就可以衔接到SQL Server 2000 数据库实例。SQL Server身份验证:在此种验证方式下,即使用户曾经登录操作系统,也必需输入有效的SQL Server公用登录名与密码方可连入SQL Server 2000 数据库实例。3当一个登录者登录数据库效力器后,并不等于对其中的数据库具有访问权限,还必需由数据库一切者或管理员授权,使该登录者成为某一个数据库的用户。4作为某个数据库的用户,对数据库对象如数据库pubs中的表authors的访问权限也必需被授予,这些权限包括SELECT、UPDATE、INSERT、DELE

4、TE等。另一方面,从SQL Server 2000数据库效力器的角度讲,对于要登录数据库效力器的用户,SQL Server 2000采用以下两种平安认证方式。1仅Windows 认证方式:这是 SQL Server 2000 的默许身份验证方式,适用于一切登录者均为Windows 2000 Server/NT操作系统用户的情况。但在Windows 98操作系统上运转的SQL Server 实例不支持 Windows 身份验证。2混合认证方式:该方式可用于两类登录者,对于登录时提供了SQL Server 2000登录账户者,系统将运用 SQL Server 身份验证对其进展验证。对于没有提供 S

5、QL Server 2000 登录账户或恳求 Windows 身份验证的登录者,那么运用 Windows 身份验证对其进展验证。14.2 管理效力器的平安性对于一个合法的数据库用户,首先必需在SQL Server 2000中为其设置相应的登录账户,否那么他不能登录数据库效力器。有两类登录账户,SQL Server身份验证的登录账户以下简称SQL账户与Windows 身份验证的登录账户以下简称Windows账户。SQL账户的登录称号与登录密码由SQL Server 2000系统担任验证,Windows账户的登录称号与登录密码那么由Windows 2000 Server / NT担任验证。14.2

6、.1 运用企业管理器管理登录账户只需sysadmin 或 securityadmin 固定效力器角色的成员可以利用企业管理器或T-SQL语句完成SQL账户和Windows账户的管理义务。 1建立登录账户2登录账户的有关内容3修正登录账户 14.2.2 运用T-SQL语句管理登录账户 管理登录账户也可以运用T-SQL语句,需求留意的是管理Windows账户与SQL账户所运用的系统存储过程不同。1管理Windows 身份验证的登录账户1向Windows 账户授权的语法如下。命令格式:sp_grantlogin loginame = login命令阐明:loginame = login 指定一个称号

7、为login的 Windows 2000 Server /NT 用户或用户组称号,其格式为 域 用户名 或 计算机名 用户名, loginame可以省略。 2回绝一个Windows 账户登录的语法如下。命令格式:sp_denylogin loginame = login3删除一个Windows账户的语法如下。命令格式:sp_revokelogin loginame = login2管理SQL身份验证的登录账户1运用系统存储过程创建SQL账户命令格式:sp_addlogin loginame = login , passwd = password , defdb = database , def

8、language = language命令阐明: login为新建登录账户的称号 。password为密码,默许设置为 NULL 。 database 为登录时的默许数据库。 language 为默许言语 。 全部按上述次序取值时,部分变量称号loginame、passwd、defdb、deflanguage可以省略。 2运用系统存储过程修正SQL账户的密码命令格式:sp_password old = old _ password , new = new _password , loginame = login 命令阐明: 1old _ password为旧的登录密码,其默许值为 NULL;2

9、new _password为新的登录密码,无默许值;login为需求更改密码的登录名,login 必需曾经存在。 3运用系统存储过程修正SQL账户的默许数据库命令格式:sp_defaultdb loginame = login , defdb = database 命令阐明:database是新的默许数据库的称号。4运用系统存储过程修正SQL账户的默许言语命令格式:sp_ defaultlanguage loginame = login ,deflanguage = language 命令阐明:language 是新的数据库默许言语。 5运用系统存储过程删除SQL账户命令格式:sp_dropl

10、ogin loginame = login 14.2.3 特殊的登录账户saSQL Server 2000在安装后自动建立了一个特殊的SQL账户sa,即System Administrator。该账户默以为是一切数据库的dbo用户数据库一切者,具有最高权限,可以进展任何操作,且不能被删除。刚安装终了时,sa没有密码,为了平安起见,一定要为其参与密码。 14.3 管理数据库用户无论是Windows账户还是SQL账户,登录数据库效力器后的其他操作都是一样的。但首先他必需获得对数据库的访问权。SQL Server 2000 经过为登录账户指派数据库用户来使其获得对数据库的访问权限。 14.3.1 运

11、用企业管理器管理数据库用户1新建数据库用户2删除数据库用户14.3.2 运用T-SQL语句管理数据库用户运用系统存储过程可以在当前数据库中管理数据库用户。1新建数据库用户命令格式:sp_grantdbaccess loginame= login ,name_in_db= name_in_db 命令阐明:1login :为登录账户的登录名,当其为Windows 账户名时,须采用“域名登录名格式;当其为SQL账户名时,采用“登录名格式。2name_in_db:表示在当前数据库中为该登录账户所指定的数据库用户的用户名,省略该参数,那么默许登录名与用户名一样。 2删除数据库用户命令格式:sp_revo

12、kedbaccess name_in_db = name 命令阐明:name 为当前数据库中要删除的用户名。 14.3.3 特殊的数据库用户dbo 和guestSQL Server 2000 数据库中有2个特殊用户:dbo和guest。1dbo在创建一个数据库时,SQL Server 2000自动将创建该数据库的登录账户设置为该数据库的一个用户,并起名为dbo。dbo是数据库的拥有者,不能从数据库中删除,dbo对本数据库拥有一切操作权限,并可以将这些权限全部或部分授予其他数据库用户。另外,属于固定效力器角色sysadmin的成员也映射为一切数据库的dbo。2guest当一个登录者登录数据库效力

13、器时,假设该效力器上的一切数据库都没有为其建立用户账户,那么该登录者只能访问那些具有guest用户的数据库。系统数据库Master 与tempdb中的guest 用户不能被删除 ,而其他数据库中的guest 用户可以被添加或删除。 14.4 管 理 角 色角色是为了方便权限管理而设置的一种管理单位。假设计划使一组登录账户或数据库用户在数据库效力器或数据库对象上具有一样的权限,那么可以经过角色实现。 14.4.1 固定角色固定角色按其权限作用范围可以分为固定效力器角色与固定数据库角色,其作用范围分别为整个数据库效力器与单个数据库。这些角色不能修正或删除。1固定效力器角色SQL Server 20

14、00的效力器角色只需固定效力器角色,用于对数据库效力器的操作。对数据库效力器操作的权限不能直接赋给其他登录账户,只能使某些登录账户成为固定效力器角色的成员,才干使他们具有这些权限。SQL Server 2000具有如下固定效力器角色:1sysadmin,有权在 SQL Server 中进展任何活动。2serveradmin,有权设置效力器一级的配置选项,封锁效力器。3setupadmin,有权管理链接效力器和启动过程。4securityadmin,有权管理登录和 CREATE DATABASE 权限,还可以读取错误日志和更改密码。5processadmin,有权管理在 SQL Server 中

15、运转的进程。6dbcreator,有权创建、更改和除去数据库。7diskadmin,有权管理磁盘文件。8bulkadmin,有权执行 BULK INSERT 语句。2固定数据库角色SQL Server 2000中的数据库角色用于对单个数据库的操作。每个数据库都有一系列固定数据库角色,虽然在不同的数据库内他们是同名的,但各自的作用范围都仅限于本数据库。SQL Server 2000具有如下固定数据库角色:1db_owner,在数据库中具有全部权限。2db_accessadmin,有权添加或删除数据库用户。3db_securityadmin,有权管理全部权限、对象一切权、角色和角色成员资历。4db

16、_ddladmin,有权发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。5db_backupoperator,有权发出 DBCC、CHECKPOINT 和 BACKUP 语句。6db_datareader,有权查询数据库内任何用户表中的一切数据。7db_datawriter,有权更改数据库内任何用户表中的一切数据。8db_denydatareader,不能查询数据库内任何用户表中的任何数据。9db_denydatawriter,不能更改数据库内任何用户表中的任何数据。14.4.2 用户定义的数据库角色数据库角色除了固定角色外,还有一种角色是用户定义的数据库角色。

17、这种角色是在SQL Server 2000安装之后根据需求设置的,因此可以创建、修正或删除,它们通常由sysadmin、db_securityadmin、db_owner等固定角色中的成员创建。1创建用户定义的数据库角色创建用户定义的数据库角色需求调用系统存储过程sp_addrole ,语法如下。命令格式:sp_addrole rolename = role ,ownername = owner 命令阐明:1role 表示要在当前数据库中创建的角色称号。2owner 表示该角色的一切者,默许值为数据库的一切者dbo。 2从当前数据库删除用户定义的角色删除角色需求调用系统存储过程。命令格式:sp

18、_droprole rolename = role命令阐明:role为将要从当前数据库中删除的角色的称号。留意:1不能删除固定角色及 14.4.3节所述的public 角色。2运用 sp_droprole 只能删除规范角色中的用户定义角色,不能删除运用程序角色,假设要删除运用程序角色,须运用 sp_dropapprole。3不能删除带有成员的角色。在删除角色之前,首先必需从该角色中删除其一切成员。4只需 sysadmin 固定效力器角色、db_owner 和 db_securityadmin 固定数据库角色成员或角色的一切者才干执行 sp_droprole。 3利用企业管理器创建或删除用户定义

19、的数据库角色 14.4.3 特殊的数据库角色public在SQL Server 2000 的每个数据库中包括master、msdb、tempdb、model和一切用户数据库都有一个特殊的数据库角色 public,它可以捕获数据库中用户的一切默许权限。public无法删除,每个数据库用户都自动属于该角色的成员。14.4.4 角色成员管理角色成员管理包括将登录账户、数据库用户或其他角色添加为一个角色的成员以及删除角色成员。可以利用系统存储过程或企业管理器管理角色成员。1管理效力器角色的成员效力器角色的成员均为登录账户。管理效力器角色的成员就是将登录账户添加为固定效力器角色成员或删除之。1利用系统存

20、储过程将登录账户添加为固定效力器角色的成员命令格式:sp_addsrvrolemember loginame = login , rolename = role命令阐明:login是添加到固定效力器角色的登录账户称号,可以是Windows或SQL账户。2利用系统存储过程从固定效力器角色中删除成员命令格式:sp_dropsrvrolemember loginame= login ,rolename= role命令阐明: login 是将要从固定效力器角色成员中删除的登录账户的称号,login 必需存在。 role固定效力器角色的称号。 3利用企业管理器管理效力器角色成员 2管理数据库角色的成员数

21、据库角色的成员均为数据库用户或其他数据库角色。管理数据库角色的成员就是将数据库用户或其他数据库角色添加为数据库角色成员或删除之。1利用系统存储过程添加数据库角色的成员命令格式:sp_addrolemember rolename = role , membername = security_account命令阐明: role是当前数据库中数据库角色称号,包括固定数据库角色与用户定义数据库角色。 security_account是拟添加到该数据库角色的数据库用户或其他用户定义的数据库角色称号。 2利用系统存储过程从数据库角色中删除成员命令格式:sp_droprolemember rolename

22、= role,membername = security_account命令阐明: role为将要从中删除成员的数据库角色的称号。 security_account为将要从角色中删除的数据库用户或另一个角色的称号。3利用企业管理器管理数据库角色成员 14.4.5 运用程序角色 有时,从系统的平安性或性能上思索,能够希望限制用户对数据库的访问方式。例如为了财务数据的平安,限定用户只能经过特定运用程序来访问一个财务数据库;又如,对于某些难以用外键表述的复杂表间关系,需求经过运用程序维护表间数据的完好性与一致性。在这类情况下,采用运用程序角色非常有效。运用程序角色具有如下特点:1运用程序角色不同于普

23、通的规范角色,它没有成员。假设一个用户想要获得运用程序角色的权限,他必需有权运用某特定运用程序,该运用程序可以经过激活一个运用程序角色来衔接某个数据库。2默许情况下,运用程序角色是非活动的,需求用密码激活。只需在运用程序中激活并连入数据库,运用程序角色才干生效,衔接一旦断开,运用程序角色立刻失去作用。3当一个运用程序角色被激活并衔接到一个数据库时,衔接期间会屏蔽掉该数据库中的一切用户和规范角色及其权限,仅运用程序角色的权限可以生效。只需在运用程序断开衔接后,这些用户与规范角色的权限才干生效。4当一个用户激活了运用程序角色后,他将获得运用程序角色的一切权限,但其原有的非运用程序角色的权限会全部消

24、逝。此时,他假想象访问其他数据库,只能经过其他数据库中的 guest 用户账户。假设数据库中没有 guest 用户账户,那么无法访问这些数据库。 只需 sysadmin 固定效力器角色成员、db_owner和db_securityadmin 固定数据库角色成员才干利用系统存储过程创建、修正与删除运用程序角色,但任何用户都可以经过为角色提供正确的密码来激活角色。运用程序角色运用之前首先要创建它,运用时在运用程序中利用密码激活它,一旦运用程序与数据库的衔接断开,运用程序角色将自动处于非激活形状。1创建运用程序角色命令格式:sp_addapprole rolename = role,password

25、 = password 命令阐明:1role为新建运用程序角色的称号。 2password为激活角色所需的密码。 2激活运用程序角色激活运用程序角色的任务应该在运用程序中进展,即在运用程序中嵌入如下语法代码。命令格式:sp_setapprole rolename= role, password=Encrypt N password |password ,encrypt=encrypt_style命令阐明:1role是当前数据库中曾经定义的运用程序角色名。2password是激活运用程序角色的密码。3Encrypt 函数用于对密码加密,运用时必需在密码前面加上N 以将密码转换成Unicode 字

26、符串。4encrypt_style指定密码加密方式,它可以取以下两值之一:aNONE,为默许值,表示密码以明文方式传送给SQL Server。bODBC,将密码发送到 SQL Server 之前,运用 ODBC 规范 Encrypt 函数对密码加密。该方式仅用于ODBC 客户端或SQL Server 的 OLE DB 提供者。3修正运用程序角色的密码命令格式:sp_approlepassword rolename = role ,newpwd = password 命令阐明:1role 为运用程序角色的称号。2password 为运用程序角色的新密码, password 不能为 NULL。 4

27、删除运用程序角色命令格式:sp_dropapprole rolename = role命令阐明:role表示将要删除的运用程序角色。 14.5 管 理 权 限一个登录者假设要对某个数据库进展修正或访问,必需具有相应的权限,这种权限涉及效力器级与数据库级的操作。权限既可以直接获得,也可以经过成为角色成员而承继角色的权限。管理权限包括授予、回绝和废除权限。14.5.1 权限的种类权限分为三种:对象权限、语句权限和隐含权限。 1对象权限对象权限指对已存在的数据库对象的操作权限,包括对数据库对象的SELECT、INSERT、UPDATE 、DELETE和 EXECUTE权限。 2语句权限语句权限用于创

28、建数据库或数据库对象所涉及的活动。 3隐含权限隐含权限控制那些只能由固定角色的成员或数据库对象一切者执行的活动。 14.5.2 运用T-SQL语句管理权限权限管理指对于用户或角色的某些操作赋予允许权限、回绝权限、以及废除权限。1允许权限GRANT,表示用户或角色可以执行某项操作。2回绝权限DENY,表示用户或角色不能执行某项操作,也称制止权限。3废除权限REVOKE,表示废除以前用户或角色所具有的允许权限或回绝权限。 1语句权限的管理运用T-SQL允许、回绝或废除语句权限的语法如下。命令格式:GRANT|DENY|REVOKEALL|statement,.nTO security_account,.n命令阐明:1GRANT、DENY、REVOKE分别表示允许、回绝和废除语句权限的操作。2ALL表示针对一切语句权限的设置,只需sysadmin成员有权运用ALL。3statement表示被允许、回绝或废除语句权限的语句,包括9个语句: CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDU

温馨提示

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

最新文档

评论

0/150

提交评论