数据库的安全性管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库的安全性管理
数据库的安全性管理
一、实验目的
1、掌握Windows登录名、SQL Server登录名的建立与删除方法;
2、掌握数据库用户创建与管理的方法;
3、掌握服务器角色的使用方法;
4、掌握数据库权限授予、拒绝和回收的方法
二、预备知识
对任何企业组织来说,数据的安全性最为重要。安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQL Server,并访问数据以及对数据库对象实施各种权限范围内的操作。但是要拒绝所有的非授权用户的非法操作。因此安全性管理与用户管理是密不可分的。SQL Server 2008的安全管理体现在如下几个方面:
(1) 对用户登录进行身份验证。当用户登录到数据库系统时,系统对该用户的账户和口令进行验证,包括确认用户账户是否有效以及能否访问数据库系统。
(2) 对用户执行的操作进行权限控制。当用户登录到数据库后,只能对数据库中的数据在允许的权限内进行操作。
一个用户如果要对某一数据库进行操作,必须满足以下三个条件:
(1) 登录SQL Server服务器时必须通过身份验证;
(2)必须是该数据库的用户,或者是某一数据库角色的成员;
(3)必须有执行该操作的权限。
SQL Server 2008的身份验证模式有两种:Windows验证模式和SQL Server验证模式。
(1) Windows验证模式:用户登录Windows时进行身份验证,登录SQL Server时就不再进行身份验证。只有将Windows账户加入到SQL Server中,才能采用Windows账户登录SQL Server。
(2) SQL Server验证模式:SQL Server服务器要对登录的用户进行身份验证。系统管理员设定登录验证模式的类型可为Windows验证模式和混合模式。当采用混合模式时,SQL Server系统既允许使用Windows登录名登录,也允许使用SQL Server登录名登录。
SQL Server 2008的安全性主体主要有三个级别,分别是:服务器级别、数据库级别、架构级别。
(1) 服务器级别所包含的安全对象主要有登录名、固定服务器角色等。
(2)数据库级别所包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、程序集、全文目录、DDL事件、架构等。
如果某人只拥有登录名,而没有在相应的数据库中为其创建登录名所对应的用户,则该用户只能登录数据库服务器,而不能访问相应的数据库。如果没有为用户赋予相应的角色,则该用户为public角色。
(3)架构级别所包含的安全对象主要有表、视图、函数、存储过程、类型、同义词、聚合函数等。
三、实验示例
【例9-1】设置SQL Server 混合验证模式
数据库的安全性管理要建立SQL Server验证模式的登录名,首先应将验证模式设置为混合模式。如果在安装的时没有设置为混合模式,则先要将验证模式设为混合模式。主要执行以下步骤:
(1)以系统管理员身份登录SQL Server Management Studio,在对象资源管理器中选择要登录的SQL Server 服务器图标,右击鼠标,在弹出的快捷菜单中选择“属性”菜单项,打开“服务器属性”窗口。
(2)在打开的“服务器属性”窗口中选择“安全性”选项卡。如图9-1 所示,选择服务器身份验证为“SQL Server和Windows身份验证模式”,单击“确定”按钮,保存新的配置,重启SQL Server服务即可。
图9-1 安全性设置对话框
【例9-2】建立SQL Server 登录名
步骤如下:
(1)启动SQL Server Management Studio;
(2)在SQL Server Management Studio中单击安全性文件夹旁边的+ 标志;右击“登录”图标,从弹出菜单中可看到“新建登录名”选项,如图9-2 所示。
(3)单击“新建登录名”,弹出新建登录名对话框,如图9-3所示。
图9-2 安全选项中的登录菜单条
图9-3新建登录属性对话框
(4)在登录名编辑框中输入登录名,如User1。
数据库的安全性管理(5)在身份验证下的选项栏中,选择身份验证模式。如果使用SQL Server 验证模式,那么在选择SQL Server身份验证单选按钮之后就必须在密码栏中输入密码。如果使用Windows验证模式。
(6)在默认设置的两个选项框中,给出用户在登录时的默认数据库以及默认的语言。
(7)单击确定按钮创建登录。
为了测试创建的登录名能否连接SQL Server ,可以使用新建的登录名User1来进行测试。具体步骤如下:
在对象资源管理器窗口中单击“连接”,在下拉框中选择“数据库引擎”,弹出“连接到服务器”对话框。在该对话框中,“身份验证”选择“SQL Server 身份验证”,“登录名”填写User1,输入密码,,单击“连接”按钮,就能连接SQL Server了。登录后的“对象资源管理器”界面如图9-4。
图9-4 使用SQL Server验证模式登录
【例9-3】建立SQL Server 数据库用户
数据库用户用来指出哪一个人可以访问哪一个数据库。在一个数据库中,用户ID唯一标识一个用户,用户对数据的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的。用户名总是基于数据库的,即两个不同数据库中可以有两个相同的用户名。
在数据库中,用户名与登录名是两个不同的概念。一个合法的登录名只表明该账号通过了Windows 验证或SQL Server 验证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作,所以一个登录名总是与一个或多个数据库用户名(这些名称必须分别存在相异的数据库中)相对应,这样才可以访问数据