Chapter3ProtectingtheData(2):分配列级权限
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Chapter3ProtectingtheData(2):分配列级权限,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2078字,纯文字阅读大概需要3分钟。
内容图文
![Chapter3ProtectingtheData(2):分配列级权限](/upload/InfoBanner/zyjiaocheng/562/f44d6694ff274ad697dee3820d2f234e.jpg)
原文出处:http://blog.csdn.net/dba_huangzj/article/details/39577861,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349 未经作者同意,任何人不得以原创形式发布,也不得已用于商业用途,本人不负责任何法律责任。 前一篇:http://b
原文出处:http://blog.csdn.net/dba_huangzj/article/details/39577861,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。
前一篇:http://blog.csdn.net/dba_huangzj/article/details/39548665
前言:
SQL Server的权限是有层次的,一个用户有架构级别的权限,就有了架构内部所有对象的权限,除非使用了DENY权限单独移除。但是对象并不是层次中的最低级,可以把权限设置到列级别。但是列级权限会覆盖掉表上被GRANT的权限。
实现:
要实现分配列级权限,可以使用GRANT SELECT ON <对象>语句,并且加上所需的列,如:对象>
GRANT SELECT ON OBJECT::dbo.Employee (EmployeeId, LastName, Firstname, email) TO HumanResourceAssistant;
这个语句会仅供HumanResourceAssistant数据库角色成员能读取dbo.Employee 表上的EmployeeId, LastName, Firstname, email这三列,表上的其他列将不能被查询。(该表上还有Birthdate和Salary列),那么下面的查询中,第一个语句可以执行但是第二个语句不能执行,因为它需要使用到Salary列:
--能执行 SELECT FirstName + ' ' + LastName as Employee FROM dbo.Employee ORDER BY LastName, FirstName; --不能执行 SELECT FirstName + ' ' + LastName as Employee FROM dbo.Employee ORDER BY Salary DESC;
可以使用下面语句修改,使其可以查询全表的数据,但是仅能更新表上的三列:
GRANT SELECT ON OBJECT::dbo.Employee TO HumanResourceEmployee; GRANT UPDATE ON OBJECT::dbo.Employee (LastName, Firstname, email) TO HumanResourceEmployee;
原理:
当用户尝试查询未被授权的列是,会收到230错误:
The SELECT permission was denied on the column 'Salary' of the object 'Employee', database 'HumanResource', schema 'dbo'.
但是要注意权限的修改,特别是对DENY的使用,避免过多使用最底层的权限设置而导致权限策略太复杂而无法管理或者权限交叉。
更多:
列级权限会导致权限体系的不一致性,在后续版本可能被移除,建议使用视图来实现这种需求。
内容总结
以上是互联网集市为您收集整理的Chapter3ProtectingtheData(2):分配列级权限全部内容,希望文章能够帮你解决Chapter3ProtectingtheData(2):分配列级权限所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。