同义词
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/
,如需转载,请注明出处,否则将追究法律责任。