Asp.net网站如何设置sqlserver数据库权限刚刚好?

gs8716 2012-01-18 08:58:59
sql server2005 不是很熟。听说配置不好,很容易被入侵,那到底要怎么配置一个sql 用户名

我知道的是网站连接sql server 不要用sa.要自己定义一个用户,但定义的这个用户怎么给权限呢??好多位置设置权限的。不知道如何设置。。。

请教一下。。。。

我的网站只对数据库有,添,删,查改,建临时表,运行自己定义的存储过程的需要??请教了。。。
...全文
4846 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2012-01-19
  • 打赏
  • 举报
回复
不必晕,建议先弄清楚sql server的安全体系架构,
分清楚什么是login(登录),user(用户),role(角色)..
billpu 2012-01-19
  • 打赏
  • 举报
回复
哦 基本上 bs结构的的我所见到的 如果不牵涉到windows认证的 基本很少在数据库方面设定安全的 不过这个还是必要的 但是一般程序员不管dba也不高兴管
gs8716 2012-01-18
  • 打赏
  • 举报
回复
晕了晕了。。
gs8716 2012-01-18
  • 打赏
  • 举报
回复
哥,能不能直接告诉我选哪一个??
叶子 2012-01-18
  • 打赏
  • 举报
回复
常见的角色,解释:

SqlServer固定服务器角色:
1、bulkadmin服务器级权限已授予:ADMINISTERBULKOPERATIONS
2、dbcreator服务器级权限已授予:CREATEDATABASE
3、diskadmin服务器级权限已授予:ALTERRESOURCESSqlServer2005固定服务器角色:
4、processadmin服务器级权限已授予:ALTERANYCONNECTION、ALTERSERVERSTATE
5、securityadmin服务器级权限已授予:ALTERANYLOGIN6、serveradmin服务器级权限已授予:ALTERANYENDPOINT、ALTERRESOURCES、ALTERSERVERSTATE、ALTERSETTINGS、SHUTDOWN、VIEWSERVERSTATE
7、setupadmin服务器级权限已授予:ALTERANYLINKEDSERVERSqlServer2005固定服务器角色:
8、sysadmin服务器级权限已使用GRANT选项授予:CONTROLSERVER
gs8716 2012-01-18
  • 打赏
  • 举报
回复
我这样描述一下:
我建了一个数据库:testlog
建了一个登录名:testuser

有三个位置的权限有一点模糊,


这个服务器角色应该选哪个?我是哪个都没选


这个用户映射里的架构应该选哪个?


最后设置这个用户对这个数据库权限时,下面的显示权限,是只选择你说的那四个吗?到时候能建临时表,能运行存储过程吗??


这几个设置了之后。为了安全,是不是要把一些不用的系统存储过程给禁掉,还有做哪些?
叶子 2012-01-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gs8716 的回复:]
晕。。。。看得好晕。。。

能不能直接告诉我。。

如果我有一个数据库,abc

想建一个用户 Temp.那么我要怎么设置这个temp的相关权限?我只需要对abc数据库有添,删,查改,建临时表,运行自己定义的存储过程的需要
[/Quote]


右键你新建的用户,然后在在下面这个列表上,选择select create delete update
gs8716 2012-01-18
  • 打赏
  • 举报
回复
晕。。。。看得好晕。。。

能不能直接告诉我。。

如果我有一个数据库,abc

想建一个用户 Temp.那么我要怎么设置这个temp的相关权限?我只需要对abc数据库有添,删,查改,建临时表,运行自己定义的存储过程的需要
叶子 2012-01-18
  • 打赏
  • 举报
回复
要么用sql语句,大乌龟已经给出详细的脚本了。
要么用设置向导,我已经给出图文教程了。
gs8716 2012-01-18
  • 打赏
  • 举报
回复
能不能直接告诉我怎么设置啊???
dawugui 2012-01-18
  • 打赏
  • 举报
回复
创建角色,用户,权限

/*--示例说明
示例在数据库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'

--拒绝安全账户 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'


34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