数据库《数据库的安全与权限》实验报告优质资料.doc
《数据库《数据库的安全与权限》实验报告优质资料.doc》由会员分享,可在线阅读,更多相关《数据库《数据库的安全与权限》实验报告优质资料.doc(54页珍藏版)》请在咨信网上搜索。
数据库《数据库的安全与权限》实验报告优质资料 (可以直接使用,可编辑 优质资料,欢迎下载) xx大学计算机与信息技术学院 实验报告 姓 名 学 号 专业班级 课程名称 数据库系统概论 实验日期 成 绩 指导教师 批改日期 实验名称 数据库的安全与权限 实 验 内 容 [目的和意义] •理解SQL Server身份验证模式 •学会创建和管理登录帐户和用户帐户; •学会创建和管理服务器角色和数据库角色 •学会授予、拒绝和撤销权限的方法 [实验内容] •设置验证模式,熟悉系统登录验证过程。 •登录管理 •用户管理 •角色管理 •权限管理 [实现步骤] •SQL Server 的安全管理 假若你是SQL Server2005数据库服务器的管理员,服务器中包含7个用户数据库,它们为学校的多个部门应用程序提供数据,每个部门的用户维护自己的数据库,你需要配置服务器和数据库许可权限,让每个维护自己数据库的用户有足够的权限来管理数据库。你该怎么做呢?你需要为每个用户创建一个账户,把每个账户映射到它们的数据库中,添加所有的用户账户到自己的数据库中的db_owner角色中去。 一、两个安全性阶段 在SQL Server2005中工作时,用户要经过两个安全性阶段:身份验证和权限验证(授权)。每个用户必须通过登录账户建立自己的连接能力(身份验证),以获得对SQL Server2005实例的访问权限。然后,该登录必须映射到用于控制在数据库中所执行的活动(权限验证)的SQL Server用户账户。如果数据库中没有用户账户,则即使用户能够连接到SQL Server实例,也无法访问数据库。 二、两种安全验证模式 SQL Server 提供了两种安全验证模式,即Windows身份验证模式和混合身份验证模式(也称SQL Server身份验证模式),数据库设计者和数据库管理员可以根据实际情况进行选择。 1、Windows身份验证模式 Windows身份验证模式是指用户通过Windows用户账户连接到SQL Server,即用户身份由Windows系统来验证。SQL Server使用Windows操作系统中的信息验证账户名和密码。这是默认的身份验证模式,比混合验证模式安全得多。 一般情况下,客户机都支持混合信任连接,建议使用Windows身份验证方式。使用Windows身份验证有如下特点。 (1)Windows验证模式下由Windows管理登录账户,数据库管理员主要是使用该账户。 (2)Windows有功能很强的工具与技术去管理用户的登录账户。 (3)可以在SQL Server中增加用户组,可以使用用户组。 2、混合身份验证模式(也称SQL Server身份验证模式) 混合身份验证模式允许用户使用Windows身份和SQL Server身份进行连接。通过Windows登录账户连接的用户可以使用Windows验证的受信任连接。当用户使用指定的登录名称和密码进行非信任连接时,SQL Server检测输入的登录名和密码是否与系统表syslogins中记录的情况相同,据此进行身份验证。如果不存在该用户的登录账户,则身份验证失败。用户只有提供正确的登录名和密码,才能通过SQL Server的验证。 提供SQL Server身份验证是为了考虑非Windows客户兼容及向后兼容,早期SQL Server的应用程序可能要求使用SQL Server登录和密码。当SQL Server实例在Windows98/Windows2000professional上运行时,由于Windows98/Windows2000professional不支持Windows身份验证模式,必须使用混合模式。非Windows客户端也必须使用SQL Server身份验证。 混合身份验证模式有如下特点。 (1)混合模式允许非Windows客户、Internet客户和混合的客户组连接到 SQL Server中。 (2)增加了完全性方面的选择。 如果必须选择“混合身份验证模式”并要求使用SQL登录以适应旧式应用 程序,则必须为所有SQL账户设置强密码。这对于属于sysadmin角色的账户(特别是sa账户)尤其重要。 3、设置验证模式 安装SQL Server2005默认的是Windows身份验证模式。 系统管理员在management studio中有两种设置方法(参看实验指导),均需要重新启动SQL Server后,才能生效。 三、登录管理 1、系统管理员登录账户 SQL Server有两个默认的系统管理员登录账户:sa和administrators。这两个登录账户具有SQL Server系统和所有数据库的全部权限。 在安装SQL Server之后,自动创建的登录标识符只有系统管理员sa账户和administrators账户,administrators是Windows系统的系统管理员组。sa是一个特殊的登录名,它代表SQL Server身份验证机制下SQL Server的系统管理员,sa始终关联dbo(dbo是默认的用户账号,就是指数据库的创建者)数据库用户,并且没有为sa指定口令。这意味着如果 SQL Server身份验证模式,任何得知这个SQL Server存在的人都可以登录到SQL Server上,并且可以做任意操作。为安全起见,在安装SQL Server后,应尽快地给系统管理员账户指定口令。 为SQL Server系统管理员指定口令的步骤如下。 (1)在“对象资源管理器”窗口中某数据库引擎下。 (2)分别展开“安全性”、“登录名”节点,查看所有当前存在的登录标示符,系统管理员账户sa应包含在其中。 (3)右击sa,然后选择“属性”项,系统弹出“登录属性”窗口。 (4)在“密码”一栏中输入新的口令,并在“确认密码”一栏再次输入相同“密码”。 (5)在“默认数据库”一栏输入sa默认使用的数据库。 (6)单击“确定”按钮,系统关闭对话框,这样完成了为系统管理员设置新口令操作。 2、使用management studio 管理SQL Server登录账户 在management studio中能方便地创建、查看、修改、删除登录账户。有如下两种方式创建SQL Server登录账户(1和2)。 (1)映射Windows登录账户为SQL Server登录账户 在management studio中可以将一个Windows账户或一个组映射成一个SQL Server登录名。每个SQL Server登录名都可以在指定的数据库中创建数据库用户名。这个特性可以让Windows组中的用户直接访问服务器上的数据库。至于这些指定的数据库用户的权限,可以另行指定的。 提示:Windows账户应是已经存在的。 具体步骤(参看实验指导)。(在用户映射选项卡中,选定某数据库后用户名默认与登录名一样,也可设定为不一样的。) (2)在management studio中创建SQL Server登录账户 提示:首先需将验证模式设置为SQL Server验证模式。具体步骤参看实验指导。(在用户映射选项卡中,选定某数据库后用户名默认与登录名一样,也可设定为不一样的。) 注意:在创建登录名时,在点击“新建登录名”后,进入“登录名-新建”对话框时,选择的默认数据库要与用户映射选项卡中选择的数据库一致,再去掉“强制实施密码策略”的对勾即可创建成功。在通过新创建的登录名连接SQL Server后,会发现只能访问和打开所选的数据库,而其他数据库无法访问和打开。 (3)在Management Studio中查看、修改或删除登录账户 具体步骤(参看实验指导) 四、用户管理 用户是基于数据库的名称,是和登录账户相关联的。 1、登录名与数据库用户名的关系 登录名、数据库用户名是SQL Server中两个容易混淆的概念。登录名是访问SQL Server的通行证。每个登录名的定义存放在master数据库的表syslogins(登录名是服务器级的)中。登录名本身并不能让用户访问服务器中的数据库资源。要访问具体数据库中的资源,还必须有该数据库的用户名。新的登录创建以后,才能创建数据库用户,数据库用户在特定的数据库内创建,必须和某个登录名相关联。数据库用户的定义信息存放在与其相关的数据库的sysusers表(用户名是数据库级的)中的,这个表包含了该数据库的所有用户对象以及和它们相对应的登录名的标识。用户名没有密码和它相关联,大多数情况下,用户名和登录名使用相同的名称,数据库用户名主要用于数据库权限的控制。 就如同企业门口先刷卡进入(登录服务器),然后再拿钥匙打开自己的办公室(进入数据库)一样。 数据库用户创建后,通过授予用户权限来指定用户访问特定对象的权限。用户用一个登录名登录SQL Server,以数据库用户的身份访问服务器上的数据库。当一个登录账户试图访问某个数据库时,SQL Server将在库中的sysusers表中查找对应的用户名,如果登录名不能映射到数据库的某个用户,系统尝试将该登录名映射成guest用户,如果当前数据库不许可guest用户,这个用户访问数据库将失败。 在SQL Server中,登录账户和数据库用户是SQL Server进行权限管理的两种不同的对象。一个登录账户可以与服务器上的所有数据库进行关联,而数据库用户是一个登录账户在某数据库中的映射,也即一个登录账户可以映射到不同的数据库,产生多个数据库用户(但一个登录账户在一个数据库至多只能映射一个数据库用户),一个数据库用户只能映射到一个登录账户。允许数据库为每个用户分配不同的权限,这一特性为在组内分配权限提供了最大的自由度与可控性。 2、使用Management Studio管理数据库用户 管理数据库用户包括对数据库的创建、查看、修改、删除等管理操作。首先如何创建数据库用户呢?一般有两种方法。一种是在创建登录帐户的同时指定该登录帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户。如前面使用Management Studio创建登录帐户时就能完成数据库用户的创建;另一种方法是先创建登录帐户,再将登录帐户映射到某数据库,在其中创建同名用户名(具体步骤参看实验指导)。 五、角色管理 SQL Server 2005数据库管理系统利用角色设置,管理用户的权限。通过角色,可以将用户集中到一个单元中,然后对这个单元应用权限。对角色授予、拒绝或吊销权限时,将对其中的所有成员生效。 角色的功能非常强大,其原因如下。 (1)除固定的服务器角色外,其他角色都是在数据库内实现的。这意味着数据库管理员无需依赖Windows管理员来组织用户。 (2)角色可以嵌套。嵌套的深度没有限制,但不允循环嵌套。 (3)数据库用户可以同时是多个角色的成员。 这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。在SQL Server 2005中,可以认为有5中角色类型。 1、public角色 Public角色在每个数据库(包括所有的系统数据库)中都存在,它也是数据库角色成员。Public角色提供数据库中用户的默认权限,不能删除。每个数据库用户都自动是次角色的成员,因此,无法在此角色中添加或删除用户。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象在public角色中对应的权限。 SQL Server 2005包括几个预定义的角色,这些角色具有预定义的、不能授予其他用户账户的内在的权限。其中有两种最主要的预定义角色是:固定服务器角色和固定数据库角色。 2、固定服务器角色 固定服务器角色的作用域在服务器范围内。它们存在于数据库之外,固定服务器角色的每个成员都能够向该角色中添加其他登录。 打开Management Studio,用鼠标单击“对象资源管理器”窗口中某数据库引擎的“安全性”目录下的“服务器角色”,显示当前数据库服务器的所有服务器角色,共有8个,具体名称及角色描述如下。 (1)bulkadmin角色成员:可以运行bulk insert语句。 (2)dbcreator角色成员:可以创建、更改、删除和还原任何数据库。 (3)diskadmin角色成员:用于管理磁盘文件。 (4)processadmin角色成员:可以终止SQL Server实例中运行的进程。 (5)securityadmin角色成员:将管理登录名及其属性。它们可以grant、deny和revoke服务器级权限。也可以grant、deny和revoke数据库级权限。另外,它们可以重置SQL Server登录名的密码。 (6)serveradmin角色成员:可以更改服务器范围配置选项和关闭服务器。 (7)setupadmin角色成员:可以添加和删除链接服务器,并且也可以执行某些系统存储过程。 (8)sysadmin角色成员:可以在服务器中执行任何活动。默认情况下,windows administrators组(即本地管理员组)的所有成员都是sysadmin固定服务器角色的成员。 固定服务器角色成员的添加与删除(有两种方法,具体步骤参看实验指导) 3、数据库角色 固定数据库角色在数据库级别定义以及每个数据库中都存在。Db_owner和db_security管理员角色的成员可以管理固定数据库角色的成员身份。但是,只有Db_owner角色可以将其他用户添加到Db_owner固定数据库角色中。 打开Management Studio,用鼠标单击“对象资源管理器”窗口中某数据库下的“安全性”目录下的“角色”的“数据库角色”,显示的所有数据库角色,共有10个,具体名称及角色描述如下。 (1)db_accessadmin:可以为Windows登录账户、Windows组和SQL Server 登录账户添加或删除访问权限。 (2)db_backupoperator:可以备份该数据库。 (3)db_datareader:可以读取所有用户表中的所有数据。 (4)db_datawriter:可以在所有用户表中添加、删除或更改数据。 (5)db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令。 (6)db_denydatareader:不能读取数据库内用户表中的任何数据。 (7)db_denywriter:不能添加、修改或删除数据库内用户表中的任何数据。 (8)db_owner:可以执行数据库的所有配置和维护活动。 (9)db_securityadmin:可以修改角色成员身份和管理权限。固定数据库角色到权限有映射关系,请参阅联机帮助查询。 固定数据库角色与固定服务器角色不能被删除,用户自定义的角色可以删除。 4、用户定义的角色 当一组用户执行SQL Server中一组指定的活动时,通过用户定义的角色可以轻松地管理数据库中的权限。在没有合适的Windows组,或数据库管理员无权管理Windows用户账户的情况下,用户定义的角色为数据库管理员提供了与Windows组同等的灵活性。 用户定义的角色只适用于数据库级别,并且只对创建时所在的数据库起作用。 (1)数据库角色创建、修改与删除(具体步骤参看实验指导) (2)数据库角色成员的添加与删除(具体步骤参看实验指导) 5、应用程序角色(略,不作要求) 六、权限管理 (数据库应用技术SQL Server2005提高篇,参看复印资料) 设置安全验证模式—— Windows身份验证模式——默认的系统管理员登录账户:administrators。 Windows身份 混合身份验证模式 SQL Server身份——默认的系统管理员登录账户:sa 创建SQL Server登录账户—— 映射Windows登录账户为SQL Server登录账户 将验证模式设为SQL Server验证模式,在management studio中创建SQL Server登录账户 数据库A—1— 用户名a 1 用户名b 登录名a 1 数据库B—1— 用户名a 1 用户名b 登录名b 数据库C—1— 用户名a 用户名b 1. 验证模式 安装SQL Server 2005默认的是Windows身份验证模式。可能使用Management Studio 工具来设置验证模式,但设置验证模式的工作只能由系统管理员来完成,以下是在Management Studio中的两种设置方法,以下两种方法均需要重新启动SQL Server后,才能生效。 方法之一: (1)打开Management Studio。 (2)在“已注册的服务器”子窗口中要设置验证模式的服务器上单击鼠标右键,然后在弹出的快捷菜单上选择“属性”项,系统弹出“编辑服务器注册属性”窗口。 (3)在“常规”选项卡中,“服务器名称”栏按“<服务器名>[\<实例名>]”格式选择要注册的服务器实例“身份验证”栏在连接到 SQL Server实例时,可以使用两种身份验证模式:Windows身份验证和SQL Server身份验证(或称混合身份验证)。如图4-1。 (4)设置完成后,单击“测试”按钮以确定设置是否正确。 (5)单击“保存”按钮,单击对话窗口,完成验证模式的设置或改变。 方法之二:(1)在Management Studio对象资源管理器中,右键单击服务器,再单击“属性”项。(2)在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”按钮。如图4-3。 2. 帐号和角色 1)登录管理 使用Management Studio管理SQL Server登录账户 (1)映射Windows Studio登录账户为SQL Server登录账户 在Management Studio中可以将一个Windows账户或一个组映射成一个SQL Server登录名。每个SQL Server登录名都可以在指定的数据库中创建数据库用户名。这个特性可以让Windows组中的用户直接访问服务器上的数据库。至于这些指定的数据库用户的权限,可以另行指定的。使用Management Studio将已经存在的Windows账户或组映射到SQL Server中的操作步骤如下: ① 启动Management Studio,分别展开“服务器”、“安全性”、“登录名”。 ② 右击“登录名”,选择“新建登录名”项,进入“登录名-新建”对话框。 ③ 选择Windows验证模式,登录名通过按“搜索”按钮来自动产生,单击“搜索”按钮后“选择用户或组”对话框,在对象名称框内直接输入名称或单击“高级”按钮后查找用户或组的名称来完成输入。 ④ 单击“服务器角色”选项卡,可以查看或更改登录名在固定服务器角色中的成员身份。 ⑤ 单击“用户映射”选项卡,以查看或修改SQL登录名到数据库用户的映射,并可选择其在该数据库中允许担任的数据库角色。 单击“确定”按钮,一个Windows组或用户即可增加到SQL Server登录账户中去了。 (2)在Management Studio中创建SQL Server登录账户 在Management Studio中创建SQL Server登录账户的具体步骤类似于“在Management Studio中映射Windows登录账户为SQL Server登录账户”,只是,要选择SQL Server验证模式,这是需要输入登录账户名称、密码及确认密码。其他选项卡的设置操作类似。最后按“确定”按钮,即增加了一个新的登录账户。 (3)在Management Studio中查看、修改或删除登录账户 一个新的登录账户增加后,可以在Management Studio中查看其详细信息,并能做修改或删除操作。方法如下: ① 启动Management Studio,分别展开“服务器”、“安全性”、“登录名”。如图4-3。 ② 单击“登录名”下的某一个登录账户,在系统弹出菜单上单击“属性”项,可进入“登录属性”对话框查看该登录账户的信息,同时需要时能直接修改相应账户设置信息。 ③ 在上一步系统弹出菜单上单击“删除”菜单,能出现“删除对象”对话框,在对话框上单击“确定”按钮,能删除该登录账户。 2)用户管理 使用Management Studio管理数据库用户 管理数据库用户包括对数据库的创建、查看、修改、删除等管理操作。首先如何创建数据库用户呢?一般有两种方法。一种是在创建登录帐户的同时指定该登录帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户。如前面使用Management Studio创建登录帐户时就能完成数据库用户的创建;另一种方法是先创建登录帐户,再将登录帐户映射到某数据库,在其中创建同名用户名。 (1)在Management Studio中创建数据库用户 在Management Studio中创建数据库用户中创建数据库用户的步骤如下: ①启动Management Studio,分别展开“服务器”、“数据库”、“KCGL”、“安全 性”、“用户”,在“用户”文件夹下能看到该数据库的已有用户。 ②右击“用户”文件夹,选择“新创建数据库用户”,弹出“数据库用户-新建”对话框。 ③输入要创建的数据库用户的名字,然后再“登陆名”对应的文本框中输入相对应的 登录名,或单击“浏览”按钮,在系统中选择相应的登录名。 ④单击“确定”按钮,将新创建的数据库用户添加到数据库中。 (2)在Management Studio中查看、修改或删除数据库用户 操作方式是: ①启动Management Studio,分别展开“服务器”、“数据库”、“KCGL”、“安全 性”、“用户”,在“用户”文件夹下能看到该数据库的已有用户。 ②右击某要操作的用户,在系统弹出的快捷菜单中含有“属性”、“删除”等菜单项。 ③若选择“属性”菜单项,可以查看或修改用户的权限信息,如“常规”中的“拥有 架构”“角色成员”;“安全对象”中的具体权限设置及“扩展属性”等。 ④若选择“删除”菜单项,可从数据库中删除该用户。 3)角色管理 固定服务器角色成员的添加与删除 固定服务器角色成员的添加与删除操作可以通过Management Studio或T-SQL两种方法来操作。 在Management Studio中添加或删除固定服务器角色成员。: 方法一:打开Management Studio,用鼠标单击“对象资源管理器”窗口->某数据库引擎->“安全性”->“服务器角色”,显示当前数据库服务器的所有服务器角色,再要添加或删除成员的某固定服务器角色上单击鼠标右键,选择快捷菜单中的“属性”菜单项。在“服务器角色属性”对话框中,能方便单击“添加”或“删除”按钮实现对成员的添加或删除。 方法二:打开Management Studio,用鼠标单击”对象资源管理器“窗口->某数据库引擎->”安全性“->”登录名“;在某登录名上右击,选择”属性“菜单项,出现”登陆属性“对话框或单击”新建登录名“出现”登陆-新建”对话框;单击“服务器角色”选项卡,能直接多项选择登陆名需要属于的固定服务器角色。这样也完成了对固定服务器角色成员的添加与删除。 用户定义的角色 (1)数据库角色创建、修改与删除 数据库角色的创建、修改与删除操作可以通过Management Studio或T-SQL两种方法来操作。 在Management Studio中创建、修改与删除数据库角色: ①打开Management Studio,用鼠标单击”对象资源管理器“窗口->某数据库引擎->” 数据库“->"某具体数据库"->”安全性“->”角色“->"数据库角色",显示当前数据 库的所有数据库角色,在”数据库角色“目录或某数据库角色上单击鼠标右键,单击 快捷菜单中的”新建数据库据角色“菜单项。在”数据库角色-新建“对话框中,指定 角色名称与所有者,单击”确定“按钮即简单创建了新的数据库角色。 ②在某数据库角色上单击鼠标右键,单击快捷菜单中的”属性“菜单项。在”数据库 角色属性“对话框中,查阅或修改角色信息,如制定新的所有者、安全对象、拥有的 架构、角色、角色成员等信息的修改等。 ③在某自定义数据库角色上单击鼠标右键,单击快捷菜单中的“删除”菜单项。启动 “删除对象”来删除数据库角色。但要注意:角色必须为空时才能删除。 (2)数据库角色成员的添加与删除 数据库角色成员的添加及与删除操作可以通过Management Studio或T-SQL两种方法来操作。 在Management Studio中添加与删除数据库角色成员: 方法一:在上面提到过的某数据库角色的“数据库角色属性“对话框中,“常规”选线卡上,右下角色成员操作区,单击“添加”或“删除”按钮实现操作。 方法二:通过“对象资源管理器”窗口->某数据库引擎->“数据库”->“某具体数据库”->“安全性”->"用户"->"某具体用户";单击鼠标右击,单击“属性”菜单,出现“数据库用户”对话框,在右下角色成员操作区,通过多选按钮直接实现该用户从某个或某些数据库角色中添加或删除的操作功能。 应用程序角色 在Management Studio中创建与删除数据库程序角色: 通过“对象资源管理器”窗口->"数据库引擎"->"数据库"->"某具体数据库"->"安全性 "->"角色"->"应用程序角色";单击油表有机,单击“新建应用程序角色”菜单项,出现“应 用程序角色新建”对话框,在”常规“选项卡右边指定角色名称‘默认架构、密码、确认密 码、角色拥有的架构等信息后,单击”确定“按钮即可。当然在创建应用程序角色的同时, 可以指定”安全对象“、”扩展属性“选项卡中的属性。 在已有某应用程序角色上单击鼠标右键,再单击“删除”菜单项,能实现角色的删除操作。 3. 权限管理 1)在Management Studio中管理权限 在Management Studio中管理权限是非常方便的,可以从权限相关的主体与安全对象这 两者的任意一方出发考虑实现操作。 2)在Management Studio中管理凭据 (1)创建凭据 ①在对象资源管理器中,展开“安全性”,右击“凭据”,然后单击“新建凭据”项。 ② 在“新建凭据” 对话框中的“凭据名称”框中,输入凭据的名称。 ③在“标识”框中,输入对于对外连接的账户名称(在离开SQL Server的上下文 时)。通常为Windows用户账户。但标识可以是其他类型的账户。 ④在“密码”和“确认密码”框中,输入“标识”框中指定的账户的密码。如果“标 识”为Windows用户账户,则密码为Windows密码。如果不需要密码,“密码”可为空。 ⑤单击“确定”按钮。 (2)将登录名映射到凭据 ①在对象资源管理器中,展开“安全性”,右击SQL Server登录名,然后单击“属性”项。 ②在“登录属性”对话框的“常规”页的“凭据”框中,输入凭据的名称,然后单击“确定”按钮。 3)用T–SQL命令管理权限 主要命令有GRANT、REVOKE、DENY、CREATE CREDENTIAL、ALTER CREDENTIAL、DROP CREDENTIAL等。 (1)GRANT将安全对象的权限授予主体。 GRANT命令的简单语法: GRANT{ALL[PRIVILEGES]} |permission[(column[,...n]) [,...n][ON[class::]securable]TO principal [,...n][WITH GRANT OPTION][AS principal] ALL:该选项并不授予全部可能的权限。授予ALL参数相当于授予以下权限。 ①如果安全对象为数据库,则ALL表示BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DRFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE TABLE和CREATE VIEW。 ②如果安全对象为标量函数,则ALL表示EXECUTE和REFERENCES。 ③如果安全对象为表值函数,则ALL表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。 ④ 如果安全对象为存储过程,则ALL表示DELETE、EXECUTE、INSERT、SELECT和UPDATE。 ⑤如果安全对象为表,则ALL表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。 ⑥如果安全对象为视图,则ALL表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。 Permission:权限的名称。 Column:指定表中将授予其权限的列的名称。需要使用括号“( )”。 Class:指定将授予其权限的安全对象的类。需要范围限定符“::”。 Securable:指定将授予其权限的安全对象。 TO principal:主体的名称。可为其授予安全对象权限的主体随安全对象而异。 GRANT OPTION:指示被授权者在获得指定权限的同时还可以将指定权限授予其他主体。 AS principal:指定一个主体,执行该查询的主体从该主体获得授予该权限的权利。 REVOKE语句可用于删除已授予的权限,DENY语句可用于防止主体通过GRANT获得特定权限。授予权限将删除对所指定安全对象的相应权限的DENY或REVOKE权限。如果在包含该安全对象的更高级别拒绝了相同的权限,则DENY优先。但是,在更高级别撤销已授予权限的操作并不优先。 数据库级权限在指定的数据库范围内授予。如果用户需要另一个数据库中的对象的权限,请在该数据库中创建用户账户,或者授权用户账户访问该数据库以及当前数据库。 数据库特定安全对象有:应用程序角色、程序集、非对称密钥、证书、约定、数据库、端点、全文目录、函数、登录、消息类型、对象、队列、远程服务绑定、角色、路由、架构、服务器、服务、存储过程、对称密钥、同义词、系统对象、表、类型、用户、视图、XML架构集合。 Sp_helprotect系统存储过程可报告对数据库级安全对象的权限。 (2)GRANT对象权限。 授予对表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务 队列或同义词的权限,语法如下: GRANT <permission>[,…n]ON[OBJECT::][schema_name].object_name [(column [,…n])]TO <database_principal> [,…n] [WITH GRANT OPTION] [AS <database_principal>]::=ALL[PRIVILEGES]|permission[(column[,…n])]<database_principal>::=Database_user|Database_role|Application_role|Database_user_mapped_to_Windows_User| Database_user_mapped_to_Windows_Group|Database_user_mapped_to_cerificate|Database_user_mapped_to_asymmetric_key|Data_user_with_no_login Permission:指定可以授予的对架构包含的对象的权限。 ALL:授予ALL不会授予所有可能的权限。授予ALL等同于授予适用于指定对象的所有ANSI-92权限。对于不同权限,ALL的含义有所不同。 ① 标量函数权限:EXECUTE和REFERENCES。 ② 表值函数权限:DELETE、INSERT、REFERENCES、SELECT和UPDATE。 ③ 存储过程权限:EXECUTE 、SYNONYM、DELETE、INSERT、SELECT和UPDATE。 ④ 表权限:DELETE、INSERT、REFERENCES、SELECT和UPDATE。 ⑤ 视图权限:DELETE、INSERT、REFERENCES、SELECT和UPDATE。 Database_user指定数据库用户;Database_role指定数据库角色;Application role指定应 用程序角色;Database_user_mapped_to_Windows_User指定映射到Windows用户的数据库用户;Database_user_mapped_to Windows_Group指定映射到Windows组的数据库用户;Database_user_mapped_to_cerificate指定映射到证书的数据库用户;Database_user_mapped_to_asymmetric_key指定映射到非对称密钥的数据库用户;Data_user_ with_no_login指定无相应服务器级主体的数据库用户。 对象是一个架构级的安全对象,包含于权限层次结构中作为其父级的架构中 * GRANT命令的使用实例: 例1: 授予对表的SELECT权限,本例授予用户RosaQdM对AdventureWorks数据库中表Person.Address的SELECT权限。 USE AdventureWorks GRANT SELECT ON OBJECT::Person.Address TO RosaQdM 例2:授予对存储过程的EXECUTE权限,本例授予名Recruiting 11的应用程序角色对 存储过程HumanResources.uspUpdateEmployeeHireInfo的EXECUTE权限。 GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo TO Recruiting 11 (3)REVOKE取消以前授予或拒绝了的权限。 REVOKE简单语法: REVOKE [GRANT OPTION FOR] {[ALL [PRIVILEGES]]|permission[(column[,…n])][,…n]} [ON[class::] securable]{TO|FROM}principal[,…n][CASCADE][AS principal] REVOKE对象权限有:撤销对表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务队列或同义词的权限。语法如下: REVOKE [GRANT OPTION FOR] <permission> [,…n] ON [OBJECT::] [schema_ name].object_name [(coloumn[,…n])] {FROM|TO} <database_principal> [,…n] [CASCADE] [AS<database_- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库的安全与权限 数据库 安全 权限 实验 报告 优质 资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文