版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计1010、第、第9 9章安全管理章安全管理大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计三个概念:登录、用户、角色三个概念:登录、用户、角色登录帐号登录帐号:用来和:用来和SQL SERVERSQL SERVER连接连接有了登录号才能连接上有了登录号才能连接上SQL SERVERSQL SERVER,才有使用,才有使用SQL SERVERSQL SERVER的入门资格,但登录帐号没有使用数据库对象的权力的入门资格,但登录帐号没有使用数据库对象的权力数
2、据库用户数据库用户:简称用户,作为数据库对象,:简称用户,作为数据库对象,SQL SQL SERVERSERVER用它来设定数据库存取的许可权。用它来设定数据库存取的许可权。所以为了要存取所以为了要存取SQL SERVERSQL SERVER内的某一数据库的数据库对象,内的某一数据库的数据库对象,每一登录帐号必须对应一个用户名。每一登录帐号必须对应一个用户名。角色角色:也称为安全性角色也称为安全性角色,对数据具有相同的访问权对数据具有相同的访问权限。包括限。包括系统内建系统内建角色和角色和自建自建角色角色二类角色二类角色,其中,系其中,系统内建角色又分为服务器角色和数据库角色,数据库角统内建角
3、色又分为服务器角色和数据库角色,数据库角色也是一个数据库对象色也是一个数据库对象大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计登录、用户的关系登录、用户的关系1 1、登录帐号是用来连接、登录帐号是用来连接SQL SERVERSQL SERVER的,但登录帐号没有使的,但登录帐号没有使用数据库对象的权力,用数据库对象的权力,SQL SERVERSQL SERVER是以用户名来设定数是以用户名来设定数据库存取的许可权。所以,为了要存取据库存取的许可权。所以,为了要存取SQL SERVERSQL SERVER内某内某一数据库内的数据库对象,每一登录帐
4、号必须在该数据一数据库内的数据库对象,每一登录帐号必须在该数据库对应一个用户名库对应一个用户名2 2、用户是数据库对象,定义和修改时必须选择、用户是数据库对象,定义和修改时必须选择对应的数据对应的数据库库,而登录不是数据库对象,它的定义和修改在,而登录不是数据库对象,它的定义和修改在SQL SQL SERVERSERVER服务器下的服务器下的安全性安全性里进行。里进行。3 3、用户的定义必须指定对应的登录名,一个登录名可以对、用户的定义必须指定对应的登录名,一个登录名可以对应多个用户,但一个登录名在一个数据库内只能有一个应多个用户,但一个登录名在一个数据库内只能有一个用户。用户。4 4、用户名
5、与数据库相关。、用户名与数据库相关。sales 数据库中的数据库中的 xyz 用户帐用户帐户不同于户不同于 inventory 数据库中的数据库中的 xyz 用户帐户,即使用户帐户,即使这两个帐户有相同的用户名。用户名由这两个帐户有相同的用户名。用户名由 db_owner 固定固定数据库角色成员定义。数据库角色成员定义。大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计用户、角色的关系用户、角色的关系1 1、角色在权限管理方面是一个强有力的工具,是具有、角色在权限管理方面是一个强有力的工具,是具有相同权限的用户的集合,角色分为系统内建角色和相同权限
6、的用户的集合,角色分为系统内建角色和自建角色,同时系统内建角色分为服务器角色和数自建角色,同时系统内建角色分为服务器角色和数据库角色,自建角色都是数据库角色。据库角色,自建角色都是数据库角色。2 2、服务器角色和登录名相对应;而数据库角色是和用、服务器角色和登录名相对应;而数据库角色是和用户对应的,数据库角色和用户都是数据库对象,定户对应的,数据库角色和用户都是数据库对象,定义和删除的时候必须选择所属的数据库义和删除的时候必须选择所属的数据库3 3、一个数据库角色中可以有多个用户,一个用户也可、一个数据库角色中可以有多个用户,一个用户也可以属于多个数据库角色以属于多个数据库角色大型数据库大型数
7、据库SQL Server 2000SQL Server 2000程序设计程序设计 SQL SERVER 2000工作时,用户需要经过两个安全工作时,用户需要经过两个安全性阶段:身份验证、授权(权限验证)性阶段:身份验证、授权(权限验证) 9.1.1 9.1.1 身份验证身份验证 又叫认证,是使用又叫认证,是使用SQL SERVER 2000的第一道管制关的第一道管制关卡,用户必须使用卡,用户必须使用登录帐号和密码登录帐号和密码来登录来登录SQL SERVER ,当登录成功后才拥有使用当登录成功后才拥有使用SQL SERVER 的入门资格。的入门资格。 但是,即使你通过了第一道认证关卡但是,即使
8、你通过了第一道认证关卡并不表示并不表示你对你对SQL SERVER内的数据有存取的权限。内的数据有存取的权限。 9.1 安全认证模式安全认证模式大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计SQL SERVER 2000可以通过两种方式来进行身份验证:可以通过两种方式来进行身份验证:Windows身份验证、身份验证、 SQL SERVER身份验证。身份验证。 Windows身份验证:身份验证:由由Windows系统确认用户的登录系统确认用户的登录帐号和密码,帐号和密码, Windows系统的登录帐号可以直接访问系统的登录帐号可以直接访问SQL
9、SERVER系统,不必提供系统,不必提供SQL SERVER的登录帐号的登录帐号和密码。和密码。 SQL SERVER身份验证:身份验证:由由Windows系统确认用户系统确认用户的登录帐号和口令。的登录帐号和口令。相应的,相应的,SQL SERVER 2000可以在两种安全模式(身份可以在两种安全模式(身份验证)下工作:验证)下工作:Windows身份验证模式身份验证模式:用:用Windows用户帐号进行连接用户帐号进行连接混合模式混合模式:用:用Windows身份验证或身份验证或SQL SERVER身份验身份验证与证与SQL SERVER实例连接。实例连接。9.1.1 9.1.1 身份验证
10、身份验证大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计9.1.2 9.1.2 授权授权 又叫权限验证,数据库中的所有对象的存取权限还又叫权限验证,数据库中的所有对象的存取权限还必须通过必须通过授权(即存取许可)授权(即存取许可)的设定来决定该登录者的设定来决定该登录者是否拥有某一对象的存取权限。是否拥有某一对象的存取权限。大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计9.2 登录管理登录管理 登录帐号是基于服务器使用的用户名。为了访问登录帐号是基于服务器使用的用户名。为了访问SQL Server
11、系统,用户必须提供正确的登录帐号。这些登录系统,用户必须提供正确的登录帐号。这些登录帐号既可以是帐号既可以是Windows登录帐号,也可以是登录帐号,也可以是SQL Server登录帐号。登录帐号。 登录帐号的信息是系统级信息,存储在登录帐号的信息是系统级信息,存储在master数据库数据库中的中的syslogins系统表中。系统表中。大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计增加登录帐号可以有两种方法:增加登录帐号可以有两种方法:使用企业管理器使用企业管理器 1 1、选择要建立登录的、选择要建立登录的SQL SERVERSQL SERVE
12、R服务器服务器 2 2、展开安全性,选择登录、展开安全性,选择登录使用系统存储过程使用系统存储过程 1 1、SQL SERVERSQL SERVER登录登录( (sp_AddLoginsp_AddLogin,sp_DropLoginsp_DropLogin) )sp_addloginsp_addlogin 登陆名登陆名, 密码密码,默认数据库默认数据库 2 2、Windows NTWindows NT用户或组用户或组登录登录( (机器名机器名 用户用户或或工作组工作组名名) )( (sp_GrantLoginsp_GrantLogin、 sp_DenyLoginsp_DenyLogin、 sp
13、_RevokeLoginsp_RevokeLogin) )格式格式:sp_GrantLogin sp_GrantLogin 机器名机器名 用户名用户名9.2.1 9.2.1 创建登录创建登录大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计9.2.2 9.2.2 查看、修改登录查看、修改登录查看、修改登录帐号:查看、修改登录帐号:使用企业管理器使用企业管理器 1 1、选择要查看或修改的登录的、选择要查看或修改的登录的SQL SERVERSQL SERVER服务器服务器 2 2、展开安全性,选择登录、展开安全性,选择登录 3 3、在详细信息窗格中,右
14、击要查看的登录,然后单、在详细信息窗格中,右击要查看的登录,然后单击属性。击属性。大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计9.2.3 9.2.3 删除登录删除登录使用企业管理器使用企业管理器 1 1、选择要删除登录的、选择要删除登录的SQL SERVERSQL SERVER服务器服务器 2 2、展开安全性,选择登录、展开安全性,选择登录 3 3、在详细信息窗格中,右击要查看的登录,单击删除。、在详细信息窗格中,右击要查看的登录,单击删除。使用系统存储过程使用系统存储过程 1 1、SQL SERVERSQL SERVER登录登录( (sp_
15、dropLoginsp_dropLogin) )sp_droploginsp_droplogin 登陆名登陆名, 密码密码,默认数据库默认数据库 2 2、Windows NTWindows NT用户或组用户或组登录登录( (机器名机器名 用户用户或或工作组工作组名名) )( (sp_DenyLoginsp_DenyLogin、 sp_RevokeLoginsp_RevokeLogin) )格式格式:sp_revokeLogin sp_revokeLogin 机器名机器名 用户名用户名大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计9.3 数据库用
16、户管理数据库用户管理 用户帐号是基于数据库使用的名称,与登录帐号相对用户帐号是基于数据库使用的名称,与登录帐号相对应,登录帐号属数据库实例范畴的概念,用户帐号属于应,登录帐号属数据库实例范畴的概念,用户帐号属于特定数据库范畴。一个登录帐号可以使用一个特定的用特定数据库范畴。一个登录帐号可以使用一个特定的用户帐号或一个默认的用户帐号。户帐号或一个默认的用户帐号。 用户帐户是由用户帐户是由SQL ServerSQL Server管理的,所有的用户帐户都管理的,所有的用户帐户都存放在系统表存放在系统表sysuserssysusers中。中。大型数据库大型数据库SQL Server 2000SQL S
17、erver 2000程序设计程序设计9.3.1 9.3.1 创建用户帐号创建用户帐号创建数据库用户帐号,可以有两种方法:创建数据库用户帐号,可以有两种方法:使用企业管理器使用企业管理器 1 1、选择要建立用户的、选择要建立用户的SQL SERVERSQL SERVER服务器服务器 2 2、展开数据库,选择用户、展开数据库,选择用户使用系统存储过程使用系统存储过程 sp_AddUsersp_AddUser 登录名登录名,用户名用户名注:在管理用户的时候必须选择对应的数据库注:在管理用户的时候必须选择对应的数据库(useuse 要建立用户的数据库名)要建立用户的数据库名) 大型数据库大型数据库SQ
18、L Server 2000SQL Server 2000程序设计程序设计9.3.2 9.3.2 删除用户帐号删除用户帐号删除数据库用户帐号,可以有两种方法:删除数据库用户帐号,可以有两种方法:使用企业管理器使用企业管理器 1 1、选择要建立用户的、选择要建立用户的SQL SERVERSQL SERVER服务器服务器 2 2、展开数据库,选择用户、展开数据库,选择用户使用系统存储过程使用系统存储过程 sp_DropUsersp_DropUser 用户名用户名注:在管理用户的时候必须选择对应的数据库注:在管理用户的时候必须选择对应的数据库(useuse 要建立用户的数据库名)要建立用户的数据库名)
19、 大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计9.4 角色角色 角色在权限管理方面是一个强有力的工具,如果用户具有角色在权限管理方面是一个强有力的工具,如果用户具有相同的权限,那么我们可以:相同的权限,那么我们可以:1 1、先创建一个角色、先创建一个角色2 2、对这个角色赋予权限、对这个角色赋予权限3 3、将这些用户添加到该角色中(使它们成为角色中的成员)、将这些用户添加到该角色中(使它们成为角色中的成员) 角色分为系统内建角色和自建角色,同时系统内建角色分角色分为系统内建角色和自建角色,同时系统内建角色分为服务器角色和数据库角色(为服务器角
20、色和数据库角色(自建角色都是数据库角色自建角色都是数据库角色)。)。1 1、服务器角色和登录名相对应、服务器角色和登录名相对应2 2、数据库角色是和用户对应的、数据库角色是和用户对应的3 3、数据库角色和用户都是数据库对象,定义和删除的时候、数据库角色和用户都是数据库对象,定义和删除的时候必须选择所属的数据库必须选择所属的数据库大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计一、固定服务器一、固定服务器角色角色下下表表描描述述固固定定服服务务器器角角色色。 固固定定服服务务器器角角色色 描描述述 sysadmin 在在 SQL Server 中中
21、进进行行任任何何活活动动。该该角角色色的的权权限限跨跨越越所所有有其其它它固固定定服服务务器器角角色色。 serveradmin 配配置置服服务务器器范范围围的的设设置置。 setupadmin 添添加加和和删删除除链链 接接服服务务器器,并并执执行行某某些些系系统统存存 储储过过程程(如如 sp_serveroption) 。 securityadmin 管管理理服服务务器器登登录录。 processadmin 管管理理在在 SQL Server 实实例例中中运运行行的的进进程程。 dbcreator 创创建建和和改改变变数数据据库库。 diskadmin 管管理理磁磁盘盘文文件件。 bul
22、kadmin 执执行行 BULK INSERT 语语句句。 大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计二、向固定服务器二、向固定服务器角色添加登录角色添加登录向固定服务器角色添加登录成员向固定服务器角色添加登录成员使用企业管理器使用企业管理器 1 1、选择要建立用户的、选择要建立用户的SQL SERVERSQL SERVER服务器服务器 2 2、展开安全性,选择服务器角色,添加登录、展开安全性,选择服务器角色,添加登录大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计三、固定数据库三、固定数据库
23、角色角色下下表表描描述述固固定定数数据据库库角角色色。 固固定定数数据据库库角角色色 描描述述 db_owner 进进行行所所有有数数据据库库角角色色的的活活动动, 以以及及数数据据库库中中的的其其它它维维护护和和配配置置活活动动。该该角角色色的的权权限限跨跨越越所所有有其其它它固固定定数数据据库库角角色色。 db_accessadmin 在在数数据据库库中中添添加加或或删删除除 Windows NT 4.0 或或 Windows 2000 组组和和用用户户以以及及 SQL Server 用用户户。 db_datareader 查查看看来来自自数数据据库库中中所所有有用用户户表表的的全全部部数
24、数据据。 db_datawriter 添添加加、更更改改或或删删除除来来自自数数据据库库中中所所有有用用户户表表的的数数据据。 db_ddladmin 添添加加、修修改改或或除除去去数数据据库库中中的的对对象象(运运行行所所有有 DDL) 。 db_securityadmin 管管理理 SQL Server 2000 数数据据库库角角色色的的角角色色和和成成员员, 并并管管理理数数据据库库中中的的语语句句和和对对象象权权限限。 db_backupoperator 有有备备份份数数据据库库的的权权限限。 db_denydatareader 拒拒绝绝选选择择数数据据库库数数据据的的权权限限。 db
25、_denydatawriter 拒拒绝绝更更改改数数据据库库数数据据的的权权限限。 大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计四、向固定数据库四、向固定数据库角色添加用户角色添加用户向固定数据库角色添加用户向固定数据库角色添加用户使用企业管理器使用企业管理器 1 1、选择要建立用户的、选择要建立用户的SQL SERVERSQL SERVER服务器服务器 2 2、展开数据库,选择角色所在的数据库、展开数据库,选择角色所在的数据库 3 3、单击角色,添加用户、单击角色,添加用户使用系统存储过程使用系统存储过程 1 1、定义、删除角色:、定义、删
26、除角色:sp_AddRole sp_AddRole 、sp_DropRolesp_DropRole 2 2、修改角色成员:、修改角色成员:sp_droprolemembersp_droprolemember 角色名角色名 sp_AddRoleMembersp_AddRoleMember 角色名角色名,用户名用户名注:在管理数据库角色的时候必须选择对应的数据库注:在管理数据库角色的时候必须选择对应的数据库大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计 当用户连接到当用户连接到 SQL ServerSQL Server后,他们可以执行的活动由授后,
27、他们可以执行的活动由授予以下帐户的权限确定:予以下帐户的权限确定: 1 1、用户的安全帐户。、用户的安全帐户。2 2、用户的安全帐户所属的、用户的安全帐户所属的 Windows NTWindows NT或或 2000 2000 组或角色组或角色层次结构。层次结构。 用户若要进行任何涉及更改数据库定义或访问数据的活用户若要进行任何涉及更改数据库定义或访问数据的活动,则必须有相应的权限。动,则必须有相应的权限。 管理权限包括授予或废除执行以下活动的用户权限:管理权限包括授予或废除执行以下活动的用户权限: 1 1、处理数据和执行过程(对象权限)。、处理数据和执行过程(对象权限)。2 2、创建数据库或
28、数据库中的项目(语句权限)。、创建数据库或数据库中的项目(语句权限)。3 3、利用授予预定义角色的权限(暗示性权限)。、利用授予预定义角色的权限(暗示性权限)。 9.5 权限管理权限管理大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计处理数据或执行过程时需要称为对象权限的权限类别:处理数据或执行过程时需要称为对象权限的权限类别: 1 1、SELECTSELECT、INSERTINSERT、UPDATE UPDATE 和和 DELETE DELETE 语句权限,它语句权限,它们可以应用到整个表或视图中。们可以应用到整个表或视图中。2 2、SELEC
29、T SELECT 和和 UPDATE UPDATE 语句权限,它们可以有选择性地应语句权限,它们可以有选择性地应用到表或视图中的单个列上。用到表或视图中的单个列上。3 3、SELECT SELECT 权限,它们可以应用到用户定义函数。权限,它们可以应用到用户定义函数。4 4、INSERT INSERT 和和 DELETE DELETE 语句权限,它们会影响整行,因此语句权限,它们会影响整行,因此只可以应用到表或视图中,而不能应用到单个列上。只可以应用到表或视图中,而不能应用到单个列上。5 5、EXECUTE EXECUTE 语句权限,它们可以影响存储过程和函数。语句权限,它们可以影响存储过程和
30、函数。 注:对象权限的设置:注:对象权限的设置:SQL SERVERSQL SERVER服务器服务器 数据库数据库 某一特定数据库对象某一特定数据库对象 所有任所有任务务 管理权限管理权限一、对象权限一、对象权限大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计对象权限的设置对象权限的设置使用企业管理器:使用企业管理器:SQL SERVERSQL SERVER服务器服务器 数据库数据库 某一特某一特定数据库对象定数据库对象 所有任务所有任务 管理权限管理权限使用使用T-SQLT-SQL语句:语句: GRANT GRANT 对象权限对象权限 ON O
31、N 数据库对象数据库对象 TO TO 用户或角色用户或角色一、对象权限一、对象权限大型数据库大型数据库SQL Server 2000SQL Server 2000程序设计程序设计 创建数据库或数据库中的项(如表或存储过程)所涉创建数据库或数据库中的项(如表或存储过程)所涉及的活动要求另一类称为语句权限的权限。例如,如果用及的活动要求另一类称为语句权限的权限。例如,如果用户必须能够在数据库中创建表,则应该向该用户授予户必须能够在数据库中创建表,则应该向该用户授予 CREATE TABLE CREATE TABLE 语句权限。语句权限(如语句权限。语句权限(如 CREATE CREATE DATABASEDATABASE)适用于语句自身,而不适用于数据库中定义的)适用于语句自身,而不适用于数据库中定义的特定对象。特定对象。语句权限有:语句权限有: 1 1、BACKUP DATABASEBACKUP DATABASE、BACKUP LOGBACKUP LOG2 2、CREATE DATABASECREATE DATABASE3 3、CREATE DEFAULTCREATE DEFAULT、 CREATE RULECREATE RULE、CREA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年甘肃省水务投资集团有限公司招聘企业管理人员考试笔试备考试题及答案解析
- 2025中材锂膜社会招聘笔试考试备考题库及答案解析
- 2025年迪庆州香格里拉市交通运输局招聘招聘公益性岗位(10人)笔试考试参考题库及答案解析
- 2026年陕西省选调生招录(面向华南理工大学)考试笔试备考试题及答案解析
- 2025福建三明老年大学教师招聘考试笔试备考题库及答案解析
- 2026年陕西省选调生招录(面向北京理工大学)笔试考试参考题库及答案解析
- 抚州市临川区2025年招聘城市社区工作者(专职网格员)【106人】笔试考试参考试题及答案解析
- 黑龙江省红十字会所属事业单位2025年公开招聘工作人员8人笔试考试参考题库及答案解析
- 2025河北衡水武邑县中医医院见习岗位招聘16人考试笔试模拟试题及答案解析
- 2025年新能源物流车辆成本效益分析报告
- 2025年上海市中考语文备考之文学常识汇编
- (高清版)DG∕TJ 08-55-2019 城市居住地区和居住区公共服务设施设置标准
- 2025-2030中国锌空电池行业发展状况及竞争前景分析研究报告
- 联合作战试题及答案
- 钢桁梁加工制作工艺流程钢结构加工制作98课件
- 职业规划:养猪行业
- 空桶回收协议
- 国内适老化设计研究综述和趋势探讨
- 危险货物运输营运方案
- 个人车辆给公司租赁协议书范本
- 西游记儿童版故事解读
评论
0/150
提交评论