我正在Windows 2003上配置一个10g Express数据库,它将作为公共web服务器的后端。有许多其他事情要做,以加强数据库,但一个好的地方开始是用户特权。我知道用户需要连接和创建会话特权。所有的表格、程序和包都归他们所有。
在自己的模式上,基本CRUD操作是否需要其他特权?
发布于 2012-02-12 23:12:48
不需要授予CONNECT
角色。在10.2中,甲骨文最终使用了将分配给该角色的一组特权降为CREATE SESSION
,但在以前的版本中,该角色拥有比名称所暗示的更多的特权。
更安全的做法是创建一个用户--一个拥有表、过程等,但没有CREATE SESSION
特权的用户,以及一个对应用程序可用于连接数据库的各种对象拥有适当权限的用户。这样可以防止应用程序用户删除表或从日志记录表中删除数据。
此外,表的所有者将需要在用户的表将要创建的任何表空间或表空间上被授予配额。您可以授予所有者UNLIMITED TABLESPACE
特权,但是在他们实际需要使用的表空间上授予他们更小的配额更安全。
https://dba.stackexchange.com/questions/12728
复制相似问题