- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL语言在数据库安全方面的应用.doc
SQL语言在数据库安全方面的应用
【 摘 要 】 数据库是存储企业关键信息与数据的载体,因此保障数据的完整性、可靠性、一致性、可用性极其重要,通过外部的信息安全策略,如防火墙、数据防泄密产品、数据备份产品解决了数据安全的部分问题。本文通过讨论SQL语言在数据库安全方面的应用,介绍利用数据库本身的语言来实现安全控制,有效提高其安全系数。
【 关键词 】 SQL语言;数据库;数据安全
1 前言
作为信息系统建设过程中的核心部分,数据库不仅是服务于业务系统的正常运转,而且由于数据库是储存数据与信息的载体,所以对于各行各业的业务发展也起到了至关重要的失去作用。因此无论是小到企业、单位,大到政府、国家,数据库的安全性保障与控制都势在必行。一方面,由于数据库需要对外提供数据与信息,因此在数据进行访问与存取时需要保障安全性;另一方面,数据在存储与传输的过程中,可能被篡改或丢失,这一方面也需要保障安全性。因此在数据库的系统的实施过程中,相应的安全措施也成为衡量其优良重要的性能指标。
2 SQL语言在数据库安全方面的应用
如图1所示,数据库的安全控制一般包括几项内容。
身份认证:验证用户是否具有连接到SQL Server数据库的资格。
操作权控制 文件操作:验证用户是否具备相应的操作对象与操作类型的权限。
数据库的加密存储与冗余:即对数据库库进行加密处理,以及数据的备份策略。
1) 身份认证:对于非法用户的控制。
对于非法进行数据连接和访问的用户,一般采取的策略即系统保护机制,通过设置系统账号和密码进行主动保护,另一方面,可通过强认证方式,例如通过数字证书,通过用户的签名、指纹、声音、虹膜等用户特有的特征来进行用户的验证。
2) 操作权限控制、文件操作:SQL语言对于数据库存取的控制。
SQL标准语言能够支持数据库的自动存取控制,一般是通过授权语句 Grant 和收权语句 Revoke来实现的。
a) 用户权限的设置
在进行用户权限设置时,涉及到两大内容:可操作的数据本身及可进行哪些操作,即操作的对象和类型。在对用户进行制受权时,就是定义所授权的用户可以对哪些数据进行何种操作。如表1所示即为用户权限设置的方法。
从表1可见,对于数据库中的表、视图和列,赋予的可进行的操作有查询(Select)、插入(Insert)、更新(Update)、删除(Delete)以及其总和All Privilege。授予TABLE本身的操作权限有修改和索引。 授予数据库的操作权限是创建表,而且对这个表空间有使用(存储)的权限,并能够在系统中创建新的数据库。
b) SQL语言中授权与收权语句的具体使用方法
授权语句(Grant),其主要功能是将某个数据对象的操作权限分配给某个用户。
语法如下:
GRANT 权限1[,权限2,…] [on对象类型 对象名称] TO 用户1[,用户2,…]
[WITH GRANT OPTION]
在授权语句的最后[With Grant Option]选项的功能是设置允许进行权限的转移,即被指定的用户可以将此权限转交给其它的用户。
对于数据对象的访问权限控制,能够很好的对数据库的使用人员进行控制,分级分组进行管理,有利于保障。以下为授权请问的使用举例。
例1:将学生基本表(Students)中的“name”的修改、查询功能分配给用户u1。则语句的使用方法为:
GRANT UPDATE(name),SELECT ON TABLE students TO u1。
例2:将表student, score的插入、删除、修改操作权限分配给用户u1和u2。则语句使用方法为:
GRANT ALL PRIVILIGES ON TABLE student,score TO u1,u2。
例3:将表score的查询功能分配给数据库中的全部用户。
GRANT SELECT ON TABLE score TO PUBLIC;
例4:将在Mydatabase数据库中建立表的功能分配给u2。
GRANT CREATETAB ON DATABASE mydatabase TO u2。
例5:将Students的查询功能分配给u3,并允许用户u3能够进行权限的转移。
GRANT SELECT ON TABLE students TO u3 WITH GRANT OPTION。
例6:用户u3将查询students表的权限转移给用户u4。
GRANT SELECT ON TABLE students TO u4;
收权语句(Revoke),其主要功能是把已经授权的
文档评论(0)