网站大量收购独家精品文档,联系QQ:2885784924

数据库安全性补充讲义 1.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库安全性补充讲义 1

数据库安全性补充讲义 3-1 安全性概述 一、SQL Server 2005的权限分为三个级别: 操作系统级别:本地登录帐户、域帐户、组账户 实例级别:SQL Server 登录名、角色 数据库级别:数据库用户、数据库角色、应用程序角色 服务器名称.数据库名称.用户名称.对象名称 服务器名称.数据库名称.架构名称.对象名称(表、视图、存储过程) School数据库一共有20张表,a访问3表,b访问4张表,c访问6。 SQL Server 登录名、角色除了SQL Server Management Studio可以查看实例的登录名、角色外,还可以通过视图查询: select name,type_desc,create_date from master.sys.server_principals 查询不同数据库的实体,有所不同。查看AdventureWorks 或者school数据库。 use AdventureWorks(school) select name,type_desc,create_date from sys.server_principals 二、安全对象 安全对象不论在哪个级别上,其含义都是要访问的对象,此对象的范围从操作系统级别的“文件”、“注册表”,到实例级别的“登录账户”、“端点”、“数据库/服务器”,再到数据库级别的安全对象,如“用户”、“角色”、“架构”。其中,架构包括大家熟悉的“数据表”、“视图”、“存储过程”。 除了SQL Server Management Studio可以查看实例级别的安全对象,更可以使用目录视图查询。 查看目录视图取得数据库安全对象 select * from sys.databases 查询系统数据库表取得登录安全对象 select * from syslogins 查询目录视图取得端点安全对象 select * from sys.endpoints 三、权限操作 Grant Deny Revoke 例1:通过图形化界面操作,对用户Z1-302-51/winu1拒绝了connect sql的权限。 use master go deny connect sql to Z1-302-51/winu1 go 例2:将数据库中架构授权给某用户,则属于该架构的数据表也授权给该用户。 [安全性]-〉[架构]-〉[新建架构]-〉my 将数据表student、teacher表的架构改为my。(修改表,属性) 在架构my右击,[权限]-〉添加 a2用户。 则a2登陆后可以访问school数据库。 为架构设置权限: use school go grant select on schema::my to a2 go 则a2登陆后,可以查询两个表。 完成以下语句。 --利用Guest角色对该架构的任何对象的select结果 select suser_name() login, user_name() DB_USER GO select count(*) from my.student 几点注意: 三种数据库控制语言:grant、revoke、deny 某些权限可以继承。例如架构的权限,可以被下一级的数据表、视图等直接继承。 主体级别中,拒绝语句比授权语句拥有较高的优先级。 例3:有windows用户组winusers,里面有两个windows用户winu1、winu2。 分别授权用户组winusers、winu1为sql登录名和school合法用户。 给用户组Z1-301-51/winusers拒绝insert操作 student表的权限。 授权给winu1对student表的insert权限。 测试:winu1可否对student表有insert权限? 安全对象级别中,拒绝语句比授权语句拥有较高的优先级。 例4: 在用户被授予my架构的select权限时,若其中一个数据表拒绝让该用户进行select权限,则该用户无法对此数据表进行select操作。 3-2 连接实例的第一步 3-2-1两种登录数据库的验证模式: 1、Windows身份验证模式 using System.Data.SqlClient; private void button1_Click(object sender, EventArgs e) { System.Data.SqlClient.SqlConnection conn = new SqlConnection(); conn.ConnectionString = Data Source=localhost;Initial Catalog=school;Integrated Se

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档