Free Hit Counters
http://www.dellasdeals.com

通用权限管理模块系列————参考资料——SQL安全性参考

整体的SQL权限太多了,这里就只摘录部分实现

在SQL里也有安全主体、安全对象和授权的说法。

其中有金色海洋所提到的拒绝访问的一种类型。

一、主体

是获得了 SQL Server 访问权限的个体、组和进程。 安全对象是服务器、数据库和数据库包含的对象。 每个安全对象都有一组权限,可配置为进一步最小化 SQL Server 外围应用。

主体是可以请求 SQL Server 资源的实体。与 SQL Server 授权模型的其他组件一样,主体也可以按层次结构排列。主体的影响范围取决于主体定义的范围(Windows、服务器或数据库)以及主体是否不可分或是一个集合。例如,Windows 登录名就是一个不可分主体,而 Windows 组则是一个集合主体。每个主体都具有一个安全标识符 (SID)。

Windows 级别的主体

  • Windows 域登录名
  • Windows 本地登录名

SQL Server 级的主体

  • SQL Server 登录名

数据库级的主体

  • 数据库用户
  • 数据库角色
  • 应用程序角色

 

二、安全对象

SQL Server 2005 数据库引擎 管理着可以通过权限进行保护的实体的分层集合。这些实体称为“安全对象”。在安全对象中,最突出的是服务器和数据库,但可以在更细的级别上设置离散权限。SQL Server 通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。

clip_image001

三、权限

每个 SQL Server 2005 安全对象都有可以授予主体的关联权限

例如对于表来说,有select、insert、update、delete、alert等权限

而存储过程就有Execute、alert等权限

不同的安全对象有各自的可用权限集合

在表一级,当操作是select等涉及到列的语句的时候,还可以进一步详细到列的权限。

clip_image002

clip_image003

clip_image004

clip_image005

四、小节:

主体

安全对象

权限

事实:

一个安全对象具有多个可用权限

一个权限只和一个安全对象关联(虽然有些安全对象有共同的权限,但为了简化处理,觉得这么弄简单)

一个主体可以被授予或拒绝多个安全对象的多个权限

一个安全对象的权限可以被授予多个主体

 

SQL的固定服务器角色和数据库的内置角色其基本权限是不能修改的。

和windows相比

有拒绝权限的概念

固定角色的权限是定死的不能修改

SQL里的角色和windows的组有点类似

posted @ 2009-06-10 17:36  徐少侠  阅读(2126)  评论(5编辑  收藏  举报
作者:徐少侠 出处:http://www.cnblogs.com/Chinese-xu/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过 Chinese_Xu@126.com 联系我,非常感谢。