这是更好的方式来设置访问一些数据库,我的网络应用程序查询。我只能想到一个好处,一个骗子为另一个,所以我需要一些其他的意见,然后作出最后的决定。
选项1-10个应用程序,10个数据库,每个应用程序的一个服务帐户(用户没有直接访问权限)所有查询请求都通过服务帐户进入数据库。我能想到的骗局是,没有谁发送请求的记录,只是SA使用请求访问了db。
选项2-10个应用程序,10个数据库,用户可以直接访问(没有服务帐户)
来自应用程序的所有查询请求都直接进入db,每个请求都被记录下来,确定是谁从哪个应用程序发送了请求。通过只允许特定的应用程序访问db/table/列来完成请求/查询,可以进一步锁定此设置。最明显的好处是不会有匿名请求;所有请求都可以追溯到请求者,而不仅仅是SA。
发布于 2017-08-16 01:18:33
如果您通过服务帐户引用应用程序的功能帐户或数据库帐户。这就是该走的路。如果您需要记录谁执行了请求,您的应用程序应该有用户身份验证,并对请求进行日志记录。
每个用户的数据库帐户的另一种选择是不可伸缩的,如果您必须为每个用户提供一个数据库id,用户将使用该id进行连接,这也会带来安全问题。
通过在用户和数据库之间使用应用程序,您可以将数据库与外部隔离开来,唯一的访问是应用程序所允许的。
https://stackoverflow.com/questions/45703612
复制相似问题