iva*_*nmp 6 security sql-server sql-server-2008-r2
我有一个应用程序使用db_owner权限连接到的数据库。
如何有效地确定该用户(应用程序)在不导致服务中断的情况下实际运行所需的最低要求集?(即没有反复试验)
这应该可以从编写软件的开发人员那里获得。但是,有时此信息不可用 - 例如,如果软件是由第三方供应商编写的。大多数供应商倾向于说它需要,sa或者db_owner如果事实证明是这样的话,这通常归结为他们的编码不佳。
如果软件开发人员无法提供此信息,那么您最好的解决方案是在一段时间内针对该用户帐户运行分析器跟踪 - 这应该为您提供它需要访问的大部分对象。
最佳实践是设置一个测试环境并在其上放置跟踪 - 除非绝对必要,否则您真的不想在生产数据库上放置跟踪 - 并期望在更改生产帐户权限之前进行重要测试。
我希望这可以帮助你。
这一切都归结为一件简单的事情:您可以访问应用程序的源代码吗?
如果您这样做了(并且可能会购买以进行这些更改;此外,从技术上讲,逆向工程属于这一类,但是……您没有从我这里听到),这只是一个搜索、测试和文档。一帆风顺,对吧?:)
如果没有,有两种情况:
该应用程序当前已获得许可和/或供应商/所有者不希望您干预。做出这种改变是绝对不可以的。在极少数情况下,数据库级别的更改是可以的,但这肯定不是其中之一。
应用程序没有许可证或者供应商/所有者不关心你用它做什么。在这种情况下,别无选择,只能根据应用程序进行的数据库查询来确定需要哪些权限。从技术上讲,这不是猜测,但您只能根据已经发生的情况找到所需的权限,而不是将来需要的权限。这归结为彻底的跟踪(Profiler 或扩展事件)和测试。
| 归档时间: |
|
| 查看次数: |
252 次 |
| 最近记录: |