设计考虑:一个数据库用户连接vs.多数据库用户连接

时间:2014-02-08 20:16:53

标签: mysql database oracle jdbc application-design

我曾经使用每个Web应用程序使用一个数据库用户来连接数据库。

现在对于enterprice应用程序,似乎多数据库用户连接比一个用户更安全。

例如:hr dep。在连接和dev dep中使用hr db用户帐户。使用另一个。

什么是最佳选择?

2 个答案:

答案 0 :(得分:2)

每个用户可以拥有一个数据库用户帐户,例如“Frank”和“Jane”。

您也可以设置角色,例如“HR”或“CSR”,并将您的用户分配给角色。你不能在MySQL中这样做,但你可以在MariaDB中,虽然你似乎也有Oracle;)

您还将拥有Web服务器的用户帐户,该用户帐户的唯一权利是CONNECT并调用SET ROLE。您实际上是将身份验证委派给Web服务器。 Web服务器可能会对数据库中的用户进行身份验证,也可能使用OAUTH。

以Web服务器用户身份连接,然后将SET ROLE调用为登录用户的名称。如果您小心重置连接中的所有内容,则仍可以使用池。

然后,用户只能做你允许他们担任角色的事情。

这对于审计也很有用,因为您可以将CURRENT_USER放在审计表中。

答案 1 :(得分:1)

如果我正确理解您的问题,通常最好设置各种帐户,以便您可以按照所需的粒度定义各种表的访问权限。
例如,属于人力资源部门的数据理想情况下应由人力资源部门的员工访问,同时可能由高级管理人员查看。同样,客户服务人员应该访问有关客户的数据

相关问题