主体和安全实体
在 SQL Server 2008中,“主体”就是可以访问受保护资源且能获得访问资源所需权限的任何个人、组或流程。与旧版 SQL Server 一样,可以在 Windows 中定义主体,也可将没有对应 Windows 主体的 SQL Server 登录作为其基础。下面的列表显示了 SQL Server 2008主体的层次结构,但不包括固定服务器和数据库角色,还显示了将登录和数据库用户映射为安全对象的方法。主体的影响范围取决于它的定义范围,这样 Windows 级别的主体就比 SQL Server 级别的主体拥有更大的影响范围,而后者的影响范围又大于数据库级别的主体。每个数据库用户都会自动隶属于固定的 public 角色。
Windows 级别的主体
•     Windows 域登录
•     Windows 本地登录
•     Windows 组
SQL Server 级别的主体
•     SQL Server登录
•     映射为 Windows 登录的 SQL Server 登录
•     映射为证书的 SQL Server 登录
•     映射为不对称密钥的 SQL Server 登录
数据库级别的主体
•     数据库用户
•     映射为 SQL Server 登录的数据库用户
•     映射为 Windows 登录的数据库用户
•     映射为证书的数据库用户
•     映射为不对称密钥的数据库用户
•     数据库角色
•     应用程序角色
•     公共角色

授权的另一部分就是可用以保护权限授予操作或拒绝授予操作的对象。图4列出了SQL Server 2008 中安全实体对象的层次结构。在服务器级别,可以保护网络端点,以控制进出服务器的通信通道,以及数据库、绑定角色和登录。在数据库和架构级别,用户创建的每一个对象都被当作安全主体,包括那些驻留在架构中的对象。

 
 
 

固定服务器角色

服务器角色 说明 
bulkadmin 成员可以运行BULK INSERT语句,这一角色中的成员仍然要求非sysadmins用户能够访问被更新到的对象 : administer blck operations
dbcreator 成员可以创建、修改、删除和恢复任意数据库 : create database
diskadmin 这一角色用于管理磁盘文件。大多数此类功能是关于添加和删除备份设备的。:alter resources
processadmin 成员可以终止在SQL SERVER实例中运行的进程,如果您希望授予某人中止长时间运行的查询或者孤立连接的能力,那么这一角色非常有 用 :  alter any connection , alter server state
public 所有有效SQL SERVER登陆是public角色的成员 
securityadmin 成员可管理登陆及其属性。他们可以grant, deny 和revoke服务器级别的权限以及数据库级别的权限。他们也可以为SQL SERVER登陆重置密码。这一角色无权指定数据库权限。如果希望securityadmin成员能够进行这一操作,就必须使他们的登录成为特定数据库的db_accessadmin固定数据库角色的成员
serveradmin 成员可以改变服务器范围内的配置选项并关闭服务器
setupadmin 成员要吧添加和删除添加服务器,还执行一些系统存储过程。
sysadmin 成员可执行服务器中的任意操作。默认情况下,windows builtin\administrators组、本地管理员组中的所有成员是sysadmin固定服务器角色的成员。sql server服务帐户也是此角色的成员。
 
数据库用户
     可以通过SSMS或者T-SQL语句CREATE LOGIN来创建登录。再利用SSMS或者T-SQL语句CREATE USER 来创建数据库用户
     在创建数据库用户之后,可以选择将它包含在一个数据库角色中。可更改。
数据库角色  说明
db_addessadmin 可以为windows登陆、windows组和SQL SERVER登陆添加或者删除访问权限 :alter any user, create schema
db_backupoperator 可以备份数据库 : backup databse , backuplog , checkpoint
db_datareader 可以从所有用户表中读取所有数据 : select 
db_datawriter 成员要吧添加、删除或者改变所有用户表中的数据 : deleter , insert , update
db_ddladmin 可以运行数据库中的任意数据定义语言(ddl)命令 : alter any assembly, alter any asammetric key , alter any 
db_denydatareader 不能读取数据库中用户表中的任何数据 : 拒绝select 
db_denydatawriter 不能在数据库的用户表中添加 、修改或者删除任何数据: 拒绝delete , insert , update
db_owner 可以对数据库执行全部配置和维护操作,包括删除数据库
db_securityadmin 可以修改角色成员关系并管理权限
 
     有一种特殊的数据库角色,sysadmin用户不能明确向其授予其它用户权限,它被称为public角色。所有数据库用户都隐式包含在public角色中。这一角色获得特定数据库中用户的所有默认权限。它不能拥有指定给它的用户、组或者角色。因为默认情况下每个 人都属于这一角色。这一角色不能被删除。因此,要防止未经授权的数据访问,应该授予public角色的权限降至最低。应将权限授予其它数据库角色且授予登陆相关的用户帐户。

