0

我创建了一个新的数据库用户。我发现该帐户可以选择其他模式表的数据。那么如何限制新帐户仅操作其拥有的表呢?

4

1 回答 1

1

你不能。您可以REVOKE在某些情况下使用,但要记住关于 REVOKE 的最重要的事情是它只能撤销显式GRANT编辑的权限。每个数据库都具有不绑定到任何特定模式并授予 PUBLIC 的 GLOBAL 权限。只要这些权限(权限)有效,所有 ROLES 都会继承这些权限。

您可以撤销某些PRIVILEGES诸如SELECT, DELETE, INSERT等,但您必须在每个模式的对象级别上执行此操作。这意味着,如果将新表添加到这些模式中的任何一个,则默认情况下用户将有权访问它,除非该PRIVILEGES用户的新表上的REVOKED.

根据 Oracle 文档,以下是 REVOKE 的先决条件-

先决条件

  1. 要撤消系统特权,您必须已通过 ADMIN OPTION 授予该特权。

  2. 要撤消角色,您必须已被授予具有 ADMIN OPTION 的角色。如果您具有 GRANT ANY ROLE 系统权限,则可以撤销任何角色。

  3. 要撤销对象特权,您必须事先已将对象特权授予用户和角色,或者您必须具有 GRANT ANY OBJECT PRIVILEGE 系统特权。在后一种情况下,您可以撤销由对象所有者或代表所有者授予的任何对象特权——即,由具有 GRANT ANY OBJECT PRIVILEGE 的用户授予。但是,您不能撤销通过 WITH GRANT OPTION 授予方式授予的对象权限。

于 2012-07-31T23:25:50.670 回答