欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    SQL-Server-数据库的安全性管理.ppt

    • 资源ID:34124993       资源大小:1.28MB        全文页数:50页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQL-Server-数据库的安全性管理.ppt

    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第二个安全性问题是:当用户登录到系统中,可以执行哪第二个安全性问题是:当用户登录到系统中,可以执行哪些操作,使用哪些对象和资源呢?些操作,使用哪些对象和资源呢?9.1 9.1 数据库安全性概述数据库安全性概述lSQL Server的安全性管理是建立在认证(authentication)和访问许可(permission)这两种机制上的。l用户访问数据库权限的设置是通过用户账号来实现的。角色简化了安全性管理。9.1 9.1 数据库安全性概述数据库安全性概述l所以在SQL Server的安全模型中包括以下几部分: SQL Server身份验证 登录账户 数据库用户 角色 权限 架构9.1 9.1 数据库安全性概述数据库安全性概述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所示。在图中修改身份验证。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登录用户。可以单击“搜索”按钮,出现登录“选择用户和组”对话框,如图15.4所示。在对象名称编辑框中输入用户或组的名称,单击“检查名称”按钮检查对象是否存在。输入完成,单击“确定”按钮关闭选择用户或组对话框。 9.2 9.2 管理服务器登录管理服务器登录l(4)确认选择的是“Windows身份验证”。指定账户登录的默认数据库。l(5) 单击窗口左侧列表中的“服务器角色”节点,指定账户所属服务器角色。l(6)单击窗口左侧列表中的“用户映射”节点,右侧出现用户映射页面。可以查看或修改SQL登录账户到数据库用户的映射。选择此登录账户可以访问的数据库,对具体的数据库,指定要映射到登录名的数据库用户(默认情况下,数据库用户名与登录名相同)。指定用户的默认架构,首次创建用户时,其默认架构是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.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_name 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。 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中角色分为服务器角色和数据库角色。而数据库角色又分为固有数据库角色、用户自定义数据库角色和应用程序角色。l1服务器角色l服务器角色内建于SQL Server,其权限无法更改,每一个角色拥有一定级别的数据库管理职能,如图9.8所示。9.3 9.3 角色和用户管理角色和用户管理l服务器角色包括以下几种。 bulkadmin:可以运行BULK INSERT语句。 dbcreator:可以创建任何数据库。 diskadmin:管理磁盘文件。 processadmin:可以终止SQL Server实例中运行的进程。 securityadmin: 管理登录名的密码。 serveradmin:可以更改服务器范围的配置选项和关闭服务器。 setupadmin:添加和删除链接服务器,并且也可以执行某些系统存储过程。 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_datawriter:可以在所有用户表中添加、删除或更改数据。db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令。db_denydatareader:不能读取数据库内用户表中的任何数据。9.3 9.3 角色和用户管理角色和用户管理db_denydatawriter:不能添加、修改或删除数据库内用户表中的任何数据。db_owner:可以执行数据库的所有配置和维护活动。db_securityadmin:可以修改角色成员身份和管理权限。public:当添加一个数据库用户时,它自动成为该角色成员,该角色不能删除,指定给该角色的权限自动给予所有数据库用户。db_owner和db_securityadmin角色的成员可以管理固有数据库角色成员身份;但是,只有db_owner数据库的成员可以向db_owner固有数据库角色中添加成员。9.3 9.3 角色和用户管理角色和用户管理l3用户自定义数据库角色 当打算为某些数据库用户设置相同的权限,但是这些权限不等同于预定义的数据库角色所具有的权限时,就可以定义新的数据库角色来满足这一要求,从而使这些用户能够在数据库中实现某些特定功能。9.3 9.3 角色和用户管理角色和用户管理9.3.2 9.3.2 角色的管理角色的管理1使用Management Studio管理角色(1)为服务器角色添加登录账户。(2)为固有数据库角色添加成员。(3)创建用户自定义角色。9.3 9.3 角色和用户管理角色和用户管理9.3.3 9.3.3 用户管理简介用户管理简介l用户对数据的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的,用户账号总是基于数据库的,即两个不同数据库中可以有两个相同的用户账号。l在数据库中,用户账号与登录账号是两个不同的概念,一个合法的登录账号只表明该账号通过了Windows认证或SQL Server认证,但不能表明其可以对数据库数据和数据对象进行某种操作。l通常而言,数据库用户账号总是与某一登录账号相关联。9.3 9.3 角色和用户管理角色和用户管理(1)检查该登录用户是否有合法的用户名,如果有合法用户名,则允许其以用户名访问数据库,否则执行步骤2。(2)SQL Server检查是否有guest用户,如果有,则允许登录用户以guest用户来访问数据库,如果没有,则该登录用户被拒绝。用户通过Windows认证或SQL Server认证而成功登录到SQL Server之后的过程如下:9.3 9.3 角色和用户管理角色和用户管理l9.3.4 9.3.4 用户的管理用户的管理l1使用Management Studio管理用户 l(1) 在Management Studio对象资源管理器中,扩展指定的数据库节点,直到看到用户节点,如右图所示。 l(2)鼠标右键单击用户子节点,在弹出菜单中选择“新建用户”,弹出“新建数据库用户”对话框,如图9.19所示。在用户名编辑框中输入用户名。9.3 9.3 角色和用户管理角色和用户管理9.3 9.3 角色和用户管理角色和用户管理l2. 使用Transact-SQL管理用户l使用Transact-SQL管理用户的语句有CREATE USER,DROP USER,ALTER USER。l(1)创建用户:CREATE USERlCREATE USER语法格式为:lCREATE USER user_name FOR | FROM l l LOGIN login_namel | CERTIFICATE cert_namel | ASYMMETRIC KEY asym_key_namel | WITHOUT LOGINl WITH DEFAULT_SCHEMA = schema_name 9.3 9.3 角色和用户管理角色和用户管理l【例9.13】首先创建名为“Teacher”且具有密码的服务器登录名,然后在数据库“TEACH”中创建对应的数据库用户“WangWei”。lCREATE LOGIN Teacher WITH PASSWORD =123;lCREATE USER WangWei FOR LOGIN Teacher 9.3 9.3 角色和用户管理角色和用户管理(2)更改用户名或更改其登录的默认架构ALTER USER其语法格式为:ALTER USER user_name WITH ,.n := NAME = new_user_name | DEFAULT_SCHEMA = schema_name 【例9.15】更改数据库用户的名称。ALTER USER WangWei WITH NAME = Wangjf9.3 9.3 角色和用户管理角色和用户管理【例9.16】更改用户的默认架构。ALTER USER WangWei WITH DEFAULT_SCHEMA = Admining(3)删除用户:DROP USER其语法格式为:DROP USER user_name【例9.17】删除用户“WangWei”。DROP USER WangWei9.4 SQL Server 20089.4 SQL Server 2008权限权限l权限管理指将安全对象的权限授予主体,取消或禁止主体对安全对象的权限。SQL Server通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。l1主体l“主体”是可以请求SQL Server资源的个体、组和过程。主体分类如表9.1所示。主 体内 容Windows级别的主体Windows域登录名、Windows本地登录名SQL Server级别的主体SQL Server登录名数据库级别的主体数据库用户、数据库角色、应用程序角色9.4 SQL Server 20089.4 SQL Server 2008权限权限l2安全对象l安全对象是SQL Server Database Engine 授权系统控制对其进行访问的资源。每个 SQL Server安全对象都有可能授予主体的关联权限,如表9.2所示。安 全 对 象内 容服务器端点、登录账户、数据库数据库用户、角色、应用程序角色、程序集、消息类型、路由、服务、远程服务绑定、全文目录、证书、非对称密钥、对称密钥、约定、架构架构类型、XML 架构集合、对象对象聚合、约束、函数、过程、队列、统计信息、同义词、表、视图9.4 SQL Server 20089.4 SQL Server 2008权限权限l3架构l架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。在SQL Server 2008中,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权。l完全限定的对象名称包含4部分:server.database.schema.object。9.4 SQL Server 20089.4 SQL Server 2008权限权限lSQL Server 2008还引入了“默认架构”的概念,用于解析未使用其完全限定名称引用的对象的名称。在SQL Server 2008中,每个用户都有一个默认架构,用于指定服务器在解析对象的名称时将要搜索的第一个架构。可以使用CREATE USER和ALTER USER的DEFAULT_ SCHEMA选项设置和更改默认架构。如果未定义默认架构,则数据库用户将把 DBO作为其默认架构。9.4 SQL Server 20089.4 SQL Server 2008权限权限l4权限l在SQL Server 2008中,能够授予的安全对象和权限的组合有181种,具体的GRANT、DENY、REVOKE语句格式和具体的安全对象有关。使用时请参阅联机丛书。l主要安全对象权限如表所示。安 全 对 象权 限数据库BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TABLE 和 CREATE VIEW标量函数EXECUTE和REFERENCES表值函数、表、视图DELETE、INSERT、REFERENCES、SELECT和UPDATE存储过程DELETE、EXECUTE、INSERT、SELECT和UPDATE9.5 9.5 权限管理权限管理l1使用Management Studio管理权限l可通过对象或主体管理对象权限,下面讲述通过对象来设置权限。l(1)鼠标右键单击对象,在快捷菜单中选择属性,弹出属性对话框。l(2)单击左侧选择页中“权限”,则显示权限页,如图9.20所示,在此可以指定该对象的角色或用户的权限。9.5 9.5 权限管理权限管理9.5 9.5 权限管理权限管理l(3)单击“搜索”按钮,弹出“选择用户或角色”对话框,如图15.21所示。l(4)输入用户或角色名,或单击“浏览”按钮,选择需要添加授权的用户或角色,如图9.22所示。9.5 9.5 权限管理权限管理l(5)单击“确定”按钮关闭查找对象对话框,然后关闭选择用户或角色对话框,回到表属性权限页中,如图9.23所示。9.5 9.5 权限管理权限管理l(6)选择需要设置权限的用户或角色。设置该用户对每个具体权限的“授予”、“具有授予权限”、“拒绝”3种权限。如图9.23所示,设置用户“guest”对该表的插入(Insert)权限,而拒绝了对表数据的删除(Delete)权限。l(7)如果允许用户具有查询(Select)权限,则列权限可用,单击“列权限”按钮,“列权限”对话框出现,如图9.24所示。9.5 9.5 权限管理权限管理9.5 9.5 权限管理权限管理l如果不进行设置,则用户从其所属角色中继承权限。设置完列权限之后,单击“确定”按钮关闭列权限对话框。50 结束语结束语

    注意事项

    本文(SQL-Server-数据库的安全性管理.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开