【发布时间】:2012-04-17 21:39:51
【问题描述】:
曾几何时,在遥远的星系中,我见证了几个开发人员之间的讨论。主题是让最终用户访问生产 SQL 服务器 (MS SQL 2008) 是否是个好主意,以便让他们能够根据自己的数据制作自己的报告。
这是来自商务人士的要求——“我们的客户想要制作自定义报告”。
一个提出这个建议的人声称:
- 他能够通过一组 权限并使系统绝对安全。
- SQL 最初 是一种“最终用户”语言,现在可能如此。
- 拥有权限 运行 SQL 查询,用户将能够做他们不想做的事情 令人不安的开发人员和支持人员。
其他反对的人声称:
- 即使达到最大值,MS SQL 也很容易崩溃。禁止进入。
- 向最终用户公开 SQL 和数据库结构无论如何都不是一个好主意;这是一个糟糕的设计。
- SQL 对于非程序员来说太复杂了,因此不会让他们的生活更轻松。
您如何看待授予最终用户访问 SQL 的权限?
提前谢谢你!
【问题讨论】:
-
为什么“向最终用户公开 SQL 和数据库结构”是“糟糕的设计”?如果数据库设计好,就没有理由隐藏它。
-
在我看来,数据库是一个内部系统功能。最终用户通常不知道系统是如何工作的,他们也不应该知道;这是一个黑匣子。如果我们将 DB 暴露给最终用户,我们会暴露其内部设计的一个有价值的部分,这并不好。恕我直言。
标签: sql sql-server security reporting