




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章 SQL Server 2008数据库的安全性管理,9.0安全性问题,黑客公开CSDN网站数据库 600余万用户资料泄密(2011),9.0安全性问题,如家汉庭酒店2000万开房数据1.71G/BAK,792M/CSV,9.0安全性问题,携程网全面瘫痪 疑似数据库物理删除(2015),9.0安全性问题,第一个安全性问题是:当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中呢?,第二个安全性问题是:当用户登录到系统中,可以执行哪些操作,使用哪些对象和资源呢?,9.1 数据库安全性概述,SQL Server的安全性管理是建立在认证(authentication)和访问许可(per
2、mission)这两种机制上的。 用户访问数据库权限的设置是通过用户账号来实现的。角色简化了安全性管理。,9.1 数据库安全性概述,所以在SQL Server的安全模型中包括以下几部分: SQL Server身份验证 登录账户 数据库用户 角色 权限 架构,9.1 数据库安全性概述,9.1.1 身份验证简介 SQL Server支持两种模式的身份验证: Windows验证模式 混合验证模式,9.1 数据库安全性概述,9.1.2 验证模式的修改 当安装SQL Server时,可以选择SQL Server的身份验证类型。安装完成之后也可以修改认证模式。修改步骤如下。 (1)打开SQL Server
3、 Management Studio。 (2)在要更改的服务器上鼠标右键单击,在快捷菜单中选择属性,弹出服务器属性对话框。 (3)单击左侧列表中的“安全性”项,出现“安全性”页面,如图15.1所示。在图中修改身份验证。,9.1 数据库安全性概述,图9.1 身份验证,9.2 管理服务器登录,1创建Windows登录账户 (1)在“对象资源管理器”中,单击树型目录中的“安全性”节点,如图9.2所示。,9.2 管理服务器登录,(2)鼠标右键单击“安全性”的子节点“登录名”,在快捷菜单中选择“新建登录名”,出现“登录名-新建”对话框,如图15.3所示。,9.2 管理服务器登录,(3)在“登录名”编辑框
4、中输入登录名称,输入的登录名必须是已存在的Windows登录用户。可以单击“搜索”按钮,出现登录“选择用户和组”对话框,如图15.4所示。在对象名称编辑框中输入用户或组的名称,单击“检查名称”按钮检查对象是否存在。输入完成,单击“确定”按钮关闭选择用户或组对话框。,9.2 管理服务器登录,(4)确认选择的是“Windows身份验证”。指定账户登录的默认数据库。 (5)单击窗口左侧列表中的“服务器角色”节点,指定账户所属服务器角色。 (6)单击窗口左侧列表中的“用户映射”节点,右侧出现用户映射页面。可以查看或修改SQL登录账户到数据库用户的映射。选择此登录账户可以访问的数据库,对具体的数据库,指
5、定要映射到登录名的数据库用户(默认情况下,数据库用户名与登录名相同)。指定用户的默认架构,首次创建用户时,其默认架构是dbo。 (7)设置完成单击“确定”按钮提交更改。,9.2 管理服务器登录,2创建SQL Server登录账户 一个SQL Server登录账户名是一个新的登录账户,该账户和Windows操作系统的登录账户没有关系。 (1)打开新建登录名对话框,选择“SQL Server身份验证”,输入登录名,密码和确认密码,并选择缺省数据库,如图所示。,9.2 管理服务器登录,(2)设置服务器角色和用户映射,请参考“创建Windows登录账户”的步骤5和步骤6。,9.2 管理服务器登录,3登
6、录账户管理 创建登录账户之后,在图9.2所示服务器安全性展开登录名节点上,鼠标右键单击相应的账户,出现快捷菜单,如图15.6所示,如果要修改该登录账户,选择属性菜单;如要删除该登录账户,则选择删除菜单。,9.2 管理服务器登录,9.2.2 使用Transact-SQL管理登录账户 在Transact-SQL中,管理登录账户的SQL语句有:CREATE LOGIN、DROP LOGIN、ALTER LOGIN。下面简要说明如何使用T-SQL来创建和维护登录账户。 1新建登录账户CREATE LOGIN 其语法格式为: CREATE LOGIN login_name WITH | FROM ,9.
7、2 管理服务器登录,【例9.2】创建带密码的登录名“test”。 CREATE LOGIN test WITH PASSWORD = 123 2删除登录账户DROP LOGIN 其语法格式为:DROP LOGIN login_name 【例9.3】删除登录账户“test”。 DROP LOGIN test,9.2 管理服务器登录,3更改登录账户ALTER LOGIN 其语法格式为: ALTER LOGIN login_name | WITH ,. 【例9.5】将“test”登录密码更改为 456。 ALTER LOGIN test WITH PASSWORD = 456 【例9.6】将登录名“
8、test”更改为“et”。 ALTER LOGIN test WITH NAME = et,9.3 角色和用户管理,9.3.1 角色管理简介 角色等价于Windows的工作组,将登录名或用户赋予一个角色,角色具有权限,登录名或用户作为角色成员,从而继承了所属角色的权限。如图所示。,9.3 角色和用户管理,在SQL Server中角色分为服务器角色和数据库角色。而数据库角色又分为固有数据库角色、用户自定义数据库角色和应用程序角色。 1服务器角色 服务器角色内建于SQL Server,其权限无法更改,每一个角色拥有一定级别的数据库管理职能,如图9.8所示。,9.3 角色和用户管理,服务器角色包括以
9、下几种。 bulkadmin:可以运行BULK INSERT语句。 dbcreator:可以创建任何数据库。 diskadmin:管理磁盘文件。 processadmin:可以终止SQL Server实例中运行的进程。 securityadmin: 管理登录名的密码。 serveradmin:可以更改服务器范围的配置选项和关闭服务器。 setupadmin:添加和删除链接服务器,并且也可以执行某些系统存储过程。 sysadmin:可以在服务器中执行任何活动。,9.3 角色和用户管理,2固有数据库角色 固有数据库角色是指这些角色的数据库权限已被SQL Server预定义,不能对其权限进行任何修改
10、,并且这些角色存在于每个数据库中,如图9.9所示。,9.3 角色和用户管理,固有数据库角色包括以下几种。 db_accessadmin:可以为Windows登录账户、Windows 组和SQL Server登录账户添加或删除访问权限。 db_backupoperator:可以备份该数据库。 db_datareader:可以读取所有用户表中的所有数据。 db_datawriter:可以在所有用户表中添加、删除或更改数据。 db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令。 db_denydatareader:不能读取数据库内用户表中的任何数据。,9.3 角色和用户管理,d
11、b_denydatawriter:不能添加、修改或删除数据库内用户表中的任何数据。 db_owner:可以执行数据库的所有配置和维护活动。 db_securityadmin:可以修改角色成员身份和管理权限。 public:当添加一个数据库用户时,它自动成为该角色成员,该角色不能删除,指定给该角色的权限自动给予所有数据库用户。 db_owner和db_securityadmin角色的成员可以管理固有数据库角色成员身份;但是,只有db_owner数据库的成员可以向db_owner固有数据库角色中添加成员。,9.3 角色和用户管理,3用户自定义数据库角色 当打算为某些数据库用户设置相同的权限,但是这
12、些权限不等同于预定义的数据库角色所具有的权限时,就可以定义新的数据库角色来满足这一要求,从而使这些用户能够在数据库中实现某些特定功能。,9.3 角色和用户管理,9.3.2 角色的管理 1使用Management Studio管理角色 (1)为服务器角色添加登录账户。 (2)为固有数据库角色添加成员。 (3)创建用户自定义角色。,9.3 角色和用户管理,9.3.3 用户管理简介 用户对数据的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的,用户账号总是基于数据库的,即两个不同数据库中可以有两个相同的用户账号。 在数据库中,用户账号与登录账号是两个不同的概念,一个合法的登录账号只表明该账
13、号通过了Windows认证或SQL Server认证,但不能表明其可以对数据库数据和数据对象进行某种操作。 通常而言,数据库用户账号总是与某一登录账号相关联。,9.3 角色和用户管理,(1)检查该登录用户是否有合法的用户名,如果有合法用户名,则允许其以用户名访问数据库,否则执行步骤2。 (2)SQL Server检查是否有guest用户,如果有,则允许登录用户以guest用户来访问数据库,如果没有,则该登录用户被拒绝。,用户通过Windows认证或SQL Server认证而成功登录到SQL Server之后的过程如下:,9.3 角色和用户管理,9.3.4 用户的管理 1使用Management
14、 Studio管理用户 (1)在Management Studio对象资源管理器中,扩展指定的数据库节点,直到看到用户节点,如右图所示。 (2)鼠标右键单击用户子节点,在弹出菜单中选择“新建用户”,弹出“新建数据库用户”对话框,如图9.19所示。在用户名编辑框中输入用户名。,9.3 角色和用户管理,9.3 角色和用户管理,2. 使用Transact-SQL管理用户 使用Transact-SQL管理用户的语句有CREATE USER,DROP USER,ALTER USER。 (1)创建用户:CREATE USER CREATE USER语法格式为: CREATE USER user_name
15、FOR | FROM LOGIN login_name | CERTIFICATE cert_name | ASYMMETRIC KEY asym_key_name | WITHOUT LOGIN WITH DEFAULT_SCHEMA = schema_name ,9.3 角色和用户管理,【例9.13】首先创建名为“Teacher”且具有密码的服务器登录名,然后在数据库“TEACH”中创建对应的数据库用户“WangWei”。 CREATE LOGIN Teacher WITH PASSWORD =123; CREATE USER WangWei FOR LOGIN Teacher,9.3 角
16、色和用户管理,(2)更改用户名或更改其登录的默认架构ALTER USER 其语法格式为: ALTER USER user_name WITH ,.n := NAME = new_user_name | DEFAULT_SCHEMA = schema_name 【例9.15】更改数据库用户的名称。 ALTER USER WangWei WITH NAME = Wangjf,9.3 角色和用户管理,【例9.16】更改用户的默认架构。 ALTER USER WangWei WITH DEFAULT_SCHEMA = Admining (3)删除用户:DROP USER 其语法格式为: DROP US
17、ER user_name 【例9.17】删除用户“WangWei”。 DROP USER WangWei,9.4 SQL Server 2008权限,权限管理指将安全对象的权限授予主体,取消或禁止主体对安全对象的权限。SQL Server通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。 1主体 “主体”是可以请求SQL Server资源的个体、组和过程。主体分类如表9.1所示。,9.4 SQL Server 2008权限,2安全对象 安全对象是SQL Server Database Engine 授权系统控制对其进行访问的资源。每个 SQL Server安全对象都有可能授予主体
18、的关联权限,如表9.2所示。,9.4 SQL Server 2008权限,3架构 架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。在SQL Server 2008中,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权。 完全限定的对象名称包含4部分:server.database.schema.object。,9.4 SQL Server 2008权限,SQL Server 2008还引入了“默认架构”的概念,用于解析未使用其完全限定名称引用的对象的名称。在SQL Server 2008中,每个用户都有一个默认架构,用于指定服务器在解析对象的名称时将要搜索的第一个架构。可以使用CREATE USER和ALTER USER的DEFAULT_ SCHEMA选项设置和更改默认架构。如果未定义默认架构,则数据库用户将把 DBO作为其默认架构。,9.4 SQL Server 2008权限,4权限 在SQL Server 2008中,能够授予的安全对象和权限的组合有181种,具体的GRANT、DENY、REVOKE语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厂房拆迁补偿与环保设施配套合同
- 老师介绍课件
- 公共厕所日常维护及深度清洁合作协议
- 新能源汽车制造厂区转让与市场推广合同
- 出租车副班司机合同解除与终止合同
- 专业仓储物流企业成品油代购代销合同范本
- 采石场承包与矿产资源补偿费合同
- 老人睡眠护理课件
- 美术课件中国画
- 消防安全生产制度
- 弱电设备维护保养方案
- 道路及两侧便道保洁方案.docx
- 旅游开发公司组织架构
- 上期开特下期出特公式
- 杭州市普通住宅物业菜单式服务参考收费标准(试行)
- 钢材标准-SAEAMS5662M-2004镍基高温合金[1]._pdf
- 建筑工程内外墙面喷浆、粘钉、挂网施工合同(共2页)
- 山东生态功能区划(文字)
- DP备份软件日常维护手册
- DFMEA模板(完整版)
- 省教改课题申报书填写技巧
评论
0/150
提交评论