<b>MS-SQL用户权限设置</b>[MSSQL防范]
本文“<b>MS-SQL用户权限设置</b>[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
sql server 用户拜候权限设置:
/*--示例阐明 示例
在数据库pubs中成立一个拥有表jobs的全部权限、拥有表titles的SELECT权限的角色r_test ,随后成立了一个登录l_test,然后在数据库pubs中为登录l_test成立了用户账户u_test, 同时将用户账户u_test增添到角色r_test中,使其通过权限担当获得了与角色r_test一样的权限, 最后利用DENY语句回绝了用户账户u_test对表titles的SELECT权限. 经过这样的处理,利用l_test登录SQL Server实例后,它只具有表jobs的全部权限.
--*/ USE pubs --
成立角色 r_test : EXEC sp_addrole 'r_test' --
授与 r_test 对 jobs 表的全部权限 :GRANT ALL ON jobs TO r_test --
授与角色 r_test 对 titles 表的 SELECT 权限: GRANT SELECT ON titles TO r_test --
增添登录 l_test,设置密码为pwd,默许数据库为pubs : EXEC sp_addlogin 'l_test','pwd','pubs' --
为登录 l_test 在数据库 pubs 中增添安全账户 u_test : EXEC sp_grantdbaccess 'l_test','u_test' --
增添 u_test 为角色 r_test 的成员: EXEC sp_addrolemember 'r_test','u_test' --
-----------------------------增补-------------- --
上面的受权为对单表举行受权,2005可对SCHEMA级别举行受权 ,
授与安全账户 u_test,架构interface下的查询权限: GRANT SELECT ON SCHEMA::interface TO u_test --
回绝安全账户 u_test,架构dbo下的权限: DENY VIEW DEFINITION ON SCHEMA::dbo TO risk --
回绝安全账户 u_test 对 titles 表的 SELECT 权限: DENY SELECT ON titles TO u_test /*--
完成上述步骤后,用 l_test 登录,可以对jobs表举行全部操作,但无法对titles表查询,固然角色 r_test 有titles表的select权限,但已经在安全账户中明确回绝了对titles的select权限,所以l_test无titles表的select 权限.--*/ --
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
从数据库 pubs 中删除安全账户: EXEC sp_revokedbaccess 'u_test' --
删除登录 l_test: EXEC sp_droplogin 'l_test' --
删除角色 r_test: EXEC sp_droprole 'r_test' exec sp_dropsrvrolemember N'aa', sysadmin go exec sp_addsrvrolemember N'aa', securityadmin go --
作好SQL的安全管理,首先做好用户安全,简单的,只答应sql的用户拜候sql(避免操纵administrator组用户拜候)
1、企业管理器--右键SQL实例--属性--安全性--身份考证--挑选"sql server和windows"--肯定 2、企业管理器--安全性--登陆--右键sa--设置密码--其他用户也设置密码 3、删除用户: BUILTIN\Administrators \Administrator --这个用户不一定有 这样可以避免用windows身份登陆SQL 4、设置进入企业管理器需求输入密码:在企业管理器中 --右键你的服务器实例(就是那个有绿色图标的) --编辑SQL Server注册属性 --挑选"利用 SQL Server 身份考证" --并勾选"老是提醒输入登录名和密码" --肯定 --经过上面的设置,你的SQL Server基本上算是安全了.
其次,改默许端口躲藏服务器,削减被攻击的大概性 SQL Server服务器: --开始 --程序 --Microsoft SQL Server --服务器网络实用工具 --启用的协议中"TCP/IP" --属性 --默许端口,输入一个自已定义的端口,比方2433 --勾选躲藏服务器
管好sql的用户,,避免拜候他不该拜候的数据库(总掌握,明细还可以掌握他关于某个数据库的具体对象具有的权限) ---切换到你新增的用户要掌握的数据库: use 你的库名 go ----新增用户: exec sp_addlogin 'test' ----增添登录: exec sp_grantdbaccess N'test' ----使其成为当前数据库的合理用户: exec sp_addrolemember N'db_owner', N'test' ----授与对自己数据库的全部权限 -----这样成立的用户就只能拜候自己的数据库.及数据库中包含了guest用户的大众表 go ----删除测试用户: exec sp_revokedbaccess N'test' ----移除对数据库的拜候权限: exec sp_droplogin N'test' ----删除登录: 假如在企业管理器中成立的话,就用,企业管理器--安全性--右键登录--新建登录 通例项--名称中输入用户名 --身份考证方法按照你的需求挑选(假如是利用windows身份考证,则要先在操作系统的用户中新建用户) --默许设置中,挑选你新建的用户要拜候的数据库名、 服务器角色项 这个里面不要挑选任何东西, 数据库拜候项 勾选你成立的用户需求拜候的数据库名, 数据库角色中答应,勾选"public","db_ownew" 肯定,这样建好的用户与上面语句成立的用户一样.
最后一步,为具体的用户设置具体的拜候权限,这个可以参考下面的最简示例:
--增添只答应拜候指定表的用户: exec sp_addlogin '用户名','密码','默许数据库名' -----增添到数据库: exec sp_grantdbaccess '用户名' ----分配整表权限: GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名] -----分配权限到具体的列: GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名]
以上是“<b>MS-SQL用户权限设置</b>[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |