您好,欢迎访问三七文档
SQLServer权限管理策略安全帐户认证访问许可确认数据库登录帐号服务器用户帐号许可确认8.1SQLServer2005的身份认证模式1.WindowsNT认证模式用户登录WindowsNT时进行身份认证,登录SQLServer时不再进行身份验证。对于WindowsNT认证模式登录的几点重要说明:(1)必须将NT网络账号加入到SQLServer中,才能采用NT网络账号登录SQLServer。(2)如果使用NT网络账号登录到另一个网络的SQLServer,必须在NT网络中设置彼此的托管权限。2.SQLServer认证模式在SQLServer认证模式下,SQLServer服务器要对登录的用户进行身份验证。8.2.1WindowsNT认证模式登录账号的建立与删除2)通过调用系统存储过程建立WindowsNT认证模式的登录账号创建Windows用户或组后,使用系统存储过程sp_grantlogin也可将一个Windows用户或组的登录账号添加到SQLServer中,以便通过Windows身份验证连接到SQLServer。语法格式:sp_grantlogin[@loginame=]'login'参数含义:@loginame=:原样输入的常量字符串注意:(1)不能在用户定义的事务内执行sp_grantlogin;(2)仅sysadmin或securityadmin固定服务器角色的成员可以执行sp_grantlogin。1.WindowsNT认证模式登录账号的建立1)通过管理平台建立WindowsNT认证模式的登录账号8.2.1WindowsNT认证模式登录账号的建立与删除2.WindowsNT认证模式登录账号的删除2)通过调用系统存储过程删除WindowsNT认证模式的登录账号通过执行系统存储过程sp_revokelogin可删除Windows用户或组登录SQLServer的账号。1)通过管理平台删除WindowsNT认证模式的登录账号8.2.2混合认证模式下SQLServer登录账号的建立与删除(1)在管理平台中,选择要登录的SQLServer服务器图标右击,出现一快捷菜单,选择菜单项“属性”,出现如图的SQLServer服务器属性配置窗口。(2)选择“安全性”选项卡,如图所示,选择身份验证方式为“SQLServer与Windows”,选择“确定”按钮。8.2.2混合认证模式下SQLServer登录账号的建立与删除2.利用系统存储过程创建SQLServer登录账号语法格式:sp_addlogin[@loginame=]'login'[,[@passwd=]'password'][,[@defdb=]'database'][,[@deflanguage=]'language'][,[@sid=]sid][,[@encryptopt=]'encryption_option']1.通过管理平台创建SQLServer登录账号8.2.2混合认证模式下SQLServer登录账号的建立与删除3.SQLServer登录账号的删除利用sp_droplogin系统存储过程可删除SQLServer登录账号。语法格式:sp_droplogin[@loginame=]'login'参数含义:'login':将被删除的登录账号名。返回值:0(成功)或1(失败)。说明:(1)若要删除一个数据库现有用户的登录账号,必须首先使用sp_dropuser删除该用户。(2)不能删除系统管理员(sa)的登录账号。(3)不能在用户定义的事务内执行sp_droplogin。(4)只有sysadmin和securityadmin固定服务器角色的成员才能执行sp_droplogin。角色与用户SQLServer2005数据库管理系统利用角色设置,管理用户的权限。这样只对角色进行权限设置便可以实现对该角色中所有用户权限的设置,大大减少了管理员的工作量。在SQLServer2005中,共4种类型的角色,包括:固定服务器角色固定数据库角色8.3.1固定服务器角色Sysadmin(系统管理员):拥有SQLServer所有的权限许可。Serveradmin(服务器管理员):管理SQLServer服务器端的设置。Diskadmin(磁盘管理员):管理磁盘文件。Processadmin(进程管理员):管理SQLServer系统进程。Securityadmin(安全管理员):管理和审核SQLServer系统登录。Setupadmin(安装管理员):增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。Dbcreator(数据库创建者):创建数据库,并对数据库进行修改。Bulkadmin(批量数据输入管理员):管理同时输入大量数据的操作。8.3.1固定服务器角色2.利用系统存储过程添加固定服务器角色成员利用系统存储过程sp_addsrvrolemember可将一登录账号添加到某一固定服务器角色中,使其成为固定服务器角色的成员。说明:(1)将登录账号添加到固定服务器角色时,该登录就会得到与此固定服务器角色相关的权限。(2)不能更改sa角色成员资格。(3)不能在用户定义的事务内执行sp_addsrvrolemember存储过程。(4)sysadmin固定服务器的成员可以将登录账号添加到任何固定服务器角色,其他固定服务器角色的成员可以执行sp_addsrvrolemember将登录账号添加到同一个固定服务器角色。1.通过管理平台添加服务器角色成员8.3.1固定服务器角色3.利用系统存储过程删除固定服务器角色成员利用sp_dropsrvrolemember系统存储过程可从固定服务器角色中删除SQLServer登录账号或WindowsNT用户或组。说明:(1)不能删除sa登录账号。(2)不能在用户定义的事务内执行sp_dropsrvrolemember。(3)sysadmin固定服务器角色的成员执行sp_dropsrvrolemember,可删除任意固定服务器角色中的登录账号,其他固定服务器角色的成员只可以删除相同固定服务器角色中的其他成员。用户帐号管理为当前数据库添加用户sp_adduser[@loginame=]'login'[,[@name_in_db=]'name_in_db'][,[@group=]'group']删除数据库用户Sp_dropuser[@name_in_db=]'name_in_db'1.数据库用户的操作权限(1)对象许可表示对特定的数据库对象,即表、视图、字段和存储过程的操作许可,它决定了能对表、视图等数据库对象执行哪些操作。①表、视图或表值函数:SELECT、INSERT、UPDATE、DELETE、REFERENCES②存储过程:EXECUTE③表中字段:SELECT、UPDATE(2)语句许可在当前数据库创建数据库对象及进行数据库备份的权限。Createdatabase:创建数据库Createtable:创建表Createview:创建视图Createrule:创建规则Createdefault:创建缺省Createprocedure:创建存储过程Createindex:创建索引Backupdatabase:备份数据库Backuplog:备份事务日志用户权限角色独立许可固定数据库角色自定义数据库角色许可权限管理标准角色应用程序角色8.3.2固定数据库角色1.固定数据库角色(1)db_owner:数据库所有者,可执行数据库的所有管理操作。(2)db_accessadmin:数据库访问权限管理者,具有添加、删除数据库使用者、数据库角色和组的权限。(3)db_securityadmin:数据库安全管理员,可管理数据库中的权限,如设置数据库表的插入、删除、修改和查询等存取权限。(4)db_ddladmin:数据库DDL管理员,可增加、修改或删除数据库中的对象。(5)db_backupoperator:数据库备份操作员,具有执行数据库备份的权限。(6)db_datareader:数据库数据读取者。(7)db_datawriter:数据库数据写入者,具有对表进行插入、删除和修改的权限。(8)db_denydatareader:数据库拒绝数据读取者,不能读取数据库中任何表的内容(9)db_denydatawriter:数据库拒绝数据写入者,不能对任何表进行插入、删除和修改操作。(10)public:是一个特殊的数据库角色,每个数据库用户都是public角色的成员,因此,不能将用户、组或角色指派为public角色的成员,也不能删除public角色的成员。8.3.3用户自定义数据库角色2.通过SQL命令创建数据库角色1)定义数据库角色语法格式:sp_addrole[@rolename=]'role'[,[@ownername=]'owner']说明:(1)角色名可以包括字母、符号及数字。但是不能含有反斜线(\)。(2)不能在用户定义的事务内使用sp_addrole。(3)只有sysadmin固定服务器角色及db_securityadmin和db_owner固定数据库角色的成员才能执行sp_addrole。2)删除数据库角色sp_droprole[@rolename=]'role'说明:①在删除角色前,必须先删除该角色中的所有成员②不能在用户定义的事务内使用sp_addrole。③不能删除固定角色及Public角色④如果角色拥有对象,那么就不能将其删除⑤只有sysadmin固定服务器角色及db_securityadmin和db_owner固定数据库角色的成员才能执行sp_addrole。8.3.3用户自定义数据库角色3)给数据库角色添加成员利用系统存储过程sp_addrolemember可将当前数据库的用户或角色添加到当前数据库的某个角色中,使其成为该角色的成员。语法格式:sp_addrolemember[@rolename=]'role',[@membername=]security_account'说明:(1)当使用sp_addrolemember将用户账号添加到角色时,新成员将继承所有应用到角色的权限。(2)不能将固定数据库或固定服务器角色,或者dbo添加到其他角色。例如,不能将db_owner固定数据库角色添加成为用户定义的角色YourRole的成员。(3)在用户定义的事务中不能使用sp_addrolemember。(4)只有sysadmin固定服务器角色和db_owner固定数据库角色中的成员可以执行sp_addrolemember,将用户账号添加到固定数据库角色。(5)db_securityadmin固定数据库角色的成员可以将用户添加到任何用户定义的角色。8.3.3用户自定义数据库角色2)删除数据库角色要删除用户自定义的数据库角色,首先应删除该角色的所有成员,下面介绍删除数据库角色成员及删除数据库角色的系统存储过程。语法格式:sp_droprolemember[@rolename=]'role',[@membername=]'security_account'说明:(1)不能从用户定义的事务内执行sp_droprolemember。(2)只有sysadmin固定服务器角色、db_owner和db_securityadmin固定数据库角色的成员才能执行sp_droprolemember。8.3.3用户自定义数据库角色4)数据库用户、角色操作权限的授予、拒绝和收回(1)数据库用户、角色操作权限的授予利用GRANT语句可以给数据库用户或数据库角色赋予执行T-SQL语句的权限及对数据库对象进行操作的权限。语法格式:GRANT{ALL[PRIVILEGES]|permission[,...n]}{[(column[,...n])]ON{table|view}|ON{table|view}[(column[,...n])]|ON{stored_procedure|extended_procedure}|ON{user_defined_function}}TOsec
本文标题:权限管理
链接地址:https://www.777doc.com/doc-3524185 .html