用户所需的最低权限

kev*_*kio 5 oracle best-practices permissions

我正在 Windows 2003 上配置一个 10g Express 数据库,它将成为公共 Web 服务器的后端。还有很多其他事情要做来强化数据库,但一个好的起点是用户权限。我知道用户需要连接和创建会话权限。所有的表、程序和包都归他们所有。

在他们自己的模式上进行基本 CRUD 操作是否需要任何其他权限?

Jus*_*ave 5

无需授予该CONNECT角色。在 10.2 中,Oracle 最终将分配给该角色的权限集缩减为仅CREATE SESSION在以前的版本中,该角色拥有的权限比名称所暗示的要多得多。

创建一个用户会更安全——一个拥有表、过程等但没有CREATE SESSION特权,另一个对应用程序可用于连接到数据库的各种对象具有适当的特权。这允许您执行一些操作,例如阻止应用程序用户删除表或从日志记录表中删除数据。

此外,表的所有者将需要被授予对将要在其中创建用户表的任何一个或多个表空间的配额。您可以授予所有者UNLIMITED TABLESPACE特权,但在任何情况下授予他们较小的配额更安全他们实际需要使用的表空间。