oracle – 我可以在不指定对象的情况下为角色授予权限吗?

我正在尝试创建一个角色来简化授予我经常给用户的一组权限.我想知道是否有任何方法只在其架构拥有的对象上授予这些权限,而不知道架构名称将提前是什么?

例如,我想将角色student_access分配给用户JOE和MARY,而不必指定他们具有这些权限的表或过程.它们应具有角色授予其架构所拥有的所有对象的所有权限.

谢谢.

最佳答案
与对象类型(CREATE TABLE,VIEW,…)相关的系统特权可以分为两组:

>那些缺少关键字ANY的人只对用户自己的架构有效.
>具有关键字ANY(DROP ANY TABLE,EXECUTE ANY PROCEDURE,…)的那些对所有模式都有效.因此,您应该将ANY权限限制为管理用户.

如果将角色类型权限(不带ANY)(如CREATE TABLE)授予角色,则此角色的所有用户都可以在自己的架构上声明此权限.因此,您可以将这些权限授予角色,并且用户在授予角色时将继承此类权限(在其自己的架构上).

转载注明原文:oracle – 我可以在不指定对象的情况下为角色授予权限吗? - 代码日志