SQL SERVER 安全性体系的更多相关文章

  1. 深入浅出:全面理解SQL Server权限体系

    转自IT168  好文转载存档! [IT168 技术]权限两个字,一个权力,一个限制.在软件领域通俗的解释就是哪些人可以对哪些资源做哪些操作.在SQL Server中,"哪些人", ...

  2. 《BI那点儿事》SQL Server 2008体系架构

    Microsoft SQL Server是一个提供了联机事务处理.数据仓库.电子商务应用的数据库和数据分析的平台.体系架构是描述系统组成要素和要素之间关系的方式.Microsoft SQL Serve ...

  3. SQL Server安全性专题一:简介

    原文:SQL Server安全性专题一:简介 一. 安全威胁与法则 1. 安全定义 2. 安全威胁 3. 安全法则 安全定义: 在SQLServer环境中,安全性可以认为是[数据保护].包括:  数 ...

  4. 第十三周翻译:SQL Server安全级别1:SQL Server安全性概述

    SQL Server安全级别1:SQL Server安全性概述 源自:Stairway to SQL Server Security Level 1: Overview of SQL Server S ...

  5. sql server 权限体系

    --给sql server添加一个新用户[账号,密码,数据库名] execute  sp_addlogin 'baishi', '123','db'; execute  sp_addlogin 'wx ...

  6. [转]SQL Server 安全性概論與無法刪除資料庫使用者的解決辦法

    經常有人來問我特定 SQL Server 資料庫裡的使用者無法刪除的問題,這問題其實跟 SQL Server 的安全性架構有很大關係,解決這個問題當然還是瞭解觀念的重要性大於知道如何解決問題.除了講解 ...

  7. 理解SQL Server中的权限体系(下)----安全对象和权限

    原文:http://www.cnblogs.com/CareySon/archive/2012/04/12/SQL-Security-SecurableAndPermission.html 在开始阅读 ...

  8. 人人都是 DBA(I)SQL Server 体系结构

    在了解 SQL Server 数据库时,可以先从数据库的体系结构来观察.SQL Server 的体系结构中包含 4 个主要组成部分: 协议层(Protocols) 关系引擎(Relational En ...

  9. 【野草】SQL Server之索引解析(一)

    1.写在前面 微软专门给出SQL Server设计思路及实现路线,从7大体系结构阐述是如何实现,通过了解这些,我们就可以总结出数据库设计原则.编程中sql写法及注意事项,从而优化我们的系统性能,本系列 ...

随机推荐

  1. split(),preg_split()与explode()函数分析与介

    split(),preg_split()与explode()函数分析与介 发布时间:2013-06-01 18:32:45   来源:尔玉毕业设计   评论:0 点击:965 split()函数可以实 ...

  2. [ASE][Daily Scrum]11.26

    今天主要是修复一些历史遗留问题以及bug, 在task上进展不是很明显, 在地图与客户端同步之后产生了一些bug,例如一发子弹会消掉很多砖块,服务器地图与本地地图不同步等等... 目前的大方向分工是这 ...

  3. IQueryable和IQueryProvider初尝

    前言 相信大家对Entity Framework一定不陌生,我相信其中Linq To Sql是其最大的亮点之一,但是我们一直使用到现在却不曾明白内部是如何实现的,今天我们就简单的介绍IQueryabl ...

  4. [ACM_水题] ZOJ 3712 [Hard to Play 300 100 50 最大最小]

    MightyHorse is playing a music game called osu!. After playing for several months, MightyHorse disco ...

  5. [Java Web] 1、Web开发初识——一大堆历史和技术名词

    LZ前言 LZ最近发现网络真是个神奇的东西,以前做的好玩的只能自娱自乐(或者说顾影自怜),现在只要发一个帖子,写一个博客,很快能引来一大群小伙伴的围观(有时候还能遇见几个大牛给个战略性的指导)...L ...

  6. 【Java】Lucene检索引擎详解

    基于Java的全文索引/检索引擎——Lucene Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能. L ...

  7. Template Method模式和Strategy模式[继承与委托]

    继承 program by difference. 通过继承,可以建立完整的软件结构分层.其中每一层都可以重用该层次以上的Code. 过度使用继承的代价是巨大的.应使用组合或者委托来替代继承. Tem ...

  8. JavaScript 语句 if else

    顺序.分支和循环语句 if(判断条件) {    满足条件要执行的语句 } else {    不满足条件时执行的语句 } 格式一:if(){} 表示如果括号内的值是true,那就执行花括号中的内容, ...

  9. php对csv文件的读取,写入,输出下载操作

    在实际工作中,很多时候需要把网站上的一些数据下载到CSV文件里,方便以后查看. 亦或者是用CSV进行一些批量的上传工作. 这个时候我们就需要对CSV进行读写操作. 1.CSV的读取操作 <?ph ...

  10. UIBarButtonItem-添加自定义Left或者Right按钮

    为UINavigationController添加UINavigationItem,我们可以这样写:   1.添加返回导航按钮backBarButtonItem   1.用系统自带的返回按钮 UIBa ...