首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录模式角色用户设置

登录模式角色用户设置
EN

Database Administration用户
提问于 2016-02-17 20:12:13
回答 1查看 654关注 0票数 1

环境:

  • Windows 2012
  • Server 2014标准
  • 服务器上的公共网站(网站-A)
  • 服务器上的私人网站(网站-B)
  • 运行在工作站上的Windows应用程序

Server 2014标准:2个数据库-DB&DB

类库:通过存储过程处理所有数据的获取/集合。数据在DB-A和DB-B上

站点A:使用类库与DB&DB接口的面向公共的eCommerce ASP.NET网站(http://www.rackattack.com)。包含对两个DBs的附加调用(通过存储过程)。

站点B:使用类库与DB&DB接口的私有ASP.NET网站。包含对两个DBs的附加调用(通过存储过程)。

Windows :在内部使用类库与DB接口的应用程序。包含对两个DB的附加调用(通过存储过程)。

问:如何设置服务器登录、数据库模式、数据库角色、数据库用户以符合我们的环境的最佳实践?

我的想法:

  • 服务器登录站点-A,Site,WinApp
  • ClassLib的DB角色-允许调用Lib存储的procs
  • 站点的DB角色-A-调用站点存储进程的权限-A对DB-A和DB
  • 站点的DB角色-B-调用站点存储进程的权限-B在DB-A & DB-B上
  • WinApp的DB角色-允许调用DB&DB上存储的WinApp进程
  • 站点的DB用户-A( ClassLib和Site的角色成员)
  • DB站点用户-B( ClassLib和Site的角色成员)
  • WinApp的DB用户( ClassLib和WinApp的角色成员)

问题:

  • 这样做有意义吗?
  • 我想要ClassLib和站点用户的不同角色吗?
  • 我应该在哪里添加执行需要的SPs列表的预任务,在角色中还是应该为此使用模式?如果是这样的话,是怎么做的?

免责声明:我是一个开发人员,而不是DB管理员。我对这些概念有基本的理解,但请“像我5岁一样解释”。谢谢!

EN

回答 1

Database Administration用户

回答已采纳

发布于 2016-02-17 20:52:49

好的,所以我将在这里讨论一下一般的最佳实践,并就我将做什么以及我在过去看到过的实现给您一些建议。我还将假设您有足够的安全协议来保护您的面向公众的网站。

首先,如果你被黑了,你愿意失去公共数据库中的所有东西(显然定期备份它,但如果它被删除,不要感到惊讶)。

其次,需要隔离运行您网站的数据库。您需要运行的所有东西都必须是独立的,通常不应该通过库直接链接到私有数据库。如果私有数据库中有公共网站所需的组件,那么您有两个选项:

  1. 复制这些组件,以便它们存在于两个数据库中。(首选)
  2. 创建一个只包含这些组件的“共享”数据库。

一旦隔离了公共数据库,就可以立即减少需要减少的风险。如果您需要来自公共数据库的信息,或者需要从您的私有数据库获取信息到您的公共数据库中,那么您可以设置复制或其他类型的计划来执行此任务。

如果你不能分开你的数据库,那么你将需要绝对激进地对待你的公共网站/数据库所授予的权限。做好大量文件的准备!

如果创建角色,则需要确保每个角色具有完成分配给它的任务所需的最低权限。例如,在两个站点之间共享的类库给它尽可能少的权限,使其能够运行。

任何为公共网站创建的用户帐户都应该访问公共数据库,仅此而已。如果公共网站可以直接访问你的私人数据库,那么它也应该被认为是公开的,即使这不是你的意图。

同样,您的windows应用程序不应该直接调用您面向公共的数据库。这是为了减少攻击的表面积,也是为了确保某人不会无意中做一些会使你的公共网站瘫痪的事情(比如删除所有的内容)。

因此,总结一下:

  1. 公共网站只应连接到公共数据库,而不应被认为是内部或私有的。
  2. 私人网站和应用程序不应连接到公共数据库。
  3. 共享组件/表应出现在两个数据库中,并在它们之间进行复制。
  4. 权限应该是完成他们正在执行的任务的绝对最小值,仅此而已。
  5. 不要在您的公共网站中使用可以访问和修改私有数据的代码组件。
  6. 准备好失去一切。
  7. 永远不要,永远不要给公共网站SA或类似的。它需要做的每一件事都应该明确地给予它。

如果将公共数据库隔离开来,那么为内部应用程序分配权限就变得非常简单和容易。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/129600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档