SQL-Server-数据库的安全性管理.ppt
《SQL-Server-数据库的安全性管理.ppt》由会员分享,可在线阅读,更多相关《SQL-Server-数据库的安全性管理.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、9.09.0安全性问题安全性问题l黑客公开黑客公开CSDNCSDN网站数据库网站数据库 600600余万用户资料泄密(余万用户资料泄密(20112011)9.09.0安全性问题安全性问题l如家汉庭酒店2000万开房数据1.71G/BAK,792M/CSV9.09.0安全性问题安全性问题l携程网全面瘫痪携程网全面瘫痪 疑似数据库物理删除疑似数据库物理删除(2015)(2015)9.09.0安全性问题安全性问题l第一个安全性问题是:当用户登录数据库系统时,如何确第一个安全性问题是:当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中呢?保只有合法的用户才能登录到系统中呢?l第二个安全性问
2、题是:当用户登录到系统中,可以执行哪第二个安全性问题是:当用户登录到系统中,可以执行哪些操作,使用哪些对象和资源呢?些操作,使用哪些对象和资源呢?9.1 9.1 数据库安全性概述数据库安全性概述lSQL Server的安全性管理是建立在认证(authentication)和访问许可(permission)这两种机制上的。l用户访问数据库权限的设置是通过用户账号来实现的。角色简化了安全性管理。9.1 9.1 数据库安全性概述数据库安全性概述l所以在SQL Server的安全模型中包括以下几部分: SQL Server身份验证 登录账户 数据库用户 角色 权限 架构9.1 9.1 数据库安全性概述
3、数据库安全性概述l9.1.1 9.1.1 身份验证简介身份验证简介SQL Server支持两种模式的身份验证:Windows验证模式混合验证模式9.1 9.1 数据库安全性概述数据库安全性概述l9.1.2 9.1.2 验证模式的修改验证模式的修改l当安装SQL Server时,可以选择SQL Server的身份验证类型。安装完成之后也可以修改认证模式。修改步骤如下。l(1)打开SQL Server Management Studio。l(2)在要更改的服务器上鼠标右键单击,在快捷菜单中选择属性,弹出服务器属性对话框。l(3)单击左侧列表中的“安全性”项,出现“安全性”页面,如图15.1所示。在
4、图中修改身份验证。9.1 9.1 数据库安全性概述数据库安全性概述图9.1 身份验证9.2 9.2 管理服务器登录管理服务器登录l1创建Windows登录账户l(1)在“对象资源管理器”中,单击树型目录中的“安全性”节点,如图9.2所示。9.2 9.2 管理服务器登录管理服务器登录l(2)鼠标右键单击“安全性”的子节点“登录名”,在快捷菜单中选择“新建登录名”,出现“登录名-新建”对话框,如图15.3所示。9.2 9.2 管理服务器登录管理服务器登录l(3)在“登录名”编辑框中输入登录名称,输入的登录名必须是已存在的Windows登录用户。可以单击“搜索”按钮,出现登录“选择用户和组”对话框,
5、如图15.4所示。在对象名称编辑框中输入用户或组的名称,单击“检查名称”按钮检查对象是否存在。输入完成,单击“确定”按钮关闭选择用户或组对话框。 9.2 9.2 管理服务器登录管理服务器登录l(4)确认选择的是“Windows身份验证”。指定账户登录的默认数据库。l(5) 单击窗口左侧列表中的“服务器角色”节点,指定账户所属服务器角色。l(6)单击窗口左侧列表中的“用户映射”节点,右侧出现用户映射页面。可以查看或修改SQL登录账户到数据库用户的映射。选择此登录账户可以访问的数据库,对具体的数据库,指定要映射到登录名的数据库用户(默认情况下,数据库用户名与登录名相同)。指定用户的默认架构,首次创
6、建用户时,其默认架构是dbo。l(7)设置完成单击“确定”按钮提交更改。9.2 9.2 管理服务器登录管理服务器登录l2创建SQL Server登录账户l一个SQL Server登录账户名是一个新的登录账户,该账户和Windows操作系统的登录账户没有关系。l(1)打开新建登录名对话框,选择“SQL Server身份验证”,输入登录名,密码和确认密码,并选择缺省数据库,如图所示。9.2 9.2 管理服务器登录管理服务器登录l(2)设置服务器角色和用户映射,请参考“创建Windows登录账户”的步骤5和步骤6。9.2 9.2 管理服务器登录管理服务器登录l3登录账户管理l创建登录账户之后,在图9
7、.2所示服务器安全性展开登录名节点上,鼠标右键单击相应的账户,出现快捷菜单,如图15.6所示,如果要修改该登录账户,选择属性菜单;如要删除该登录账户,则选择删除菜单。9.2 9.2 管理服务器登录管理服务器登录l9.2.2 9.2.2 使用使用Transact-SQLTransact-SQL管理登录账户管理登录账户l在Transact-SQL中,管理登录账户的SQL语句有:CREATE LOGIN、DROP LOGIN、ALTER LOGIN。下面简要说明如何使用T-SQL来创建和维护登录账户。l1新建登录账户CREATE LOGINl其语法格式为:lCREATE LOGIN login_na
8、me WITH | FROM 9.2 9.2 管理服务器登录管理服务器登录【例例9.29.2】创建带密码的登录名创建带密码的登录名“testtest”。CREATE LOGIN test WITH PASSWORD = 123 2删除登录账户DROP LOGIN其语法格式为:DROP LOGIN login_name【例9.3】删除登录账户“test”。DROP LOGIN test9.2 9.2 管理服务器登录管理服务器登录l3更改登录账户ALTER LOGIN 其语法格式为:ALTER LOGIN login_name | WITH ,. 【例9.5】将“test”登录密码更改为 456。
9、 ALTER LOGIN test WITH PASSWORD = 456 【例9.6】将登录名“test”更改为“et”。 ALTER LOGIN test WITH NAME = et9.3 9.3 角色和用户管理角色和用户管理l9.3.1 9.3.1 角色管理简介角色管理简介l角色等价于Windows的工作组,将登录名或用户赋予一个角色,角色具有权限,登录名或用户作为角色成员,从而继承了所属角色的权限。如图所示。登录名或用户 角色 权限 9.3 9.3 角色和用户管理角色和用户管理l在SQL Server中角色分为服务器角色和数据库角色。而数据库角色又分为固有数据库角色、用户自定义数据库
10、角色和应用程序角色。l1服务器角色l服务器角色内建于SQL Server,其权限无法更改,每一个角色拥有一定级别的数据库管理职能,如图9.8所示。9.3 9.3 角色和用户管理角色和用户管理l服务器角色包括以下几种。 bulkadmin:可以运行BULK INSERT语句。 dbcreator:可以创建任何数据库。 diskadmin:管理磁盘文件。 processadmin:可以终止SQL Server实例中运行的进程。 securityadmin: 管理登录名的密码。 serveradmin:可以更改服务器范围的配置选项和关闭服务器。 setupadmin:添加和删除链接服务器,并且也可以
11、执行某些系统存储过程。 sysadmin:可以在服务器中执行任何活动。9.3 9.3 角色和用户管理角色和用户管理l2固有数据库角色l固有数据库角色是指这些角色的数据库权限已被SQL Server预定义,不能对其权限进行任何修改,并且这些角色存在于每个数据库中,如图9.9所示。9.3 9.3 角色和用户管理角色和用户管理l固有数据库角色包括以下几种。db_accessadmin:可以为Windows登录账户、Windows 组和SQL Server登录账户添加或删除访问权限。db_backupoperator:可以备份该数据库。db_datareader:可以读取所有用户表中的所有数据。db_
12、datawriter:可以在所有用户表中添加、删除或更改数据。db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令。db_denydatareader:不能读取数据库内用户表中的任何数据。9.3 9.3 角色和用户管理角色和用户管理db_denydatawriter:不能添加、修改或删除数据库内用户表中的任何数据。db_owner:可以执行数据库的所有配置和维护活动。db_securityadmin:可以修改角色成员身份和管理权限。public:当添加一个数据库用户时,它自动成为该角色成员,该角色不能删除,指定给该角色的权限自动给予所有数据库用户。db_owner和db_s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server 数据库 安全性 管理
限制150内