数据库用户的最低要求是多少,我看到的所有教程都只使用sa
帐户。出于安全考虑,我宁愿不使用此帐户。
我已经在本地部署了1.10.2分支的开发版本,并向他们应用了dbowner
角色,但是我又不想在生产中这样做。
答案 0 :(得分:1)
这实际上取决于您希望应用程序的用户(包括网站管理员)能够做什么。 Orchard中特权最高的用户需要能够创建和更改表(当他们创建新的内容类型,安装模块,运行迁移等时),这几乎需要dbowner
。还请记住,将是作为特定的db用户连接到数据库的应用程序。您不会为不同的应用程序用户(甚至角色)获得不同的数据库用户。
但是,要设置一个过程,使该应用程序最危险的功能在生产中的数据库级别受到抑制,而只能在登台阶段进行,其间采用数据库部署机制,这是完全合理的。从dba的角度来看,这尤其有意义。
但是,对于大多数站点来说,这比看起来要棘手,因为生产数据库很少是只读业务(由于注释,用户创建的内容等)。这意味着,与仅将登台数据库推入产品相比,此部署过程将需要更加精细。甚至没有提及在最大程度减少停机时间的同时执行此操作所涉及的复杂性。
我见过的另一个解决方案是设置两个指向同一数据库的Orchard实例,并使用具有不同特权的两个不同的DB用户。公共的权限有限,甚至没有部署某些管理模块,并且管理实例位于防火墙后面,并具有所有权限和功能。但是,这是非常不寻常的设置,您必须权衡风险与实用性之间的差异(毕竟,使用CMS的主要好处是使管理员能够轻松更改网站内容,因此,任何与之相反的做法都会减少好处)。
大多数Orchard网站更喜欢使用dbowner
设置,该设置假设如果应用程序已被盗用,那么数据库也受到盗用并不一定会变得更糟。