您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > SQL-Server-2008角色与权限管理..
数据库基础与应用-----SQLServer2008第9章SQLServer2008的安全机制江西财经大学创建登录账户创建数据库用户角色本章主要内容SQLServer2008的安全机制概述1234权限5江西财经大学安全性是所有数据库管理系统的一个重要特征。理解安全性问题是理解数据库管理系统安全性机制的前提。1.第一个安全性问题:当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中?这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。在MicrosoftSQLServer2008系统中,通过身份验证模式和主体解决这个问题。一.SQLServer2008的安全机制概述江西财经大学1)身份验证模式MicrosoftSQLServer2008系统提供了两种身份验证模式:Windows身份验证模式和混合模式。Windows身份验证模式:在该模式中,用户通过Windows用户账户连接SQLServer时,使用Windows操作系统中的账户名和密码。混合模式:在混合模式中,当客户端连接到服务器时,既可能采取Windows身份验证,也可能采取SQLServer身份验证。江西财经大学查看与更改身份验证模式哈尔滨师范大学恒星学院2)主体主体是可以请求系统资源的个体或组合过程。例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行操作和使用相应的数据。MicrosoftSQLServer2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。主体Windows级Windows组Windows域登录名Windows本地登录名SQLServer级SQLServer登录名固定服务器角色数据库级数据库用户固定数据库角色应用程序角色安全对象服务器安全对象范围端点SQLServer登录名数据库数据库安全对象范围数据库用户/应用程序角色/角色/程序集/消息类型/路由/服务/远程服务绑定/全文目录/证书/非对称密钥/对称密钥/约定/架构架构安全对象范围类型/XML架构集合/聚合/约束/函数/过程/队列/统计信息/同义词/表/视图请求哈尔滨师范大学恒星学院2.第二个安全性问题:当用户登录到系统中,他可以执行哪些操作、使用哪些对象和资源?在MicrosoftSQLServer2008系统中,通过安全对象和权限设置来解决这个问题。主体Windows级Windows组Windows域登录名Windows本地登录名SQLServer级SQLServer登录名固定服务器角色数据库级数据库用户固定数据库角色应用程序角色安全对象服务器安全对象范围端点SQLServer登录名数据库数据库安全对象范围数据库用户/应用程序角色/角色/程序集/消息类型/路由/服务/远程服务绑定/全文目录/证书/非对称密钥/对称密钥/约定/架构架构安全对象范围类型/XML架构集合/聚合/约束/函数/过程/队列/统计信息/同义词/表/视图请求主体和安全对象的结构示意图哈尔滨师范大学恒星学院3.第三个安全性问题:数据库中的对象由谁所有?如果是由用户所有,那么当用户被删除时,其所拥有的对象怎么办,难道数据库对象可以成为没有所有者的“孤儿”吗?在MicrosoftSQLServer2008系统中,这个问题是通过用户和架构分离来解决的。……数据库对象架构用户包含在被拥有表视图存储过程函数数据库对象、架构和用户之间的关系示意图哈尔滨师范大学恒星学院安全机制的5个等级:客户机安全机制网络传输的安全机制实例级别安全机制数据库级别安全机制对象级别安全机制哈尔滨师范大学恒星学院二.创建登录账户1.创建Windows登录账户哈尔滨师范大学恒星学院三.创建数据库用户哈尔滨师范大学恒星学院2.创建SQLServer登录账户哈尔滨师范大学恒星学院3.启用、禁用和解锁登录要启用、禁用或解锁一个登录的操作步骤:(1)启动MicrosoftSQLServerManagementStudio,在“对象资源管理器”视图中,连接到适当的服务器,然后向下浏览至“安全性”文件夹。(2)展开“安全性”文件夹和“登录名”文件夹以列出当前的登录。右击一个登录,然后从快捷菜单中选择“属性”以查看此登录的属性。这样会打开“登录属性”对话框。哈尔滨师范大学恒星学院(3)在“登录属性”对话框左侧列表中选择“状态”选项,打开“状态”页面哈尔滨师范大学恒星学院(4)然后可以进行以下操作:要启动登录,在“登录”选项区下选择“启用”单选按钮。要禁用登录,在“登录”选项区下选择“禁用”单选按钮。要解锁登录,清除“登录已锁定”复选框。(5)最后单击“确定”按钮,完成操作。哈尔滨师范大学恒星学院4.修改登录具体操作步骤如下:(1)打开“登录属性”对话框哈尔滨师范大学恒星学院(2)单击“登录属性”对话框左侧的“用户映射”选项,可以为当前用户添加一个连接数据库“msdb”哈尔滨师范大学恒星学院5.删除登录1)在MicrosoftSQLServerManagementStudio中删除登录账户启动MicrosoftSQLServerManagementStudio,然后访问适当的服务器。在服务器的“安全性”文件夹中展开“登录名”文件夹。右击想要删除的登录,然后从快捷菜单中选择“删除”,要开“删除对象”对话框,2)使用Transact-SQL语句删除登录账户命令格式如下:DROPLOGINlogin_name【例9.1】删除已经创建好的“stu2”账户。DROPLOGINstu2哈尔滨师范大学恒星学院三.创建数据库用户1.通过设置“用户映射”指明数据库用户哈尔滨师范大学恒星学院2.创建数据库用户哈尔滨师范大学恒星学院四.角色1.固定服务器角色固定服务器角色是服务器级别的主体,它们的作用范围是整个服务器。固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名作为成员添加到固定服务器角色中,这样该登录名可以继承固定服务器角色的权限。固定服务器角色的特点在MicrosoftSQLServer系统中,可以把登录名添加到固定服务器角色中,使登录名作为固定服务器角色的成员继承固定服务器角色的权限。对于登录名来说,可以选择其是否成为某个固定服务器角色的成员哈尔滨师范大学恒星学院服务器角色哈尔滨师范大学恒星学院按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述:Bulkadmin:这个服务器角色的成员可以运行BULKINSERT语句。这条语句允许从文本文件中将数据导入到SQLServer2008数据库中,为需要执行大容量插入到数据库的域账户而设计。Dbcreator:这个服务器角色的成员可以创建、更改、删除和还原任何数据库。这不仅是适合助理DBA的角色,也可能是适合开发人员的角色。Diskadmin:这个服务器角色用于管理磁盘文件,比如镜像数据库和添加备份设备。它适合助理DBA。Processadmin:SQLServer2008能够多任务化,也就是说可以通过执行多个进程做多个事件。例如,SQLServer2008可以生成一个进程用于向高速缓存写数据,同时生成另一个进程用于从高速缓存中读取数据。这个角色的成员可以结束(在SQLServer2008中称为删除)进程。哈尔滨师范大学恒星学院Securityadmin:这个服务器角色的成员将管理登录名及其属性。他们可以授权、拒绝和撤销服务器级权限。也可以授权、拒绝和撤销数据库级权限。另外,它们可以重置SQLServer2008登录名的密码。Serveradmin:这个服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。例如SQLServer2008可以使用多大内存或监视通过网络发送多少信息,或者关闭服务器,这个角色可以减轻管理员的一些管理负担。Setupadmin:为需要管理链接服务器和控制启动的存储过程的用户而设计。这个角色的成员能添加到setupadmin,能增加、删除和配置链接服务器,并能控制启动过程。Sysadmin:这个服务器角色的成员有权在SQLServer2008中执行任何任务。Public:有两大特点,第一,初始状态时没有权限;第二,所有的数据库用户都是它的成员。哈尔滨师范大学恒星学院使用操作平台管理服务器角色(1)查看服务器角色的属性①启动MicrosoftSQLServerManagementStudio,在“对象资源管理器”中依次展开“安全性|服务器角色”节点哈尔滨师范大学恒星学院②选择其中的一个服务器,在其上单击右键,在弹出的快捷菜单中选择“属性”选项。例如选择sysadmin这个服务器并右击,在快捷菜单中单击“属性”选项,打开如图所示“服务器角色属性”对话框,在该对话框中就可以查看sysadmin这个服务器角色的属性了。哈尔滨师范大学恒星学院(2)添加服务器角色的角色成员①为服务器角色添加“角色成员”,可以在服务器角色的“服务器角色属性”对话框中单击“添加”按钮。②单击“浏览”按钮,弹出“查找对象”对话框,单击要添加的登录名左边的复选框,单击“确定”按钮即可将选中的角色成员添加进来。哈尔滨师范大学恒星学院(3)删除服务器角色的角色成员要删除一个已经存在的角色成员,只需要选中该角色成员并在其上单击鼠标右键,然后在弹出的快捷菜单中选择“删除”选项,即可删除服务器角色。哈尔滨师范大学恒星学院2.数据库角色三种类型的数据库角色:固定数据库角色:微软提供的作为系统一部分的角色;用户定义的标准数据库角色:你自己定义的角色,将Windows用户以一组自定义的权限分组;应用程序角色:用来授予应用程序专门的权限,而非授予用户组或者单独用户。哈尔滨师范大学恒星学院1)固定数据库角色微软提供了9个内置的角色,以便于在数据库级别授予用户特殊的权限集合db_owner:该角色的用户可以在数据库中执行任何操作。db_accessadmin:该角色的成员可以从数据库中增加或者删除用户。db_backupopperator:该角色的成员允许备份数据库。db_datareader:该角色的成员允许从任何表读取任何数据。db_datawriter:该角色的成员允许往任何表写入数据。db_ddladmin:该角色的成员允许在数据库中增加、修改或者删除任何对象(即可以执行任何DDL语句)。哈尔滨师范大学恒星学院db_denydatareader:该角色的成员被拒绝查看数据库中的任何数据,但是他们仍然可以通过存储过程来查看。db_denydatawriter:像db_denydatareader角色,该角色的成员被拒绝修改数据库中的任何数据,但是他们仍然可以通过存储过程来修改。db_securityadmin:该角色的成员可以更改数据库中的权限和角色。public:在SQLServer2008中每个数据库用户都属于public数据库角色。当尚未对某个用户授予或者拒绝对安全对象的特定权限时,这该用户将据称授予该安全对象的public角色的权限,这个数据库角色不能被删除哈尔滨师范大学恒星学院2)用户自定义数据库角色哈尔滨师范大学恒星学院3)应用程序角色应用程序角色允许用户为特定的应用程序创建密码保护的角色。哈尔滨师范大学恒星学院1.常用的权限安全对象常用权限数据库CREATEDATABASE、CREATEDEFAULT、CREATEFUNCTION、CREATEPROCEDURE、CREATEVIEW、CREATETABLE、CREATERULE、BACKUPDATABASE、BACKUPLOG表SELECT、DELETE、INSERT、UPDATE、REFERENCES表值函数SELECT、DELETE、INSERT、UPDATE、REFERENCES视图SELECT、DELETE、INSERT、UPDATE、REFERENCES存储过程EXECUTE
本文标题:SQL-Server-2008角色与权限管理..
链接地址:https://www.777doc.com/doc-5167137 .html