我曾经使用每个Web应用程序使用一个数据库用户来连接数据库。
现在对于enterprice应用程序,似乎多数据库用户连接比一个用户更安全。
例如:hr dep。在连接和dev dep中使用hr db用户帐户。使用另一个。
什么是最佳选择?
答案 0 :(得分:2)
每个用户可以拥有一个数据库用户帐户,例如“Frank”和“Jane”。
您也可以设置角色,例如“HR”或“CSR”,并将您的用户分配给角色。你不能在MySQL中这样做,但你可以在MariaDB中,虽然你似乎也有Oracle;)
您还将拥有Web服务器的用户帐户,该用户帐户的唯一权利是CONNECT并调用SET ROLE。您实际上是将身份验证委派给Web服务器。 Web服务器可能会对数据库中的用户进行身份验证,也可能使用OAUTH。
以Web服务器用户身份连接,然后将SET ROLE调用为登录用户的名称。如果您小心重置连接中的所有内容,则仍可以使用池。
然后,用户只能做你允许他们担任角色的事情。
这对于审计也很有用,因为您可以将CURRENT_USER放在审计表中。
答案 1 :(得分:1)
如果我正确理解您的问题,通常最好设置各种帐户,以便您可以按照所需的粒度定义各种表的访问权限。
例如,属于人力资源部门的数据理想情况下应由人力资源部门的员工访问,同时可能由高级管理人员查看。同样,客户服务人员应该访问有关客户的数据