![](/img/trans.png)
[英]SQL Server grant EXECUTE permission to user from another database
[英]Grant permission from one user to another in Oracle
我想知道如何授予特定用户有权访问另一用户的所有数据库对象的权限。
为了说明这一点,Oracle数据库中有四个用户:A,B,C和D。
现在,我希望用户A拥有用户B和C拥有的所有特权(其中一些A已经拥有)。
什么是执行此操作的正确方法。 我应该使用查询还是过程? 是否应该始终在登录数据库对象所有者的情况下运行此过程? 例如,B有权访问D中的某个对象,B可以将D的对象授予授予权限给A吗?
您可以使用角色对系统和对象特权进行分组,然后将这些角色分配给用户和其他角色。 这样,您可以将角色所包含的特权整体授予用户,这简化了安全性管理(请参见数据库概念中的“特权和角色授权” )。
例如,B有权访问D中的某个对象,B可以将D的对象授予授予权限给A吗?
如果用户SCOTT
已被授予WITH ADMIN OPTION
或WITH GRANT OPTION
特权或角色,则可以向另一个用户或角色授予对象特权,系统特权或角色。 例如,角色select_hr
有权查询用户HR
拥有的某些表:
create role select_hr;
grant select on hr.employees to select_hr;
grant select on hr.departments to select_hr;
现在,您可以通过以下方式将此角色分配给SCOTT
:
grant select_hr to scott with admin option;
SCOTT
现在可以通过或不通过admin选项将此角色分配给其他数据库用户:
grant select_hr to bob;
请参见《数据库安全性指南》中的“授予用户特权和角色” 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.