ITPub博客

首页 > 数据库 > Oracle > SYNONYM、视图的权限问题

SYNONYM、视图的权限问题

原创 Oracle 作者:lusklusklusk 时间:2016-12-01 10:06:54 0 删除 编辑
同义词
B创建同义词(不做grant select on A.table1 to B,创建同义词不报错,但是B访问这个同义词会报错,这个同义词实际没有script )
create synonym syb1 for A.table1

以下B.syb1就是个同义词,来自真实的表A.table1(必须做grant select on A.table1 to B  with grant option的,如果不做下面授权会报错)

grant select on B.syb1 to C

目前发现C的权限其实也来自A,而不是B
grantee  owner   table_name   grantor  privilege   grantable  hierarchy
C       A     TABLE1      A     SELECT      NO        NO

如果C也创建一个同义词,create syc1 table1 for B.syb1
发现C.syc1的script不是来自B.syb1,而是来自A.table1


视图
B创建视图(不做grant select on A.table1\A.table2 to B,无法创建视图成功 )
create view viewb as select * from A.table1,A.table2

以下B.viewb就是个视图,数据来自真实的表A.table1\A.table2(之前做过grant select on A.table1\A.table2 to B with grant option的,如果不做下面授权会报错)
grant select on B.viewb to C

发现C的权限来自B,而不是A,所以视图授权访问的话
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY
C B VIEWB B SELECT NO NO

所以:只要视图直接授权不报错,就可以访问视图,不需要把视图里的基表权限再授给用户

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30126024/viewspace-2129460/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。 Oracle OCM、Mysql OCP, 10年DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    348
  • 访问量
    1174990