这是在我的Web应用程序查询的某些数据库上设置访问权限的更好方法。 我只能想到一个优点,一个缺点,因此我需要其他一些输入,然后才能做出最终决定。

选项1 – 10个应用程序,10个数据库,每个应用程序1个服务帐户(用户没有直接访问权限)所有查询请求都通过服务帐户到达数据库。 我可以想到的缺点是,没有记录谁发送了请求,只是SA通过请求访问了数据库。

选项2 – 10个应用程序,10个数据库,用户具有直接访问权限(无服务帐户)

来自该应用程序的所有查询请求都直接进入数据库,并且记录每个请求,从而确定谁从哪个应用程序发送了该请求。 通过允许特定应用仅访问完成请求/查询所需的db / tables / columns,可以进一步锁定此设置。 明显的优点是,不会有匿名请求。 所有请求都可以追溯到请求者,而不仅仅是SA。

#1楼 票数:0 已采纳

如果按服务帐户,则指的是应用程序的功能帐户或数据库帐户。 这是要走的路。 如果您需要记录谁发出了请求,则您的应用程序应该具有用户身份验证并记录请求。

每个用户的数据库帐户的另一种选择是不可扩展的,并且如果您必须为每个用户提供一个数据库ID(该用户将使用该数据库ID进行连接),那么这也会带来安全隐患。

通过使应用程序位于用户和数据库之间,您可以将数据库与外部隔离,唯一的访问权限就是应用程序所允许的访问。

  ask by darkshades translate from so

未解决问题?本站智能推荐:

1回复

如何为位于platform.sh的Symfony项目设置数据库密码?

我有一个 Symfony 3 项目,它托管在 platform.sh 上。 作为默认配置,它们为我提供了一个不受密码保护的数据库连接。 我在文档中发现了以下几行,但无法理解它们的真正含义: 在任一情况下,您还需要服务凭证。 为此,运行平台关系。 这将提供类似于以下内容的输出: 这表明可以在主机
1回复

如何为EnterpriseLibraryLogging块设置数据库的安全性

IIS6上运行的.net应用程序。 我已经设置了日志记录配置,但是它没有记录到我们的数据库中。 我认为这应该是一个权限问题,因为当我从Visual Studio中运行该应用程序时,它可以正常记录。 但是我已经授予了应用程序池标识帐户数据记录者对日志数据库的权限。目录安全性已设置为Win
1回复

如何在PostgreSQL中正确配置数据库权限

在新服务器中设置数据库的正确方法是什么? 我目前在Ubuntu 14.04上使用EC2实例。 到目前为止,这是我所做的: 首先安装 PostgreSQL 基于此答案 ,我执行以下操作: 但是,当我要使用“测试器”登录时,出现此错误: 根据文档,我需要更改pg_hba.conf
4回复

如何为Django应用程序配置数据库权限?

我正在寻找如何正确配置数据库权限以保护Django应用程序的链接或答案? 为了清楚起见,我正在寻找专门处理数据库授权的材料,而不是Django框架本身的权限。
2回复

我可以将未加密但经切割的用户地理位置数据经纬度存储在我的数据库中吗

为了使服务器性能良好,必须存储未加密的纬度和经度。 我的应用程序基于位置搜索,几乎每个查询都需要按位置进行过滤。 这意味着我必须先解密每个查询的每一行,然后才能获取正确的行。 如果有很多行,那就是一个很大的问题。 这样我就可以保护隐私,我可以存储lat和lng cutted的值。
1回复

PHP通用数据库访问

我希望我的PHP Zend应用程序能够访问数据库。 因为任务只有两种类型:从数据库获取和设置值,所以我考虑使用通用方法来简化它。 看起来像这个例子。 是否有针对此方法的安全性或设计论据? 我考虑过让它们全局访问数据库,例如 该解决方案将取代所有简单的数据库模型。
2回复

保护对从移动设备访问的数据库的访问

我想编写一个移动应用程序来访问当前在我们的LAN上保存并由网络上的应用程序访问的数据库。 我知道我可以在防火墙中打开一个端口,将流量从移动设备重定向到数据库,但我担心安全性。 在允许从本地网络应用程序访问的同时,我可以考虑以哪些方式提供对数据库的安全移动访问?
1回复

如何防止访问数据库中其他用户的数据

假设某个用户已登录到应用程序,并希望检索与其个人资料相关联的一些数据。 该应用程序使用其用户ID到后端进行REST调用,后者依次执行SQL查询(SELECT x FROM y WHERE user_id ='...')。 这里的问题是,如果我知道其他人的用户ID,则可以拦截REST调用并将